第9章JSP的内置对象_第1页
第9章JSP的内置对象_第2页
第9章JSP的内置对象_第3页
第9章JSP的内置对象_第4页
第9章JSP的内置对象_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章JSP的内置对象目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程了解JSP内置对象的基本概念学习和了解out对象、request对象、response对象、session对象、application对象、exception对象、config对象、page对象和pageContext对象的特点和应用.能运用内置对象解决实际问题目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程内置对象(Implicit Objects)是一类特殊的对象,它们是JSP文件中不需要声明就可以使用的对象,也称它们为隐含对象。这

2、些对象包含某种特定的信息,如HTTP请求、响应等,通过它们可以帮助用户获取并使用这些信息。由于内置对象是通过JSP容器创建和管理,用户无须考虑这些内置对象是如何产生就可直接使用。从这一点来说,内置对象的出现,简化JSP页面的开发,提高了开发的便利性。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程对象类别描述outjavax.servlet.jsp.JspWriter一个输出流对象requestjavax.servlet.ServletRequest的子类触发JSP文件的请求对象responsejavax.servlet.ServletResponse的子类返回给客户的响应对象s

3、essionjavax.servlet.http.HttpSession用户的会话对象applicationjavax.servlet.ServletContextJSP页面的应用上下文对象pageContextjavax.servlet.jsp.PageContextJSP页面的上下文对象configjavax.servlet.ServletConfig初始化JSP Servlet的对象pagejava.lang.ObjectJSP页面servlet的当前请求处理实例exceptionjava.lang.Throwable访问错误页面产生的异常对象 JSP的内置对象目 录上一页下一页退 出第

4、9章JSP的内置对象开发技术实用教程out对象是javax.servlet.jsp.JspWriter的一个对象实例,表示一个输出流。通过out对象向客户端发送信息。out对象的作用范围为page,即只在本JSP页面有效。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程out对象的常见方法void clear()清除缓冲区的内容,但不写客户端void clearBuffer()清除缓冲区的当前内容,写客户端void close()关闭输出流,中止前数据写客户端void flush()强制输出缓冲区的数据,先写客户端boolean isAutoFlush()判断缓冲区是否是具有强制

5、输出autoFlush的功能,有返回true,否则返回 getBufferSize()返回缓冲区的大小。int getRemaining()返回缓冲区中没有占用的空间void newLine()输出一新行void print()有一个参数,参数可以是boolean, char, char, double, float ,int,long,Object, String 中的任何一种。该方法输出信息void println()有一个参数,参数类型同print()。该方法实现换行输出信息目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程 例9.1out对象实现表格输出。

6、代码见JSP9-1.jsp,运行结果见下图.目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程在JSP中,在一次HTTP请求中,用内置对象request对象封装由客户传递给WEB服务器的数据。request对象取决于javax.servlet.ServletRequest类的子类javax.servlet.http.HttpServletRequest。request对象可以获取客户端浏览器的header头请求、Cookies信息段请求和 Session会话请求。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程要获取客户发送的具体信息,需调用request对象的相应方

7、法来实现。request对象的常见方法:Object getAttribute(String):获取请求指定属性名的值Enumeration getAttributeNames():返回request对象包含的属性名void setAttribute(String,Object):设置指定属性的值String getContentLength():获取用户提交信息的整个长度Cookie getCookies():获取请求的信息段String getParameter(String):获取请求指定参数的值Enumeration getParameterNames():获取请求中参数的名称目 录上

8、一页下一页退 出第9章JSP的内置对象开发技术实用教程String getParameterValues(String):返回特定参数对应的值String getHeader(String):获取请求的头信息Enumeration getHeaderNames():获取请求的头名字的一个枚举String getMethod():获取请求的HTTP方法(如get、post、put)String getPathInfo():获取请求的URI的servlet路径String getProtocol():返回请求中的协议和版本String getQueryString():获取请求的查询字符串,用于用

9、户以get方法发送目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程String getRomoteUser():获取创建请求对象用户的名字String getRomoteHost():返回请求代理的服务器名String getRomoteAddr():返回接受请求的服务器的IP地址String getRequestedSessionId():获取请求的特定会话编号String getServerName():返回接受request请求的服务器名int getServetPost():返回接受request请求的服务器端口号String getSevletPath():获取对应触发

10、servlet的request对象URIHttpSession getSession(boolean):获取request对象相连的合法session。布尔参数是一个可选项,如果参数为true或无参数,则为请求创建一个新的会话session。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程 例9.2 一个request对象的简单应用,获取用户提交的信息。JSP9-2.jsp定义一个表单,将表单数据提交给JSP9-3.jsp。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程response对象表示HTTP响应数据,它可以将服务器处理用户请求request的结果返回给用

