关闭

域对象——ServletContext及应用

175人阅读 评论(0) 收藏 举报
分类:

多个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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:87309次
    • 积分:3212
    • 等级:
    • 排名:第10621名
    • 原创:237篇
    • 转载:31篇
    • 译文:0篇
    • 评论:3条
    最新评论