14 javaweb - jsp9大内置对象page request session application

8.5、jsp9大内置对象

  • PageContext 存东西
  • Request 存东西
  • Response
  • Session 存东西
  • Application 【SerlvetContext】 存东西
  • config 【SerlvetConfig】
  • out
  • page ,不用了解
  • exception

层级 page->request->session->application

request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的!

session:客户端向服务器发送请求,产生的数据,用户用完一会还有用,比如:购物车;

application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如:聊天数据;

demo

<%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 10:25 上午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>9大内置对象</title>
</head>
<body>

<%--存值--%>
<%
    pageContext.setAttribute("name1","长江1号");  //保存的数据只在一个页面中有效
    request.setAttribute("name2","长江2号");   //保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name3","长江3号");   //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","长江4号");  //保存的数据只在服务器中有效,从打开服务器到关闭服务器

%>
<%--取出--%>
<%
    out.println(pageContext.findAttribute("name1"));
    out.println(pageContext.findAttribute("name2"));
    out.println(pageContext.findAttribute("name3"));
    out.println(pageContext.findAttribute("name4"));
%>

</body>
</html>

跨页面取出

<%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 10:25 上午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>9大内置对象</title>
</head>
<body>

<%--跨页面取出--%>
<%
    out.println(pageContext.findAttribute("name1"));
    out.println(pageContext.findAttribute("name2"));
    out.println(pageContext.findAttribute("name3"));
    out.println(pageContext.findAttribute("name4"));
%>
---------------------------------------------------<br>
el表达式  
${pageContext.findAttribute("name1")}
${pageContext.findAttribute("name2")}
${pageContext.findAttribute("name3")}
${pageContext.findAttribute("name4")}

</body>
</html>

Request 请求转发访问取出

<%--
  Created by IntelliJ IDEA.
  User: xubainan
  Date: 2021/3/4
  Time: 10:25 上午
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>9大内置对象</title>
</head>
<body>

<%--存值--%>
<%
    pageContext.setAttribute("name1","长江1号");  //保存的数据只在一个页面中有效
    request.setAttribute("name2","长江2号");   //保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name3","长江3号");   //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","长江4号");  //保存的数据只在服务器中有效,从打开服务器到关闭服务器

%>
//请求转发
<%
    pageContext.forward("/jspdemo09.jsp"); //jsp页面请求转发用pageContext.forward方法也可以转发=下面这个
%>
<%--<%request.getRequestDispatcher("/jspdemo09.jsp").forward(request,response);//请求转发&ndash;%&gt;--%>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值