JSP9大内置对象

内置对象 

  1. pageContext:存东西(setAttribute),保存的数据只在当前页面中有效
  2. request:存东西(setAttribute),保存的数据只在一次请求中有效,请求转发也会携带(请求一次,请求不变)
  3. session:存东西(setAttribute),保存的数据在一次会话中有效,从打开浏览器到关闭浏览器(其实并不严格,同一个用户的sessionID对应的cookie没被删除,那么服务器中对应的session就一直是一个)
  4. application:存东西(setAttribute),等价于servletContext,保存的数据在服务器启动过程中有效,从服务器打开到关闭,数据对该服务器中所有应用可见
  5. response:响应
  6. config:配置,等价于ServletConfig
  7. out:输出
  8. page:页面,基本没人用
  9. exception:异常
  • 四种存储数据的内置对象,作用域pageContext<request<session<application
    • 其中request>page的原因是,请求转发之后,数据可以被待到其他页面

举例:

1. demo01:在同一个页面(pageContextDemo01.jsp)存/取,都能取出来

  • pageContextDemo01.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

<%--存数据--%>
<%
    pageContext.setAttribute("name1", "于晶1");
    request.setAttribute("name2", "于晶2");
    session.setAttribute("name3", "于晶3");
    application.setAttribute("name4", "于晶4");
%>

<%--使用pageContext寻找数据--%>
<%
    String name1 = (String) pageContext.findAttribute("name1");
    String name2 = (String) pageContext.findAttribute("name2");
    String name3 = (String) pageContext.findAttribute("name3");
    String name4 = (String) pageContext.findAttribute("name4");
    String name5 = (String) pageContext.findAttribute("name5");

%>

<%--使用EL表达式输出--%>
<h1>取出的值为:</h1>
<h2>${name1}</h2>
<h2>${name2}</h2>
<h2>${name3}</h2>
<h2>${name4}</h2>
<h2>${name5}</h2>

</body>
</html>

 

2. demo02:在页面1(pageContextDemo01.jsp)存,在页面2(pageContextDemo02.jsp)取,只有session和application中的能够取出来

  • pageContextDemo02.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>


<%--使用pageContext寻找数据--%>
<%
    String name1 = (String) pageContext.findAttribute("name1");
    String name2 = (String) pageContext.findAttribute("name2");
    String name3 = (String) pageContext.findAttribute("name3");
    String name4 = (String) pageContext.findAttribute("name4");
    String name5 = (String) pageContext.findAttribute("name5");

%>

<%--使用EL表达式输出--%>
<h1>取出的值为:</h1>
<h2>${name1}</h2>
<h2>${name2}</h2>
<h2>${name3}</h2>
<h2>${name4}</h2>
<h2>${name5}</h2>

</body>
</html>

 

3. demo03:请求页面1,页面1又自动将请求转发到页面2,request、session和application中的数据都能取出来

  • pageContextDemo01.jsp  (pageContext.forward("/pageContextDemo02.jsp");)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值