JSP内置对象

一.request对象

(1)定义:request对象是javax.servlet.http.HttpServletRequest 类的实例

 

(2)作用:1.使用对应的方法获取客户端提交的数据

(eg:getPqrameter(),setPqrameter()[要考虑转码]、setAttribute(),getAttribute()[不用考虑转码])

       2.在作用域中管理属性,取名,设值,以名获值

      3.请求转发(getRequestiDispatcher("xxx.jsp").forward(request,response))

【我自己都不愿意看的:客户端的请求信息被封装在request对象中(如用户名填写后提交的信息,客户端的IP地址等),再通过request对象与客户端交互,通过request相对应的各种方法来收集客户端的Form Cookies 超连接,或者收集服务器的一些环境变量,主要用来处理客户端浏览器提交的请求中的各项参数和选项。(是HttpServletRequset的实例)】

(3)使用过程描述:服务器通过request对象的相关方法获取到客户端通过HTML表单或网页地址后面提供的参数方法(get或post)提交的数据

(4)常用方法

1.取值和设值

get/setParameter(String name)

setAttribute(String ,Object)

getAttribute(String name)

2.请求相关

getContentType()

getProtocol()

getServerName()

getServerPort()

getContentLength()

getRemoteAddr()

3.编码相关

get/setCharacterEncoding()

4.路径相关

getRealPath(String path)

getContextPath()

/**以上都是对安全信息的访问*/

5.提交相关

get.Method()

二.response对象

(1)定义:response对象是javax.sevlet.HttpServletResPonse接口类的对象,封装了JSP产生的响应

(2)作用:1.重定向(sendRedirect("xxx.jsp"))

       2.设置HTTP响应报头

       3.缓冲区配置

       4.添加或处理响应,例如将响应重定向到另一个资源,发送错误等。

(3)使用过程描述:响应客户端请求,向客户端发送信息。

如回应的 Header,回应本体(HTML 的内容)以及服务器端的状态码等信息,提供给客户端。

请求的信息可以是各种数据类型的,甚至是文件。

三.session对象

 (1)使用原因:客户与服务器之间的通信是通过 HTTP 协议完成的。

HTTP 是一种无状态的协议,当客户向服务器发出请求,服务器接收请求并返回响应后,该连接就被关闭了。

此时,服务器端不保留连接的有关信息,要想记住客户的连接信息,可以使用 JSP 提供的 session 对象。

(2)个人理解:一个session对象对应一个用户(一个session对象又称一次对话)

       只要访问不断开,服务器与客户端连接也不会断开,session对象一直存在

       系统默认30分钟内,若客户不发送请求给服务器,session对象自动消失(session在服务器内存中的生命周期),本次访问一直进行

(3)生命周期作用范围:从用户打开浏览器访问你的servlet开始直到用户关闭了浏览器结束

(4)用途:1.在作用域中管理属性

       2.重定向中保存数据

       3.从session对象中移除指定对象(removeAttribute(String name))

       4.销毁session对象(invalidate())

       5.进行关联访问,管理生命周期

       6.创建及获取客户会话属性

 

四.application对象

(1)定义:JSP application 对象是 javax.servlet.ServletContext 类的实例,这有助于查找有关 Servlet 引擎和 Servlet 环境的信息

(2)生命周期:它的生命周期从服务器启动到关闭。在此期间,对象将一直存在。这样,在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作

(3)作用范围【作用域】:在任何地方对此对象属性的操作,都会影响到其他用户的访问

每个用户对应一个session对象,所有访问同一个应用程序的共享一个application对象,即一个application对应多个session对象

(4)作用:1.访问应用程序初始化参数

      2.在作用域中管理属性

(5)application 对象的常用方法

表1 application对象的常用方法
方法说明
getAttribute( String arg) 获取 application 对象中含有关键字的对象
getAttributeNames() 获取 application 对象的所有参数名字
getMajorVersion() 获取服务器支持 Servlet 的主版本号
getMinorVersion() 获取服务器支持 Servlet 的从版本号
removeAttribute(java.lang.String name) 根据名字删除 application 对象的参数
setAttribute(String key,Object obj) 将参数 Object 指定的对象 obj 添加到 application 对象中,并
为添加的对象指定一个索引关键字

 

五.out对象

(1)定义:out 对象是一个继承自抽象类 javax.servlet.jsp.JspWriter 的实例,在实际应用中,out 对象会通过 JSP 容器变换为 java.io.PrintWriter 类的对象

  (2)  使用过程:out 对象是一个输出流,用来向客户端输出数据,可以是各种数据类型的内容,同时,它还可以管理应用服务器上的输出缓冲区,缓冲区的默认值是 8KB,可以通过页面指令 page 来改变默认大小

