Java课题笔记~ JSP内置对象

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

(1)九个内置对象

jsp的内置对象JSP内置对象是不需要声明和创建就可以在JSP页面脚本中使用的成员变量。

九个内置对象 

 

1.out对象

在JSP页面中经常需要向客户端发送文本内容这时可以使用out对象来实现。out对象是javax.servlet.jsp.JspWriter类的实例对象它的作用与ServletResponse.getWriter()方法返回的PrintWriter对象非常相似都是用来向客户端发送文本形式的实体内容。不同的是out对象的类型为JspWriter它相当于一种带缓存功能的PrintWriter。接下来通过一张图来描述JSP页面的out对象与Servlet引擎提供的缓冲区之间的工作关系具体如图所示。

 

从图可以看出在JSP页面中通过out隐式对象写入数据相当于将数据插入到JspWriter对象的缓冲区中只有调用了ServletResponse.getWriter()方法缓冲区中的数据才能真正写入到Servlet引擎所提供的缓冲区中。

通过一个案例演示out对象的使用

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
	<%
		out.println("first line<br />"); //写入JspWriter对象的缓冲区
		response.getWriter().println("second line<br />");//写入servlet引擎提供的缓冲区即Response缓冲区
	%>
</body>
</html>

注意内容的输出顺序。

多学一招使用page指令设置out对象的缓冲区大小

<%@ page language="java" contentType="text/html; charset=UTF-8" buffer="0kb"%>

2.pageContext对象

pageContext对象是javax.servlet.jsp.PageContext类的实例对象它代表当前JSP页面的运行环境。

1pageContext对象获取隐式对象的方法

 2pageContext对象不仅提供了获取隐式对象的方法还提供了存储数据的功能。pageContext对象存储数据是通过操作属性来实现的下表列举了pageContext操作属性的一系列方法具体如下

 

上表列举了pageContext对象操作属性的相关方法其中参数name指定的是属性名称参数scope指定的是属性的作用范围。pageContext对象的作用范围有4个值具体如下

  • pageContext.PAGE_SCOPE表示页面范围

  • pageContext.REQUEST_SCOPE表示请求范围

  • pageContext.SESSION_SCOPE表示会话范围

  • pageContext.APPLICATION_SCOPE表示Web应用程序范围

需要注意的是当使用findAttribute()方法查找名称为name的属性时会按照page、request、session和application的顺序依次进行查找如果找到则返回属性的名称否则返回null。

3.exception对象

在JSP页面中经常需要处理一些异常信息这时可以通过exception对象来实现。exception对象是java.lang.Exception类的实例对象它用于封装JSP中抛出的异常信息。需要注意的是exception对象只有在错误处理页面才可以使用即page指令中指定了属性<%@ page isErrorPage=”true”%>的页面。

(2)四个作用域

作用 共享数据

(1)pageContext 数据只能在当前页面使用

(2)request

(3)session

(4)application

附录

1.使用IntelliJ IDEA编译jsp文档后servlet的存储路径

路径

C:\Users\Administrator.IntelliJIdea2017.2\system\tomcat\Unnamed_MovieSystem\work\Catalina\localhost\

2.如何修改这个路径参照此文Idea 临时文件路径修改 - 简书

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java