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 临时文件路径修改 - 简书