(3)作用:

1.缓冲区管理

在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。数据输出完毕后要及时关闭输出流。下面介绍 out 对象的应用。表 1 列出了 out 对象常用的方法

表1 out对象常用的方法
方法说明
void print(各种数据类型) 将指定类型的数据输出到 HTTP 流,不换行
void println(各种数据类型) 将指定类型的数据输出到 HTTP 流,并输出一个换行符
void newline 输出换行字符

默认情况下,服务端要输出到客户端的内容不直接写到客户端,而是先写到一个输出缓冲区中。使用 out 对象的 getBufferSize() 方法取得当前缓冲区的大小(单位是 KB),用 getRemaining() 方法取得当前使用后还剩余的缓冲区的大小(单位是 KB)。

JSP 只有在下面三种情况下,才会把缓冲区的内容输出到客户端。

  1. 该 JSP 网页已完成信息的输出。
  2. 输出缓冲区己满。
  3. JSP 中调用了 out.flush() 或 response.flushBuffer()。


另外,调用 out 对象的 clear() 方法,可以清除缓冲区的内容,类似于重置响应流,以便重新开始操作。如果响应已经提交,则会产生 IOException 异常。此外,另一种方法 clearBuffer() 可以清除缓冲区“当前”内容,而且即使内容已经提交给客户端,也能够访问该方法。

【例1】用 out 对象管理输出缓冲区,代码如下:

  1. <%@ page contentType="text/html;charset=utf-8"%>
  2. <html>
  3. <head>
  4. <title>
  5. out 对象管理输出缓冲区
  6. </title>
  7. </head>
  8. <body>
  9. <h2>out对象管理输出缓冲区</h2>
  10. <%out.println("学习使用out对象管理输出缓冲区:<br>");%> <br>
  11. 缓冲大小:<%=out.getBufferSize()%> <br>
  12. 剩余缓存大小:<%=out.getRemaining()%> <br>
  13. 是否自动刷新:<%=out.isAutoFlush()%> <br>
  14. </body>
  15. </html>


运行结果如图 1 所示。

图1 用out对象管理输出缓冲区
图1 用out对象管理输出缓冲区

2.向客户端输出数据

在使用 print() 或 println() 方法向客户端输出时,由于客户端是浏览器,因此可以使用 HTML 中的一些标记控制输出格式。例如:

 

 

  1. out.println("<font color=red>Hello </font>"); 

 

六.Exception对象

(1)作用:用来处理JSP文件执行时发生的所有的错误和异常(异常是指在程序执行的过程中不可预料的情况,由潜在的错误机率导致)【错误处理页面】

(2)过程:在JSP页面中如果产生异常,会产生exception对象,exception对象会被传送到page指令中的errorPage属性指定的错误页面,在错误页面中使用exception对象处理异常

在使用exception对象必须在当前页面的page指令中设置isErrorPage=true才能使用

(3)常用方法

getMessage()该方法返回异常消息字符串

getLocalizedMessage()该方法返会本地化语言的异常错误

printStackTrace()显示异常的栈跟踪轨迹

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

fillInStackTrace()写异常错误的栈执行轨迹

七.其他内置对象

1.pageContext对象

(1)定义:pageContext对象是javax.servlet.jsp.PageContext类的实例对象,提供了对JSP页面所有的对象及命名的访问,创建和初始化都由容器完成

(2)作用:功能对象集合

2.config对象

(1)定义:config对象属于javax.servlet.ServletConfig,config对象代表对象信息,JSP页面通常无需配置

(2)用途:用于servlet中获取web.xml文件中的参数

(3)常用方法:

1.getServletContext()返回执行者的Servlet上下文

2.getServletParameter()返回Servlet的名字

3.getInitParameter()返回名字位name的初始参数的值

4.getInitParameterNames()返回这个JSP的所有的初始参数的名字

3.page对象

(1)定义:相当于JAVA编程中的this指针,就是指JSP页面本身。page是java.lang.Object类的对象

(3)常用方法:

1.getServletContext()返回执行者的Servlet上下文

2.getServletParameter()返回Servlet的名字

3.getInitParameter()返回名字位name的初始参数的值

4.getInitParameterNames()返回这个JSP的所有的初始参数的名字

 

posted @ 2021-10-02 12:20  筝弈  阅读(96)  评论(0)    收藏  举报
2 3
4