9大内置对象

9大内置对象

PageContext 存东西

Request 存东西

Response

Session 存东西

Application [ServletContext] 存东西

config [ServletConfig]

out

page

exception

pageContext–>request–>session–>application 作用域逐渐变大

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

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

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

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

通过请求转发携带数据:

<%
    pageContext.forward("/index.jsp");
    //request.getRequestDispatcher("/index.jsp").forward(request,response);
%>

第一行代码等价于第二行


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--内置对象--%>
<%
    //pageContext-->request-->session-->application 作用域逐渐变大
    pageContext.setAttribute("name1","渊1");//保存的数据只在一个页面中有效
    request.setAttribute("name2","渊2");//保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name3","渊3");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","渊4");//保存的数据只在服务器中有效,从打开服务器到关闭服务器
%>
<%--脚本片段中的代码会被原封不动的生成到_JSP.Java中
要求:这里面的代码:必须保证Java语法的正确性--%>
<%
    //从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>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<%--这行不会输出name5--%>
<h3>${name5}</h3>
<%--下面这行会输出null,所以一般用EL表达式输出值,而不是使用下面的方法--%>
<h3><%=name5%></h3>
</body>
</html>

注意:一般都不用JSP表达式输出值,因为值为空会输出null,所以一般使用EL表达式输出,值为空的时候就会被过滤,不会输出null

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_boss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值