ServletConfig
获取web.xml中为每一个servlet单独配置的数据。
将数据放在web.xml中,能够提高我们程序的灵活性。
在web.xml中添加参数
<servlet>
<servlet-name>my</servlet-name>
<servlet-class>com.servlet.myservlet</servlet-class>
<init-param>
<param-name>user</param-name>
<param-value>shuai</param-value>
</init-param>
</servlet>
获取config对象
ServletConfig sc = this.getServletConfig();
获取web.xml中的配置数据
String code = sc.getInitParameter("user")
ServletContex
当Tomcat启动的时候,就会创建一个ServletContext对象。它代表着当前web站点。
能够解决不同用户之间的数据共享问题。
实现Servlet之间的通讯
获取servletContex
方法一共有三种:
ServletContext sc = this.getServletContext();
ServletContext sc = this.getServletConfig().getServletContext();
ServletContext sc = req.getSession().getServletContext();
数据存储
sc.setAttribute(name, value);
获取数据
sc.getAttribute(name);
获取项目web.xml中的全局配置数据
在web.xml中存全局配置
<context-param>
<param-name>user</param-name>
<param-value>shuai</param-value>
</context-param>
使用Contex获取
//获取web.xml中的全局配置
String str = sc.getInitParameter("name");
//返回所有键名
Enumeration<String> strs = sc.getInitParameterNames();
获取项目根目录下的绝对路径
String path = sc.getRealPath("/doc/1.txt");
获取项目中的资源流对象
在根目录下
InputStream is = sc.getResourceAsStream("/doc/1.txt");
在src目录下
InputStream is = sc.getResourceAsStream("1.png");
在WEB-INF目录下
InputStream is = sc.getResourceAsStream("1.png");