JSP内置对象

来源:互联网 发布:深入浅出数据分析 pdf 编辑:程序博客网 时间:2024/06/07 23:23

JSP内置对象是为了简化JSP页面开发而建立的一些内部对象。这些对象不需要声明,可以在程序中直接使用。它们是JSP语言的精髓,掌握常见内建对象的使用技巧是进行JavaWeb开发必不可少的。正确地掌握和灵活地使用JSP内置对象是学习JSP开发的重中之重。本章就来为大家讲解九大内置对象

内置对象主要方法

前五种方法最常用

内置对象 主要作用 request 包含客户端请求信息 response 页面传回给用户端的相应信息 out 用来向客户端浏览器输出信息的数据流 session 为发送请求的客户建立会话 application 保存整个应用程序的共享信息 pageContext 保存当前JSP页面的共享信息 config 读取初始化参数 page 代表JSP网页本身 exception 获取运行时的异常

request内置对象

request对象用来接收客户端提交的各种信息。如果要与用户的互动,必须要知道用户的需求,然后根据这个需求生成用户期望看到的结果。这样才能实现与用户的互动。在Web应用中,用户的需求就抽象成一个request对象,这个对象中间包括用户所有的请求数据,例如通过表单提交的表单数据等方式传递的参数,这些就是用户的需求。

主要方法

方法 方法描述 getParameter(Sting name) 获取客户端传给服务器的参数值,name指定表单中参数的名字 getParameterNames() 获取客户端传给服务器的所有参数的名字,返回的结果是一个枚举实例 getParameterValues(Sting name) 获得某一个参数的所有的值,name指定参数名字 getAttribute(Sting name) 获得request对象中某一个属性的值,name为属性名,如果该属性不存在,则返回null setAttribute(Sting name,Java.long.Object.objt) 给request对象设置一个名字为name的属性值,该值由objt设置 removeAttribute(String name) 移除request对象中名字为name的属性 getAttributeNames() 返回request对象中所有属性的名字,结果是一个枚举类型 getCookies() 返回客户端所有的Cookie对象,结果是一个Cookie数组 getCharacterEncoding() 返回客户端请求中字符的编码方式 getContentLength 返回客户端请求的body的长度 getMethod() 返回客户端向服务器传输数据的方法,如get、post、header、trace等 getRequestURL() 获取发送请求的客户端地址 getRemoteAddr() 获取客户端的IP地址 getServerName() 获取服务器的名字 getServerPort() 获取服务器的端口号 getServletPath() 获取客户端所请求的脚本文件的文件路径

response内置对象

response对象是服务器端向客户端返回的数据,从这个对象中间可以取出一部分与服务器互动的数据和信息。

主要方法

方法 方法描述 addCookie(Cookie cookie) 添加一个Cookie对象,用来保存客户端信息 addHeader(Sting name, String value) 添加HTTP文件头信息,如果已有同名的Header,则覆盖它 containHeader(String name) 判断名字为name的HTTP文件头是否已存在 flushBuffer() 强制将当前缓冲区的内容发送到客户端 getBufferSize() 返回缓冲区的大小 getOutputStream() 获取到客户端的输出流对象 sendError(int) 向客户端发送错误信息 sendRedirect(String location) 发响应发送到另一个位置去处理 setContentType(Sting contentType) 设置响应的MIME类型 setHeader(String name, String value) 设置名字为name的HTTP文件头的值,新设置的值可以覆盖旧值

forward和sendRedirect的区别

<jsp:forward> sendRedirect jsp引擎控制,url不会变 完全跳转 url必须是相对路径 合法的url就行 转向页面和到达页面需要在同一个app中 只要合法,随便跳转

动态设置页面返回的MIME类型

在JSP中可以使用page编译指令来设置页面的MIME(Multipurpose Internet Mail Extensions多功能Internet邮件扩充服务,即文件的类型)返回类型,但是在这里设置是页面的编译阶段,以电脑设置完成,在运行阶段是不可更改的。而使用response对象中的setContentType(String type)方法可以来动态设置页面的返回类型。

out内置对象

out内置对象是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流,从而把动态的内容转化成HTML形式来展示。这个对象在任何JSP页面中都可以任意访问。out对象的方法主要用于输出各种各样格式的数据

主要方法

方法 方法描述 clear() 清除缓冲区的数据,不向用户输出 clearBuffer() 清除缓冲区的数据,同时把这些数据向用户输出 close() 关闭out输出流 flush() 输出缓冲区的内容 isAutoFlush() 判断是否为自动刷新 print(String str) 输出带HTML格式的各种类型的数据,下一个输出语句不换行 println(String str) 输出带HTML格式的各种类型的数据,下一个输出语句换行

