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>

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页