JavaaWeb中对request,session,application的理解()

  本篇文章为你整理了JavaaWeb中对request,session,application的理解()的详细内容,包含有 JavaaWeb中对request,session,application的理解,希望能帮助你了解 JavaaWeb中对request,session,application的理解。

  无论是request,session,application必须先调用setAttribute得到保存作用域中保存数据

  request:一次请求响应范围

  

@WebServlet("/demo01")

 

  public class Demo01Servlet extends HttpServlet {

   @Override

   protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   request.setAttribute("uname","request保存作用域");

   request.getRequestDispatcher("demo02").forward(request,response);

  }

 

  
@Override

   protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   Object unameObj = request.getAttribute("uname");

   System.out.println("unameObj = " + unameObj);

  }

 

 

  使用request保存作用域必须每次先调用demo01获取数据才能在demo02中获取到demo01中保存的数据(从demo01请求转发/地址重定向到demo02)

  session:一次会话范围有效

  

@WebServlet("/demo03")

 

  public class Demo03Servlet extends HttpServlet {

   @Override

   protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   HttpSession session = request.getSession();

   session.setAttribute("uname","session保存作用域");

   response.sendRedirect("demo04");

  }

 

  
@Override

   protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   HttpSession session = request.getSession();

   Object unameObj = session.getAttribute("uname");

   System.out.println("unameObj = " + unameObj);

  }

 

 

  一次会话可以简单理解为一个(谷歌)浏览器,只要在某一(谷歌)浏览器保存了作用域的信息,无论demo03通过地址重定向/请求转发还是手动输入demo04地址跳转都能获取demo03的保存作用域的信息。期间如果更换了(Edge)浏览器或者将此(谷歌)浏览器关闭了再打开即本来的sessionID丢失生成新的sessionID,这种情况下就需要重写访问demo03获取作用域的信息才能在demo04中获取信息

  application: 一次应用程序范围有效

  

@WebServlet("/demo05")

 

  public class Demo05Servlet extends HttpServlet {

   @Override

   protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   //1.向application保存作用域保存数据

   //ServletContext : Servlet上下文

   ServletContext application = request.getServletContext();

   application.setAttribute("uname","session保存作用域");

   response.sendRedirect("demo06");

  }

 

  
@Override

   protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   ServletContext application = request.getServletContext();

   Object unameObj = application.getAttribute("uname");

   System.out.println("unameObj = " + unameObj);

  }

 

 

  一次应用程序可以理解为一个服务器Tomcat,只要某一(谷歌)浏览器通过demo05生成了了作用域信息即使更换(Edge)浏览器或者重启此(谷歌)浏览器访问demo06都能得到demo05保存的作用域信息

  以上就是JavaaWeb中对request,session,application的理解()的详细内容,想要了解更多 JavaaWeb中对request,session,application的理解的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: