JSP内置对象

JSP提供了容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面编写实例化,在所有的JSP页面中都可以直接使用,它起到简化页面的作用。

在使用内置对象时,不需要先定义这些对象,直接使用即可


JSP内置对象


request对象

request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。用于处理HTTP请求的各种参数。

访问请求参数

在页面中定义超链接

在delete.jsp页面,可以通过request对象的getParameter()方法获取传递的参数值

<% request.getParameter("id");%>

创建文件,并添加一个超链接

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>




使用request对象获取请求参值


处理页

创建文件deal.jsp,并使用方法getParameter()

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
String id = request.getParameter("id");
String user =request.getParameter("user");
String pwd =request.getParameter("pwd");
%>




处理页


id的参数为:<%=id%>

user的参数为:<%=user%>

pwd的参数为:<%=pwd%>

在作用域中管理属性

在进行请求转发时,需要将一些数据传递到转发后的页面进行处理。这时候就用到request对象的setAttribute()

方法将数据保存到request范围内的变量中

setAttribute()的语法格式:

request.setAttribute(String name,Object object);
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>




Insert title here


<%
try{
int money=100;
int number=0;
request.setAttribute("res",money/number);
}catch(Exception e){
request.setAttribute("res","很抱歉,页面产生错误");
}
%>


<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
String id = request.getParameter("id");
String user =request.getParameter("user");
String pwd =request.getParameter("pwd");
%>




处理结果


<%String message=request.getAttribute("res").toString(); %>
<%=message %>

获取客户端信息

通过request对象可以获取客户端的相关信息。例如Http报头信息、客户信息提交方式等。

方法

含义

getHeader(String name )

获得HTTP协议定义的表头信息

getHeaders(String name)

返回指定的名字的request Header的所有值,其结果是一个枚举类型实例

getHeadersNames()

返回所有request Header的名字,其结果是一个枚举类型的实例

getMethod()

获得客户端向服务器端传送数据的方法,如get、post、header、trace等。

getProtocol()

获得客户端向服务器端传送数据所依据的的协议名称

getRequestURI()

获得发出请求字符串的客户端地址,不包括请求的参数

getRequestURL()

获取发出请求字符串的客户端地址

getRealPath()

返回当前请求文件的绝对路径

getRemoteAddr()

获取客户端的IP地址

getRemoteHost()

获取客户端的主机名

getServerName()

获取服务器的名字

getServerPath()

获取客户端所请求的脚本文件的文件路径

getServerPort()

获取服务端的端口号

response对象

用于响应客户请求,向客户端输出信息。

作用域范围page。他封装了JSP产生的响应,并发客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至文件。response对象在JSP页面内有效

可以用来它所提供的sendRedirect(String path)方法将网页重定向到另一个页面,如

response.sendRedirect(index.jsp);

session对象

session在网络中是会话的意思。通过session可以在应用程序的Web页面进行跳转时,保存用户的状态,是整个用户会话一直存在,直到关闭浏览器。如果客户端长时间不向服务器发出请求,session对象就会自动消失。这个时间取决于服务器。

创建即获取客户的会话

通过session对象可以存储或读取客户相关的信息

保存在session范围内

session.setAttribute(String name,Object obj);
session.setAttribute("phone","手机");

获取保存在session范围内的信息

session.getAtttibute(String name);
session.getAtttibute("phone");

删除会话中的对象

session.removeAttribute("phone");

application对象

用于保存所有应用程序中的公有数据。启动时自动创建,服务器停止时销毁。没有被销毁,所有用户都可以共享该

application对象。他的生命周期比session长,类似于全局变量。

访问应用程序初始化参数

application.getInitParameter(String name);用于返回已命名的参数值
application.AttrbuteNames();用于返回所有定义的应用程序初始化参数名的枚举。

out对象

是向客户端浏览器输出信息。

print()和println()都是用于向浏览器输出信息,唯一不同就是输出和输出换行

管理响应缓冲

out对象的类一个比较重要的功能就是对缓冲区进行管理。

方法

含义

clear()

清楚缓存区的内容

clearBuffer()

清楚当前缓存区的内容

flush()

刷新流

isAutoFlush()

检测当前缓冲区已满时是自动清空,还是抛出异常

getBufferSize()

获取缓存区的大小

pageContext对象

获取页面上下文,可以获取JSP页面的request、response、session、application、exception等对象。

创建和初始化都是由容器来完成的

方法

含义

forward(java.lang.String relativeUtlpath)

把页面转发到另一个页面

getAttribute(String name)

获取参数值

getAttributeNamesInScope(int scope)

获取某范围的参数名称集合返回值为java.util.Enumeration对象

getException()

获取异常对象

getRequest()

获取请求对象

getResponse()

获取响应对象

getSession()

获取会话对象

getOut()

获取输出对象

getApplication

获取应用程序对象

setAttribute()

为指定范围内的属性设置属性值

removeAttribute()

删除指定范围的指定属性

config对象

它主要用于取得服务器的配置信息,通过pageContext对象的getServletConfig()方法可以获取一个config对象

方法

含义

getServletContext()

获取Servlet上下文

getServletName()

获取服务器名称

getInitParameter()

获取服务器所有初始参数名称,返回值为Enumeration对象

getInitParameterNames()

获取服务器中name参数的所有值

page对象

page对象代表JSP本身,只有在JSP页面是合法的。

可以看作是this的别名。

方法

含义

getClass()

返回当前Object的类

hashCode()

返回该Object的哈西代码

toString()

把该Object该类转换成字符串

equals(Object c)

比较该对象和指定的对象是否相等

exception对象

用来处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置isErrorPage的属性值为true的页面中才可以被使用

方法

含义

getMessage()

返回exception对象的异常信息字符串

getLocalizedmessage()

返回本地化的异常错误

toString()

返回关于异常错误的简单信息描述

fillInStackTrace()

重写异常错误的栈执行轨迹