美文网首页
四大域对象:

四大域对象:

作者: 小牛长成记 | 来源:发表于2018-10-08 21:47 被阅读0次

request:只对用户的一次请求有效。
session:对一次会话有效,会话的生命周期不结束,会话就不结束,属于某一个浏览器,浏览器关闭则Session消失,或者手动进行invalidate销毁Session。
servletContext:对当前应用有效。(应用:网站计数器,访问量)
pageContext:

它们的特点都是在维护一个Map集合

重写init,destory方法:
init方法的特点是当第一个用户访问服务器时首先先调用init方法,利用它的这个特点,我们先通过数据库调用上一次服务器重启,宕机时存入的访问量的数值。

@Override
public void init() throws ServletException {
    //调用service
    VisitedService visitedService = new VisitedService();
    //获取访问量
    int visited = visitedService.findVisited();
    //获取servletContext 对象
    ServletContext servletContext = this.getServletContext();
    //将获取的visited访问量封装到servletContext对象中
    servletContext.setAttribute("visited", visited);
}

这时在登陆成功的代码板块中我们对访问量进行调整,如果服务器第一次被访问,那么访问量为1,如果不是第一次访问visited++;

        /*
         * 网站计数器,直接调用getServletContext();方法即可得到ServletContext对象
         */
        ServletContext servletContext = this.getServletContext();
        if(servletContext.getAttribute("visited") == null){
            servletContext.setAttribute("visited", 1);
        }else{
            int visited = (int)servletContext.getAttribute("visited");
            visited++;
            servletContext.setAttribute("visited", visited);
        }

Destory()方法的特点是:当服务器重启,死机时,调用Destory()方法,所以我们需要将访问量存储到数据库中,调用destory()方法:

@Override
public void destroy() {
    //获取servletContext 对象
    ServletContext servletContext = this.getServletContext();   
    int visited = (int)servletContext.getAttribute("visited");
    //调用service
    VisitedService visitedService = new VisitedService();
    //存储访问量
    visitedService.updateVisited(visited);  
}

相关文章

  • Servlet常用的对象

    四大对象 ServletConfig的API: ServletContext对象的核心API 对象创建和得到 域对...

  • 26.九大内置对象

    JSP的内置对象 JSP的四大作用域: 作用域对象就只能在自己的作用范围之内共享数据. SP中隐式对象的名称 作用...

  • NO.4 JSP中的9个内置对象

    指在JSP的<%=%> 和<% %>中可以直接使用的对象 四大域对象:实际开发 PageContext : pag...

  • 四大域对象:

    request:只对用户的一次请求有效。session:对一次会话有效,会话的生命周期不结束,会话就不结束,属于某...

  • 四大域对象

    pageContext(page域): 生命周期:只在当前页面中有效,只在当前页面中有效的对象可以用 reques...

  • JSP四大域对象

    四大域对象: page request session application 1.page:page是指当前页面...

  • JavaWeb四大域对象

    JavaWeb有ServletContext、ServletRequest、HttpSession、PageCon...

  • javaWeb四大域对象

    JavaWeb的四大作用域为:PageContext,ServletRequest,HttpSession,Ser...

  • [java][JSP]:九大内置对象及四个域对象的总结

    九大内置对象 指在JSP的<%=%> 和<% %>中可以直接使用的对象:没有特别说明可以开关的默认是开启的 四大域...

  • 三、EL表达式和JSTL

    EL表达式和JSTL标签 在JavaWeb中,JSP技术提供9大内置对象,其中4个对象(四大作用域)用于存储数据,...

网友评论

      本文标题:四大域对象:

      本文链接:https://www.haomeiwen.com/subject/dfcsaftx.html