11、户。 JSP中将这些服务器响应用户请求的数据封装成为一个response对象。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程从本质上来说,response对象是实现javax.servlet.ServletResponse接口的实例,是由JSP容器生成。可对客户的请求做出动态的响应:向客户端发送数据(如HTTP文件头信息)、实现客户端转向其他资源、定时刷新、与Cookie相关的操作(如刷新、保存时间操作等)。response的作用域为page,表示对当前页面有效。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程response对象的常见方法void addCook

12、ie(Cookie):添加一个Cookie对象,用来保存客户端的用户信息void addHeader(String,String):添加一个指定HTTP头名以及对应的值boolean containsHeader(String):检查响应信息是否包括指定名字的HTTP头String encodeRedirectURL(String):在sendRedirect方法内封装特定的URL,如果封装没有必要,返回无变化的URL。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程String encodeURL(String):使用Session ID编号来封装URL,如果封装不必要,返回无

13、变化的URLvoid sendError(int,String):用特定的状态码和默认提示信息返回客户端一个错误的响应信息;如果存在第二个参数,则用定义的信息取代默认的提示信息;void sendRedirect(String):临时给客户端发送一个跳转到指定的URL的响应void setDateHeader(String,long):增加一个名-日期值对应的HTTP头目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程void setHeader(String,String):增加一个名-值对应的HTTP头void setContentType(String):设置MIME类型vo

14、id setIntHeader(String,String):增加一个名-整数值对应的HTTP头void setStatus(int):设置响应的状态代码目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程response对象作为服务器返回HTTP响应的代表,通常与out对象和request对象结合可以实现输入/输出信息的控制。request对象获取客户请求信息(输入),out对象和response对象结合实现响应客户(输出)。与out对象直接访问输出流的不同,response对象是向客户端发送信息,根据不同的处理对客户端进行动态响应。目 录上一页下一页退 出第9章JSP的内置对象开

15、发技术实用教程 response设置HTTP头信息与添加Cookie response对象有两个方法可以动态设置HTTP头信息。它们是 setHeader(String head,String value) addHeader(String head,String value)。 这两个方法可以动态添加HTTP响应头和对应的值。 值得注意的是,如果响应头已经存在,则后添加的响应头可以覆盖原来的内容。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程 Cookie是服务器保存在客户端中的一小段数据信息,为服务器处理用户请求或追踪用户提供方便。 JSP页面通过调用response对象的

16、addCookie(Cookie)方法增加Cookie。 使用Cookie有一个前提,就是客户端浏览器允许使用Cookie并对此作出相应的设置。 例9.3 利用response对象设置Http文件头以及添加Cookie的应用实例。代码见JSP9-4.jsp.目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程 response对象的重定向 response对象通过sendRedirect(String)实现重定向的作用。从一个JSP页面跳转到由指定URL的另一个JSP页面。 response对象的重定向和的类似。但是二者有着明显的区别: response对象是为客户端实现的跳转,首先

17、将文件的所有内容完成。然后实现跳转,在实现跳转时,浏览器上的地址栏会发生变化。不传递参数。 是为服务器端实现的跳转,发生跳转时,立即跳转到目标位置。在后面的内容将不会执行。另外,跳转发生时,浏览器的地址不会发生内容变化。但是可以传递信息。 例9.4 response对象的重定向应用实例。代码 见JSP9-5.jsp.目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程JSP支持Session会话机制。Session会话机制,客户访问WEB网站,服务器会为每一个登陆使用它的客户创建一个Session会话对象。在这个Session对象中记录了客户的相关信息。根据Session对象记录的信

18、息,服务器可以实现对客户的跟踪。当前客户退出服务器的服务时,对应于该客户的Session对象就会注销。而实现客户与服务器交互的这样一个过程就称为Session。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程JSP的Session对象就是在一次会话过程中创建的会话对象。从本质上说,Session对象是Servlet API的javax.servlet.http.HttpSession接口的对象实例。在一个Session开始时,服务器端的Servlet容器就会创建一个HttpSession对象,即session对象,保存客户状态信息。不同的客户,Servlet容器会创建不同的Htt

19、pSession对象。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程session对象的常见方法 long getCreationTime():返回session对象创建的时间 String getId():返回session对象的Session Id编号 long getLastAccessedTime():返回客户提交请求的最后时间 Object getValue(String):返回session的应用层指定名称的值 String getValueNames():返回session的应用层数据的名称 void invalidate():使session对象无效并释放资源目

20、 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程 boolean isNew():判断是否是新创建的session void putValue(String,Object):赋值对象数据给session的应用层指定的名称 void removeValue(String):删除session的应用层指定名称的值 void setMaxInactiveInterval(int):设置Session处于不活动状态的最大时间间隔 int getMaxInactiveInterval():返回Session处于不活动状态的最大时间间隔 Enumeration getAttributeName

