Servlet和JSP中的域对象

总结:

  • Servlet有三大域对象,request,session和ServletContext
  • JSP中有四大域对象,pageContext,request,session和application
  1. Servlet三大域对象:
@WebServlet("/ServletA")
public class ServletA extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        Servlet有三大域对象,request session和ServletContext
//        jsp中有四大域对象,pageContext request session application

        //request域对象,使用范围限于转发之间的页面
        request.setAttribute("route","上单");
        //session域对象,范围是一次会话,浏览器或服务器不关闭称为一次会话,该工程下的任何jsp页面都可以取到
        HttpSession session = request.getSession();
        session.setAttribute("route","打野");
        //servletContext域对象,范围最大,只要服务器不关,那么存的值一直有效
        ServletContext servletContext = request.getServletContext();
        servletContext.setAttribute("route","中路");
    }

  1. 其中JSP域对象相比Servlet,多了一个最小的域对象pageContext,JSP四大域对象如下:
<%
    //最小的域对象,仅限于当前页面
    pageContext.setAttribute("name","李白");
    //request域对象,使用范围限于转发之间的页面
    request.setAttribute("name","韩信");
    //session域对象,范围是一次会话,浏览器或服务器不关闭称为一次会话,该工程下的任何jsp页面都可以取到
    session.setAttribute("name","孙尚香");
    //application域对象,范围最大,只要服务器不关,那么存的值一直有效
    application.setAttribute("name","马可波罗");
%>

取域对象的值都用xxx.getAttribute(“键”)
例如<%=session.getAttribute("route")%>

猜你喜欢

转载自blog.csdn.net/MrYushiwen/article/details/107593143
今日推荐