Service的生命周期
1.初始化调用init方法 只会执行一次 自动执行 2.执行 调用service方法,调用几次执行几次 需要手动调用 3.消亡调用destory方法 只会执行一次 自动执行 没啥用,一般是项目停止自动执行
转发跳转
req.getRequestDispatcher("index.html").forward(req,resp);
request作用域
重点掌握:作用域一次请求有效。超过一次请求就失效
如何存储数据 注意key要保证唯一,否则会被覆盖
req.setAttribute("key","aa");
req.setAttribute("username","张三");
req.getRequestDispatcher("ZServlet").forward(req,resp);
resp.sendRedirect("ZServlet");
session作用域
重点掌握:作用域一次会话有效。浏览器关闭就失效
如何存储数据 注意key要保证唯一,否则会被覆盖
1.获取session对象
HttpSession session = req.getSession();
2.存值
session.setAttribute("username","李四");
简写req.getSession().setAttribute("aa,","xx");
req.getRequestDispatcher("ZServlet").forward(req,resp);
resp.sendRedirect("ZServlet");application作用域
application作用域
了解即可:作用域全局有效。只想项目不关,就一直生效,例如网站访问量
如何存储数据 注意key要保证唯一,否则会被覆盖
1.获取application对象
ServletContext context = req.getServletContext();
2.存值
context.setAttribute("username","王五");
req.getRequestDispatcher("ZServlet").forward(req,resp);
resp.sendRedirect("ZServlet");
测试四大作用域的数据
String username =(String) req.getAttribute("username");
System.out.println(username);
Object o = req.getSession().getAttribute("username");
System.out.println(o);
Object o = req.getServletContext().getAttribute("username");
System.out.println(o);