java_web课件3.pptVIP

  • 3
  • 0
  • 约1.66万字
  • 约 51页
  • 2018-03-28 发布于河南
  • 举报
java_web课件3

目标 使用ServletContext 掌握转发和包含 掌握重定向 掌握会话跟踪技术 ServletContext和Web应用关系 当Servlet容器启动Web应用时,并为每个Web应用创建惟一的ServletContext对象。当Servlet终止一个Web应用时,就会销毁它的ServletContext对象。你可以把ServletContext看成是一个Web应用的服务器端组件的共享内存。 在ServletContext中可以存放共享数据,它提供了读取或设置共享数据的方法: setAttribute(String name,Object object)把一个对象和一个属性名绑定,将这个对象存储在ServletContext中。 getAttribute(String name)根据给定的属性名返回所绑定的对象 统计客户端访问次数 package lesson3; public class Counter{ private int count; //计数值 public Counter(){ this(0); } public Counter(int count){ this.count=count; } public void setCount(int count){ this.count=count; } public int getCount(){ return count; } public void add(int step){ count+=step; } } package lesson3; import java.io.IOException; import java.io.PrintWriter; 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 CounterServlet extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException { //获得ServletContext的引用 ServletContext context = getServletContext(); //从ServletContext中读取counter属性 Counter counter = (Counter)context.getAttribute(counter); //如果ServletContext中没有counter属性,就创建counter属性 if ( counter == null ) { counter = new Counter(1); context.setAttribute(counter, counter); } response.setContentType(text/html;charset=GB2312); PrintWriter out = response.getWriter(); out.println(htmlheadtitleCounterServlet/TITLE/head); out.println(body); //输出当前的counter属性 out.println(h1欢迎光临本站。您是第 + counter.getCount()+ 位访问者。/h1); out.println(/body/html); counter.add(1); //将计数器递增1 out.close(); } } Web.xml增加内容: servlet servlet-namecounter/servlet-name servlet-classlesson3.CounterServlet/servlet-class /servlet servlet-mapping servlet-namecounter/servlet-name url-pattern/counter/url-pattern /servlet-mapping 测试结果 ServletContextListener接口 ServletContextListener 接口能够监听ServletContex

文档评论(0)

1亿VIP精品文档

相关文档