JSP 9个内置对象

内置对象

PageContext (存数据,页面上下文,只在一个页面内有效)
Request (存数据,只在一个请求内有效,请求转发会携带数据)
Response
Session (存数据,在一个会话内有效,从打开浏览器到关闭浏览器)
Application (存数据,在一个服务器启动期间都有效)
config (配置)
out( 输出)
page (很少用)
exception(异常)

作用范围

在一个页面存取数据

<body>

<%
    //在一个页面内有效
pageContext.setAttribute("name1","张三1");
    //在请求转发内有效
request.setAttribute("name2","张三2");
    //在一个会话内有效(浏览器内)
session.setAttribute("name3","张三3");
    //在服务器内有效
application.setAttribute("name4","张三4");

%>


<%
    String name1 = (String) pageContext.getAttribute("name1");
    String name2 = (String) pageContext.getAttribute("name2");
    String name3 = (String) pageContext.getAttribute("name3");
    String name4 = (String) pageContext.getAttribute("name4");
    String name5 = (String) pageContext.getAttribute("name5");

%>

${name1}<hr>
${name2}<hr>
${name3}<hr>
${name4}<hr>
${name5}

</body>

JSP 9个内置对象
在另一个页面取数据

<body>

<%
    //范围自底向上查找,最上层查找不到即为null(类似jvm双亲委派机制)
    
    String name1 = (String) pageContext.getAttribute("name1");
    String name2 = (String) pageContext.getAttribute("name2");
    String name3 = (String) pageContext.getAttribute("name3");
    String name4 = (String) pageContext.getAttribute("name4");
    String name5 = (String) pageContext.getAttribute("name5");


%>

${name1}<hr>
${name2}<hr>
${name3}<hr>
${name4}<hr>
${name5}

</body>

JSP 9个内置对象
转发到另一个页面

<%
    //在一个页面内有效
pageContext.setAttribute("name1","张三1");
    //在请求转发内有效
request.setAttribute("name2","张三2");
    //在一个会话内有效(浏览器内)
session.setAttribute("name3","张三3");
    //在服务器内有效
application.setAttribute("name4","张三4");

%>

<%
//请求转发,前端写法
pageContext.forward("/res.jsp");

//后端写法
//request.getRequestDispatcher("/res.jsp").forward(request,response);
%>

JSP 9个内置对象

上一篇:stream使用


下一篇:高阶函数