servletContext域,容器的作用范围为应用程序范围,共用一个数据域,可以实现数据共享
在继承HttpServlet的类中,只需调用this.getServletContext();便可得到servletContext。
其setAttribute(java.lang.String name, java.lang.Object object)方法可以设置属性和对应的内容。
public java.lang.Object getAttribute(java.lang.String name)方法可以得到所设置的属性的内容。
同理public java.util.Enumeration getAttributeNames();方法可以获取所有属性的集合。
RequestDispatcher | getRequestDispatcher(java.lang.String path)可以得到转化器。 |
可以在web.xml中<web-app>中添加一个或多个标签。
<context-param>
<para-name>name</para-name>
<para-value>value</para-value>
</context-param>
然后调用getAttribute方法依然可以获取所存放的属性。
ServletContext可以读取数据
第一种方法:
java.io.InputStream | getResourceAsStream(java.lang.String path);需要输入相对路径 |
比如path="/WEB-INF/classes/......"; 若是资源在Eclipse中的WebRoot中path="/资源名称";
比如在读入db.properties文件时,有个固定模板
InputStream in=this.getServerletContext().getResourceAsStream(path);
Properties props=new Properties();
props.load(in);
String url=props.getProperty("url");
...
第二种方法:
java.lang.String | getRealPath(java.lang.String path) Returns a String containing the real path for a given virtual path. |