在out对象方法中,最常用的就是print()和println()方法。我们可以运用这两种方法实现各种类型数据的输出。

session内置对象

session对象用来保存每个用户的信息。例如:用户名、密码、上次访问时间等,从而可以跟踪每个用户的操作状态。一般情况下,当用户首次登录系统时,Web容器就会给该用户创建一个唯一用来标识该用户会话的session id。为了跟踪用户的操作状态,在多个页面之间保存共享信息,JSP中提供了session对象。当该用户退出系统时,这个session自动消失。

主要方法

方法 方法描述 getAttribute(String name) 从session中获取名字为name的属性 getAttributeNames() 返回存储在session对象中的所有属性的名字,结果为一个枚举类型 removeAttribute(String name) 删除名字为name的属性 setAttribute(String name, Java.lang.Object value) 设置一个名字为name的属性,其值为value getCreationTimes() 返回该session被创建的时间 getId() 返回唯一标识该session的ID getLastAccessedTime() 返回与该session相关的客户端最后发送请求的时间

获取session的ID

session对象的ID是用来唯一识别session的标识。该ID由一个32位的十六进制字符串组成,可以保证服务器中所创建的所有session对象都不相同。

session中保存和读取共享数据

与request对象一样,session对象也有一对setAttribute()和getAttribute()方法,用来存储或者读取session中的共享信息。而两种对象的两个方法的区别在于共享信息的范围不同,session对象中保存的共享信息的范围是整个会话过程,而request对象中保存共享信息的范围则是提交和被提交的页面。

session对象的生命周期

session对象的创建是由服务器完成的,当客户端第一次请求服务器时由服务器创建。如果会话过程一直存在,则session对象也将一直存在下去。只有当session过期、客户端关闭浏览器或者服务器端调用了session的invalIDate()方法时session对象才被释放掉,结束其生命周期。

application内置对象

application对象保存着整个Web应用运行期间的全局数据和信息。从Web应用开始运行开始,这个对象就会被创建。在整个Web应用运行期间可以在任何JSP页面中访问这个对象。所以如果要保存在整个Web应用运行期间都可以访问的数据,这时候就要用到application对象。

主要方法

方法 方法描述 getAttribute(String name) 返回application对象中名字为name的属性的值 getAttributeNames() 返回application对象中所有属性的名字,结果为一个枚举类型 getInitParameter(String name) 返回application对象中名字为name的属性的初始值 getServletInfo() 返回Servlet编译器的当前版本的信息 setAttribute(String name,Object object) 在application对象中设置一个名字为name的属性,其值为object

application对象最常用的方法回是getAttribute()和set Attribute()方法。

pageContext内置对象

pageContext对象又被称为JSP作用域通信对象。该对象提供了访问其他内置对象的统一入口,使用户可以方便地访问页面作用域中定义的所有内置对象。

主要方法

方法 方法描述 getRequest() 返回当前页面的request对象 getResponse() 返回当前页面的response对象 getServletConfig() 返回当前页面的servletConfig对象 getServletContext() 返回当前页面的ServletContext对象,这个对象是所有的页面共享的 getSession() 返回当前页面的session对象 setAttribute() 设置默认页面范围或特定对象范围之中的的对象 removeAttribute() 删除默认页面对象或特定对象范围之中的已命名对象

config内置对象

config对象代表当前JSP页面的配置信息。但JSP页面通常无须预先进行配置,也就不存在配置信息了。因此该对象在JSP页面中比较少用,但在Servlet中则用处相对较大,因为Servlet需要在web.xml文件中进行配置,从而设置初始化配置参数。

主要方法

方法 方法描述 getInitParameter(String name) 返回String类型的初始化参数 getInitParameterNames(String name) 返回所有初始化参数的名称 getServletName() 获得当前JSP页面名称 getServletContext() 获得当前JSP页面的服务器上下文环境

exception内置对象

exception对象用来封装运行时出现的异常信息。该对象只能被处理错误的页面使用,一般用来处理错误的页面会在其页面指令中声明“isErrorPage=true”。

主要方法

方法 方法描述 getMessage() 返回描述异常的消息 toString() 返回关于异常的简短描述消息 printStackTrace() 显示异常及其栈中的跟踪信息

page内置对象

page内置对象指向当前JSP页面本身,有点类似于类中的this指针,它表示当前JSP页面转换后生成的Servlet类的实例。

主要方法

方法 方法描述 getClass() 返回当前Object的类 toString() 返回当前Object对象的字符串 hashCode() 返回当前Object的哈希代码 equals(Object o) 比较当前对象与给定的对象是否相等 copy(Object o) 把当前对象赋值到给定的对象中去 clone() 对当前对象进行克隆操作
0 0
原创粉丝点击