首页IT科技java垃圾回收(JavaaWeb中对request,session,application的理解)

java垃圾回收(JavaaWeb中对request,session,application的理解)

时间2025-07-10 18:09:46分类IT科技浏览4121
导读:注意!...

注意!

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

request:一次请求响应范围

@WebServlet("/demo02") public class Demo02Servlet extends HttpServlet { @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"); } }
@WebServlet("/demo04") public class Demo04Servlet extends HttpServlet { @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"); } }
@WebServlet("/demo06") public class Demo06Servlet extends HttpServlet { @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保存的作用域信息

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
手机怎么测wifi速度(手机测wifi网速的方法是什么呢?) vueinput双向绑定(vue解决Not allowed to load local resource)