JavaWeb JSP 内置对象

1.JSP 内置对象

在jsp自动转换成的java文件的service方法中,我们可以看到这九个内置对象:

 

具体如下:

  • request(HttpServletRequest):代表客户端的HTTP请求。通过该对象,可以获取请求参数、请求头信息、请求方法等。
  • response(HttpServletResponse):代表服务器对客户端的HTTP响应。通过该对象,可以设置响应的状态码、响应头信息、响应内容等。
  • session(HttpSession):代表客户端与服务器之间的会话。通过该对象,可以在不同的请求之间共享数据,并实现用户的状态管理。
  • application(ServletContext):代表整个Web应用程序的上下文。通过该对象,可以获取应用程序的初始化参数、共享数据等。
  • out(JspWriter):代表响应输出流。通过该对象,可以向客户端发送文本、HTML代码等。
  • config(ServletConfig):代表JSP页面的配置信息。通过该对象,可以获取JSP页面的初始化参数。
  • page(Object):代表当前JSP页面的实例。通过该对象,可以调用当前页面的方法。
  • pageContext(PageContext):代表当前JSP页面的上下文。通过该对象,可以访问其他内置对象,以及一些与页面渲染相关的信息。
  • exception: 用于处理异常情况。在JSP页面中,可以使用`<%@ page isErrorPage="true" %>`指令将当前页面标记为错误处理页面。这样,当页面发生异常时,会自动跳转到错误处理页面,并将异常信息保存在`exception`对象中。可以通过以下方式访问`exception`对象:<%   Exception e = (Exception) request.getAttribute("javax.servlet.error.exception"); %>

这些内置对象可以在JSP页面中直接使用,无需进行额外的声明或初始化。通过这些对象,我们可以方便地访问和操作与Web应用程序相关的数据和功能。

2.JSP内置对象的作用域

从上图的JSP代码,我们可以看到pageContext,request,session,application都可以设置属性。

但它们的区别在于作用域不同

pageContext:保存的属性仅在当前页面有效,离开当前页面就无法再读取了。一般是用户只使用一次。

request:保存的属性仅在当前请求有效,如果进行请求转发,可以带去下一个页面。一般是用户只使用一次。

session:保存的属性仅在当前会话有效,也就是打开浏览器到关闭浏览器的过程中有效。一个用户可以多次使用这些数据。

application:保存的属性在服务器中有效,也就是打开服务器到关闭服务器的过程中有效。多个用户可以共享这些数据。

 使用这四个内置对象来保存数据,可以都用pageContext来读取:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<h2>Hello Freya!</h2>

<%

pageContext.setAttribute("name1","第一棵树");
request.setAttribute("name2","第二棵树");
session.setAttribute("name3","第三棵树");
application.setAttribute("name4","第四棵树");

%>

<%
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");
%>


<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3>${name5}</h3>

</body>
</html>

pageContext去取属性的时候,会先检查pageContext中有没有,没有的话再依次检查request, session, application。所以通过pageContext,就可以拿到所有当前页面可以访问的属性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值