21、s():返回所有属性的名字目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程 void setAttribute(String,Object):设置指定属性的值 Object getAttribute(String name) :返回指定名字的属性,如果该属性不存在,将会返回null void removeAttribute(String name):“删除指定的属性(包含属性名、属性值)。如果在有效时间内,用户做出了新的请求,那么服务器就会将其看作一个新的用户,此时,服务器将创建一个新的Session,旧的Session信息将会丢失目 录上一页下一页退 出第9章JSP的内置对象开

22、发技术实用教程session的销毁 客户关闭浏览器; 超过Session生存时间; 以及在服务器端调用invalidte()方法,强制使Session无效。通常用这种方式实现用户注销。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程例9.5 设计一个用户身份验证的应用。作用是用户输入用户名和密码信息登陆网站,验证登陆信息,如果登陆信息正确,则显示欢迎界面,否则返回登陆界面。登陆页面JSP9-6.jsp身份验证JSP9-7.jsp欢迎界面JSP9-8.jsp用户注销JSP9-9.jsp目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程application对象是服务器的

23、Servlet容器为多个应用程序保存信息。application对象的范围更大,在同一个服务器中的多个应用程序共享一个application对象。application对象主要用于多个WEB应用或者多个用户之间共享数据。当服务器关闭或重启动时,原有的application对象会被注销。application对象是实现Servlet API的javax.servlet.ServletContext接口的实例对象。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程application对象的常见方法 void setAttribute(String,Object): 设置属性 Obje

24、ct getAttribute(String):返回指定属性的值 void removeAttribute(String):删除属性 Enumeration getAttributeNames():返回所有属性名 String getServerInfo():返回网络服务Servlet名字和版本目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程application对象的应用实例 例9.6 用application对象实现一个计数器。具体代码见JSP9-10.jsp,运行结果如下.目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程config对象可以获取服务器Servl

25、et的相关配置。 Servlet配置定义在对应web应用的WEB-INF目录下web.xml文件中。 简单点说,config对象是在一个servlet初始化时,Servlet引擎向它传递信息,具体包括servlet初始化时用的参数以及服务器的有关信息。 还可以利用config对象实现日志记录、以及重定向控制等功能。config对象是实现javax.servlet.ServletConfig接口的实例对象,目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程config对象的常见方法 String getInitParameter(String):返回servlet的指定名称的初始化参

26、数的值 Enumeration getInitParameterNames():返回servlet的所有初始化参数的名字 ServletContext getServletContext():返回servlet的上下文 String getServletName():返回servlet对象实例的名称目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程config对象的应用实例 例9.7 一个config对象获取所有servlet的初始值的简单应用。具体的JSP代码见程序JSP9-11.jsp,Servlet部署见web.xml。目 录上一页下一页退 出第9章JSP的内置对象开发技术实

27、用教程exception对象是java.lang.Throwable类的一个实例,表示运行时的异常。exception对象用来处理JSP文件在执行时发生的错误和异常。exception对象的常见方法 String getMessage():返回错误信息 void printStackTrace():以标准错误的形式输出一个错误和错误的堆栈 String toString():以字符串的形式返回一个对异常的描述目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程JSP页面中错误调用与错误处理是一个重要的应用。通过exception对象可以追踪运行过程中存在的问题,从而做出相应的处理。要

28、错误处理的流程: 首先,在可能会出错的JSP页面中,需要page指令进行设置属性errorPage来指定错误处理的页面; 而在错误处理页面中,要用page指令设置isErrorPage属性的值为“true”,通过这样的设置,才允许exception对象的应用。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程exception对象的应用实例 例9.8 设计一个登陆界面,如果用户名或密码名为空,转向错误处理页面进行错误处理。本应用由三个程序构成:(1)登陆界面程序,见JSP9-13.jsp(2)验证用户名或密码名是否为空,见JSP9-14.jsp;(3)错误处理的页面,见JSP9-1

29、5.jsp。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程注意:在例9.8中的应用中,如果运行的是默认配置的IE5.0以上浏览器,则并不会出现用户自定义的错误页面结果。只会在浏览器中出现“500内部错误”。这是因为IE默认设置中使用了友好HTTP错误信息导致。如果需要使用用户自定义的错误信息,需要将IE浏览器的“IE-Internet选项-高级-显示友好HTTP错误信息”选项信息取消,用户自定义的错误页面才可以使用。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程page对象是java.lang.Object的对象实例,它是JSP的实现类的实例,即JSP的Servlet处理当前请求的对象实例。JSP文件会由Servlet容器在第一次运行时编译成Servlet类,每次运行会创建一个该类的对象,这个对象可以用page表示。page对象相当于是编译的Servlet中this引用的一个代名词。目 录上一页下一页退 出第9章JSP的内置对象开发技术实用教程pageContext对象是javax.servlet.jsp.pageContext类的一个对象实例。该内置对象提供JSP页面上下文,表示JSP页面本身。它可以实现对JSP页面内所有的对象以及属性的管理和访问。目 录上一页下一页退 出第9章JSP的内置对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论