域对象——ServletContext及应用

来源:互联网 发布:蝴蝶标本价格淘宝 编辑:程序博客网 时间:2024/05/21 06:00

多个Servlet依靠ServletContext共享数据。

获取ServletContext的方式有:

1.ServletConfig中的getServletContext();

2.GenericServlet中的getServletContext();

。。。

案例:获取访问网站的次数

public class AServlet extends HttpServlet {/** * 统计网站的访问量: * 1.获取ServletContext对象 * 2.获取其属性count * 3.如果count不存在,保存count值为1 * 4.如果已经存在,将count+1保存 */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ServletContext app=this.getServletContext();Integer count=(Integer)app.getAttribute("count");if(count==null){app.setAttribute("count", 1);}else{app.setAttribute("count", count+1);}//向网页输出访问量PrintWriter out=response.getWriter();out.print("<h1>"+count+"</h1>");}}

还可以用于获取资源:

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获取真实路径String path=this.getServletContext().getRealPath("/index.jsp");System.out.println(path);//获取资源流InputStream path2=this.getServletContext().getResourceAsStream("/index.jsp");System.out.println(path2);//获取指定目录下的所有资源路径Set <String> path3=this.getServletContext().getResourcePaths("/WEB-INF");System.out.println(path3);}


0 0