/*
*一个项目中所有的资源被访问都要对访问量进行累加
*创建一个int类型的变量 用来保存访问量 然后把它保存到ServletContext的域中 这样可以保证所有Servlet都可以访问到
* 最初时 ServletContext中没有保存访问量相关的属性
* 当本站第一次被访问时 创建一个变量 设置其值为1 保存到ServletContext中
* 当以后的访问时就可以从ServletContext中获取这个变量 然后在其基础上加1
*
*获取ServletContext对象 查看是否存在名为count的属性 如果存在 说明不是第一次访问 如果不存在 说明是第一次访问
*第一次访问 调用 ServletContext的setAttribute传递一个属性 名为count 值为1
*第2~N次访问 调用ServletContext的getAttribute()方法获取 原来的访问量 给访问量加1 再调用ServletContext()的setAttribute()设置值
*ServletContext application = this.getServletContext(); 获取ServletContext
*Integer count = (Integer)application.getAttribute("count"); 获取ServletContext中的count属性
*if(count == null) 如果在ServletContext中不存在count属性 那么设置count值为1表示第一次访问
*{
* count = 1;
*}else{
* count++;
*}
*response.setContentType("text/html;charset=utf-8");
*response.getWriter().print("<h1>一共被访问了"+count+"次</h1>");
*application.setAttribute("count",count);
*
*获取类路径资源 类路径对一个JavaWeb项目而言 就是/WEB-INFO/classes 和/WEB-INF/lib/每个jar包
*Class
*ClassLoader
*/
ServletContext app = this.getServletContext();
Integer count = (Integer) app.getAttribute("count");
if(count == null)
{
app.setAttribute("count", 1);
}
else {
app.setAttribute("count", count+1);
}
PrintWriter pw = response.getWriter();
pw.print(count);
/**
* 获取类路径下的资源
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Class c = this.getClass();
InputStream input = c.getResourceAsStream("../a.txt");
InputStream input = c.getResourceAsStream("/a.txt");
String s = IOUtils.toString(input);
System.out.println(s);
}