数据共享: 请求转发:request.getDispatcher("相对路径").forward(request,response) 重定向:response.sendRedirect("/项目名/路径名"); request:一次请求的范围 ,过了这次请求所有数据失效 request.setAttribute(name,value) request.getAttribute(name) 请求转发时:session、getParameter都有值 重定向时:session、getParameter都无值 session:会话范围 :当前浏览器范围,只要不关闭浏览器 数据一直存在 request.getsession().setAttribute(name,value) request.getsession().getAttribute(name) 请求转发时:session、getParameter都有值 重定向时:session有值、getParameter无值 servletContext:整个应用范围:服务器范围,只要服务器不关闭,数据一致存在 request.getsession().getServletContext().setAttribute(name,value) request.getsession().getServletContext().getAttribute(name) 请求转发时:session、getParameter都有值 重定向时:session有值、getParameter无值 原则:能在request 就不要 放session 能在session 就不要在servletContext 原因:服务器可能一跑跑几年,浏览器页面也可能玩一天才关闭,只有请求是一次性的 注意:1、request.getAtribute()与request.getParameter()获得的值是不同的 request.getAtribute(name)获得是request.setAttribute(name,value)里的值,值可以任意改写 request.getParameter()是获得页面的值2、session范围:赋值粘贴传值后的打开的新窗口,而不是打开新的浏览器
时间: 2024-10-09 01:09:12