JavaWeb快速入门--JSP(2)

上一篇:JavaWeb学习总结11–JSP(1)
下一篇:JavaWeb学习总结13–MVC&EL&JSTL

JSP的内置对象

jsp一共有9个内置对象,这些内置对象在jsp页面中不需要获取和创建,可以直接使用的对象

* 在jsp页面中不需要创建,直接使用的对象
* 一共有9个:
	变量名			真实类型					作用
* pageContext		PageContext				当前页面共享数据,还可以获取其他八个内置对象
* request			HttpServletRequest		一次请求访问的多个资源(转发)
* session			HttpSession				一次会话的多个请求间
* application		ServletContext			所有用户间共享数据
* response			HttpServletResponse		响应对象
* page				Object					当前页面(Servlet)的对象  this
* out				JspWriter				输出对象,数据输出到页面上
* config			ServletConfig			Servlet的配置对象
* exception			Throwable				异常对象

这行内置对象大致可以四类:输入输出对象(request、response、out)、作用域通信对象(session、application、pageContext)、Servlet对象(page、config)和异常对象(exception)

输入输出对象

request对象
request对象封装了客户端的请求信息,包括HTTP头信息、系统信息、请求方式和请求参数等。通过调用相关方法可以获取封装信息。其中常用方法包括:

方法说明
String getParameter(String name)获取JSP页面中传递过来的参数
Enumeration getParameterNames()返回一个枚举类型,包含当前页面所有参数名称的集合
String[] getParameterValues(String name)返回包含参数name的所有值的数组
void setAttribtue(String name,Object object)将方法保存到request范围内的变量中
Object getAttribute(String name)获取request范围内名字为name的变量,若没有则为空
void removeAttribute(String name)删除名字为name的request请求
void setCharacterEncoding(String enc)指定请求编码的格式,一般用于解决中文乱码

response对象
当客户端向Web服务器发送请求后,服务器会接收请求,并作出响应响应。response 代表的就是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。其中常用方法包括:

方法说明
void setContentType(String type)设置MIME(响应的内容)类型
void sendRedirect()重定向客户的请求到指定的页面
void setHeader(String s1,String s2)设置HTTP首部信息,如:s1=“REfresh”,s2="1"时页面每一秒刷新一次

out 对象
out 对象可以在客户端浏览器输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。其中的常用方法有:

方法说明
void print(DateType)在JSP页面输入数据,但不结束当前行
void println(DateType在JSP页面输入数据,并结束当前行
void clear()清空缓冲区中数据,但不把数据写入客户端
void close()关闭输出流
作用域通信对象

session对象
从客户打开服务器开始,到关闭浏览器离开结束,这个过程被称为一次会话(session),session对象在JSP页面打开时自动创建,当我们在不同页面之间进行跳转时,我们就需要session对象来辨别用户了。session对象内部使用Map类(Key/value)来保存数据,通过session对象,我们可以对客户的会话进行控制,其常用方法如下:

方法说明
String getId()返回用户的session的id
void setAttribute(String name,Object obj)设置名称为name的属性值,并存入到session中
Object getAttribute(String name)返回session中属性名为name的属性值
void removeAttribute(String name)除去session中属性名为name的属性
Boolean isNew()判断是否为一个新用户

application对象
application 对象保存所有应用程序中的公共数据到服务器中,只要服务器不关闭,application就一直存在,所有用户都可以共享application对象。其中的常用方法有:

方法说明
void setAttribute(String name,Object obj)设置名称为name的属性值,并存入到application中
Object getAttribute(String name)返回application中属性名为name的属性值
void removeAttribute(String name)除去application中属性名为name的属性

pageContext 对象
pageContext 表示当前页面的所有属性和对象,它的创建和初始化都是由容器来完成的,我们可以在JSP页面中可以直接使用 pageContext对象。通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。其常用方法如下:

方法说明
void forward(String url)将当前页面重定向到另一个页面或servlet对象
Object getAttribute(String name)获取页面范围或特定对象范围内的属性name
void setAttribute(String name,Object obj)设置默认页面范围或特定对象范围的属性name
void removeAttribute(String name,Object obj)设置默认页面范围或特定对象范围的属性name
ServletRequest getRequest()返回当前页面中的request对象
ServletResponse getResponse()返回当前页面中的response对象
ServletSession getSession()返回当前页面中的session对象
ServletException getException()返回当前页面中的exception对象
ServletOut getOut()返回当前页面中的out对象
ServletApplication getApplication()返回当前页面中的application对象
Servlet对象

page对象
page 对象是为了执行当前页面应答请求而设置的servlet类的实体,代表JSP本身,只有在JSP页面内才是合法的。 page常用的方法有:

方法说明
class getClass()获取page对象的类
int hashCode()获取page对象的hash码

config 对象
config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。它的常用方法有:

方法说明
String getInitParameter(String name)返回名称为name的初始化参数值
Enumeration getInitParameterNames()返回所有初始化参数名称的枚举
ServletContext getServletContext()返回名称为name的初始化参数值
String getServletNames()返回当前Servlet的名称
异常对象

exception 对象
exception 对象用来处理JSP文件发生的错误和异常,只有在错误页面(包含 isErrorPage=”true” 的页面)中才可以被使用。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。它的常用方法包括:

方法说明
String getMessage()返回异常信息
void printStackTrace()以标准错误的形式输出错误信息
String toString()以字符串的形式返回异常信息

上一篇:JavaWeb学习总结11–Session
下一篇:JavaWeb学习总结13–MVC&EL&JSTL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙源lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值