本文主要是介绍JavaWeb ——servlet学习3之ServletContext,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
JavaWeb ——servlet学习3之ServletContext
每个web工程都只有一个ServletContext对象。 说白了也就是不管在哪个servlet里面,获取到的这个类的对象都是同一个。
作用:
-
获取全局配置参数
-
获取web工程中的资源
-
存取数据,servlet间共享数据 域对象
获取全局配置参数:
<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>// 获取对象
ServletContext context = getServletConcontext();
String address = context.getInitParameter("address");
获取web工程中的资源
读取 config.properties
属性文件:
// 1. 创建属性对象
Properties properties = new Properties();
// 2.获取资源文件流,并将其转化为属性对象
InputStream is = this.getClass().getClassLoader().getResourceAsStream("../../file/config.properties");
properties.load(is);// 3. 获取name属性的值
String name = properties.getProperty("name");
System.out.println("name333333=" + name);
is.close();
对于获取地址,还是推荐通过绝对地址进行文件的查询
// 获取资源在tomcat里面的绝对路径
String path = context.getRealPath("file/config.properties"); //这里得到的是项目在tomcat里面的根目录。
对于相对地址,我们可以用 getResourceAsStream 获取资源 流对象
InputStream is = context.getResourceAsStream("file/config.properties")
存取数据,servlet间共享数据 域对象
eg:登录成功之后,可以保存用户的登录信息,不同servlet之间可以互相通信。
// 在等录的servlet中处理成功信息,并设置属性
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 在HttpServlet的doGet中处理登录getServletContext().serAttribute("successCount", count);// 进行重定向resp.setStatus(302); // 设置状态resp.setHeader("location","login_success.html");
}// 将字段共享给其他servlet
Object obj = getServletContext().getAttribute("count");
这篇关于JavaWeb ——servlet学习3之ServletContext的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!