JSP基础
九大内置对象
request
该对象代表了客户端的请求信息,主要用于接受通过 HTTP 协议传送到服务器的数据。 request 对象的作用域为一次请求。
response
该对象是对客户端的响应,主要是将 JSP 容器处理过的对象传回到客户端。response 对象的作用域只在 JSP 页面内有效。
session 会话
该对象是客服端和服务器的一次会话。服务器为每个用户都生成一个 session 对象,用于保存该用户的信息,跟踪用户的操作状态。直到客户端断开连接或者,session 时间到期后断开。
application 全局对象
该对象是存在于整个应用中,开始于服务器启动,结束于服务器关闭。这个对象中可以保存信息在应用任何地方都可以用。
out 输出对象
该对象是 JspWriter 类的实例,是向客户端浏览器输出内容经常要用到的对象 。就只能作用在当前页面。用完过后要及时清除缓冲区的内容,腾出空间,还要记得关闭输出流。
pageContext JSP页面容器
该对象可以获取当前 jsp 页面任何范围的参数。比如 out、request、reponse、session、application 等对象。
config 配置对象
该对象的作用就是当一个 Servlet 初始化时,容器(Tomcat、JRun、Resin等)把某些信息;服务器的一些信息等通过 config 对象传递给这个 Servlet。
page 当前JSP页面对象
该对象就是指向的当前 jsp 页面本身。
exception 异常对象
对象就是在页面运行过程中出了异常来显示异常信息的,但是必须在页面中设置 isErrorPage=”true” 才能使用。
四大作用域
四大作用域范围从小到大
pageContext < request < session < application
生命周期
pageContext:存在 page 中的变量,只作用于当前的 jsp 页面,当发生跳转、重定向、定时刷新时,将随之销毁。
request:存在 request 中的变量,作用于一次 HTTP 请求到服务器处理结束,返回响应的整个过程,该变量可以随着 forward 的方式跳转到多个 jsp 中,一但刷新页面,它们将重新计算。
session:存在 session 中的变量,作用于一次会话中,从打开浏览器到关闭浏览器过程中,将一直累加。(若想在再次打开浏览器时,变量仍然存在,则可以将 session 的 JSESSIONID 存到 cookie 中,在给 cookie 一个存活时间)
application:存在 application 中的变量,作用于整个应用中,即从应用启动到应用结束,如果不进行手工删除,它们将一直可以使用,而且这些变量所有用户均可使用。
作用范围
pageContext:用户请求的当前页面。
request:用户请求访问的当前组件,以及和当前 web 组件共享同一用户请求的 web 组件。
session:同一个 Http 会话中的 web 组件共享。
application:整个 web 应用的所有 web 组件共享,即只要是同一个服务器下的均可使用。
常用方法
out
方法 | 作用 |
---|---|
println() | 向客户端输出各种类型的数据 |
close() | 关闭输出流 |
flush() | 输出缓冲区数据 |
clearBuffer() | 清除缓冲区数据,并且把数据输出到客户端 |
clear() | 清除缓冲区数据,但是不把数据输出到客户端 |
request
方法 | 作用 |
---|---|
getMethod() | 返回客户端向服务器端传送数据的方法 |
getParameter(String paramName) | 返回客户端传向服务器端传递的参数值 |
getParameterNames() | 获得客户端传递给服务器端的所有参数的名字 |
getParameterValues(String name) | 获得指定参数的所有值 |
getRequestURL() | 获得发出请求字符串的客户端地址 |
getRemoteAddr() | 获取客户端 IP 地址 |
getRemoteHost() | 获取客户端机器名称 |
getServerName() | 获取服务器名字 |
getSession() | 获取session对象 |
getServerPort() | 获取服务器端端口 |
response
方法 | 作用 |
---|---|
getCharacterEncoding() | 返回响应用的是何种字符编码 |
getOutputStream() | 返回响应的一个二进制输出流 |
getWriter() | 返回可以向客户端输出字符的一个对象 |
setContentLength(int len) | 设置响应头长度 |
addCookie(Cookie cookie) | 添加一个Cookie对象,用于在客户端保存特定的信息 |
sendRedirect(String url) | 重新定向客户端的请求 |
sendError(int) | 向客户端发送错误信息,int指服务器的错误码 |
addHeader(String name, String value) | 添加HTTP头信息,该Header信息将发送到客户端 |
七大动作
动作 | 作用 |
---|---|
jsp:include | 在页面被请求的时候引入一个文件。 |
jsp:useBean | 寻找或者实例化一个 JavaBean。 |
jsp:setProperty | 设置 JavaBean 的属性。 |
jsp:getProperty | 输出某个 JavaBean 的属性。 |
jsp:forward | 把请求转到一个新的页面。 |
jsp:plugin | 根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记。 |
jsp:element | 定义动态 XML 元素 |
jsp:attribute | 设置动态定义的 XML 元素属性。 |
jsp:body | 设置动态定义的 XML 元素内容。 |
jsp:text | 在 JSP 页面和文档中使用写入文本的模板 |
三大指令
指令 | 作用 |
---|---|
<%@ page … %> | 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include … %> | 包含其他文件 |
<%@ taglib … %> | 引入标签库的定义 |