标签:资源文件 初始化 输入流 ssas 访问 vax 容器 创建 request
ServletContext对象 (域对象)
定义:WEB容器在启动时,它会为每个WEB运用程序都创建一个对应的ServletContext对象,它代表当前WEB运用。
一个WEB运用对应一个ServletContext对象
一个WEB运用下有多个Servlet程序
所有的Servlet程序都共享同一个ServletContext对象
作用
1、获取WEB运用的全局初始化参数 案例和ServletConfig类似
String getInitParameter(String name)
Enumeration getInitParameters()
配置全局初始化参数 在<Servlet>外面
<Context-param>
<param-name>assasasa</param-name>
<param-value>fdsfdsfsd<param-value>
</Context-param>
2、实现数据共享
void setAttribute(String name,Object object) 存入数据
void removeAttribute(String name) 删除数据
3、读取资源文件
InputStream getResourceAsStream(String path) 通过文件地址获取输入流
String getRealPath(String path) 通过文件地址获取文件的绝对磁盘路径
统计网站访问量
package cn.idcast.Servlet;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletCount extends HttpServlet {
/**
* 实例被创建,调用init进行初始化 在域对象存入一个变量,初始化为0
*/
public void init() throws ServletException {
getServletContext().setAttribute("count", 0);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**
* 每一次访问,都会执行该方法 获得count的变量,每次访问count都会自增,再存入到域对象中
*/
ServletContext sc = getServletContext();
// 因为count 是数字,所以用integer
Integer count = (Integer) sc.getAttribute("count");
// ++i是先处理完加法,再做其它运算, i++是处理完相关运算(执行完一条语句后)后自加
sc.setAttribute("count", ++count);
// 向页面输出内容
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("<h3>下次再来</h3>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
package cn.idcast.Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletShow extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Integer count = (Integer) getServletContext().getAttribute("count");
// 向页面输出内容
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("<h3>一共访问了" + count + "次</h3>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
标签:资源文件 初始化 输入流 ssas 访问 vax 容器 创建 request
原文地址:http://www.cnblogs.com/zengjiao/p/7341352.html