轻松学java web开发之jsp内置对象

上传人:艾力 文档编号:53720142 上传时间:2018-09-04 格式:PPTX 页数:27 大小:578.48KB
返回 下载 相关 举报
轻松学java web开发之jsp内置对象_第1页
第1页 / 共27页
轻松学java web开发之jsp内置对象_第2页
第2页 / 共27页
轻松学java web开发之jsp内置对象_第3页
第3页 / 共27页
轻松学java web开发之jsp内置对象_第4页
第4页 / 共27页
轻松学java web开发之jsp内置对象_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《轻松学java web开发之jsp内置对象》由会员分享,可在线阅读,更多相关《轻松学java web开发之jsp内置对象(27页珍藏版)》请在金锄头文库上搜索。

1、第3章 JSP内置对象,JSP内置对象是为了简化JSP页面开发而建立的一些内部对象。这些对象不需要声明,可以在程序中直接使用。它们是JSP语言的精髓,掌握常见内建对象的使用技巧是进行JavaWeb开发必不可少的。正确地掌握和灵活地使用JSP内置对象是学习JSP开发的重中之重。本章就来为大家讲解九大内置对象,如表3.1所示。,第3章 JSP内置对象,由于我们在实际开发中经常会遇到中文乱码问题,所以在本章的结尾我们会为大家单独用一小节来讨论如何解决中文乱码的问题。,3.1 request内置对象,request对象用来接收客户端提交的各种信息。如果要与用户的互动,必须要知道用户的需求,然后根据这个

2、需求生成用户期望看到的结果。这样才能实现与用户的互动。在Web应用中,用户的需求就抽象成一个request对象,这个对象中间包括用户所有的请求数据,例如通过表单提交的表单数据等方式传递的参数,这些就是用户的需求。表3.1中列举了request对象中的常用方法及方法描述。,3.1.1 获取用户提交的表单信息,request对象最主要的一个作用就是用来封装用户提交的表单信息,然后通过如下两个方法来获取用户提交的表单信息。 getParameter(Sting name):获取客户端传给服务器的参数值。 getParameterValues(Sting name):获得某一个参数的所有的值。,3.1

3、.1 获取用户提交的表单信息,这是一个典型的获取用户表单的示例,它体现了JavaWeb中数据和提交的大致实现过程,如图3.5所示。,3.1.2 获取服务器端和客户端信息,使用request对象回可以获取提交请求的客户端信息及接收请求的服务器端信息,这些获取信息的方法如图3.6所示。,3.1.3 request中保存和读取共享数据,request对象不仅能够封装请求信息,而且回可以保存和读取某一范围内的共享数据。request对象定义了一对方法getAttribute(Sting name)和setAttribute(Sting name,Java.long.Object.objt),用来在re

4、quest对象中读取和保存数据。,3.2 response内置对象,response对象是服务器端向客户端返回的数据,从这个对象中间可以取出一部分与服务器互动的数据和信息。response对象的主要方法及方法描述如表3.2所示。,3.2.1 response实现页面转向,使用response对象的sendRedirect(String location)方法可以实现页面的转向。在上一章的动作指令中,我们也学过动作指令也能够实现页面的转向,那么这两种转向有什么不同呢?它们的区别如图3.9所示。,3.2.2 动态设置页面返回的MIME类型,在JSP中可以使用page编译指令来设置页面的MIME(M

5、ultipurpose Internet Mail Extensions多功能Internet邮件扩充服务,即文件的类型)返回类型,但是在这里设置是页面的编译阶段,以电脑设置完成,在运行阶段是不可更改的。而使用response对象中的setContentType(String type)方法可以来动态设置页面的返回类型。,3.3 out内置对象,out内置对象是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流,从而把动态的内容转化成HTML形式来展示。这个对象在任何JSP页面中都可以任意访问。out对象的方法主要用于输出各种各样格式的数据,如表3.3所示。在ou

6、t对象方法中,最常用的就是print()和println()方法。我们可以运用这两种方法实现各种类型数据的输出。,3.4 session内置对象,session对象用来保存每个用户的信息。例如,登录名、密码、上次访问时间等,从而可以跟踪每个用户的操作状态。一般情况下,当用户首次登录系统时,Web容器就会给该用户创建一个唯一用来标识该用户会话的session id。为了跟踪用户的操作状态,在多个页面之间保存共享信息,JSP中提供了session对象。当该用户退出系统时,这个session自动消失。session对象的主要方法如表3.4所示。下面我们通过几个session常用实例的介绍,来详细说明

7、这些方法的具体用法。,3.4.1 获取session的ID,session对象的ID是用来唯一识别session的标识。该ID由一个32位的十六进制字符串组成,可以保证服务器中所创建的所有session对象都不相同。,3.4.2 session中保存和读取共享数据,与request对象一样,session对象也有一对setAttribute()和getAttribute()方法,用来存储或者读取session中的共享信息。而两种对象的两个方法的区别在于共享信息的范围不同,session对象中保存的共享信息的范围是整个会话过程,而request对象中保存共享信息的范围则是提交和被提交的页面。,3

8、.4.3 session对象的生命周期,session对象的创建是由服务器完成的,当客户端第一次请求服务器时由服务器创建。如果会话过程一直存在,则session对象也将一直存在下去。只有当session过期、客户端关闭浏览器或者服务器端调用了session的invalIDate()方法时session对象才被释放掉,结束其生命周期。,3.5 application内置对象,application对象保存着整个Web应用运行期间的全局数据和信息。从Web应用开始运行开始,这个对象就会被创建。在整个Web应用运行期间可以在任何JSP页面中访问这个对象。所以如果要保存在整个Web应用运行期间都可以访

9、问的数据,这时候就要用到application对象。 application对象常用的主要方法及方法描述如表3.5所示。application对象最常用的方法回是getAttribute()和set Attribute()方法。,3.6 其他内置对象,前面讲解的五种内置对象是在JSP中最为常用的对象,需要读者熟悉并运用。还有四种JSP内置对象使用几率较小,我们只介绍其基本用法。,3.6.1 pageContext内置对象,pageContext对象又被称为JSP作用域通信对象。该对象提供了访问其他内置对象的统一入口,使用户可以方便地访问页面作用域中定义的所有内置对象。pageContext对象

10、的主要方法及方法描述如表3.6所示。,3.6.2 config内置对象,config对象代表当前JSP页面的配置信息。但JSP页面通常无须预先进行配置,也就不存在配置信息了。因此该对象在JSP页面中比较少用,但在Servlet中则用处相对较大,因为Servlet需要在web.xml文件中进行配置,从而设置初始化配置参数。config对象常用的方法及方法描述如表3.7所示。,3.6.3 exception内置对象,exception对象用来封装运行时出现的异常信息。该对象只能被处理错误的页面使用,一般用来处理错误的页面会在其页面指令中声明“isErrorPage=true”。exception对

11、象的主要方法和方法描述如表3.8所示。,3.6.4 page内置对象,page内置对象指向当前JSP页面本身,有点类似于类中的this指针,它表示当前JSP页面转换后生成的Servlet类的实例。page对象常用的方法及方法描述如表3.9所示。,3.7 JSP中的中文乱码问题,在Java开发中,中文乱码是一个最让人头疼的问题,如果不对中文做特殊的编码处理,这些中文字符就会变成乱码或者是问号。而在不同情况下对这些乱码的处理方法又各不相同,这就导致很多初学者对中文乱码问题束手无策。其实造成这种问题的根本原因是Java中才用的默认编码方式是Unicode,而中文的编码方式一般情况是GB2312,因为

12、编码格式的不同,导致在中文不能正常显示。 本节我们将对JSP开发过程中的中文乱码常见问题进行介绍,并提供对应的解决方法。UTF-8、GBK、GB2312是三种支持中文显示的编码方案,在本节我们统一采用GB2312的编码格式。,3.7.1 JSP页面中文乱码,在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一中是在JSP中动态输出的中文乱码。 显然,图3.30所示并非我们预期的效果,在JSP源代码中清清楚楚看到的是中文,在这里为什么就成了乱码,造成这种原因的可能就是出在浏览器端的字符显示设置上,我们需要对其进行如图3.31所示的改进。,3.7.2 表单提交中文乱码,对于表单

13、中提交的数据,可以使用request.getParameter(“)的方法获取。但是当表单中如果出现中文数据的时候就会出现乱码。这是我们在JavaWeb开发中经常会遇到的情况。 我们可以从图3.35中清楚的看到输入的中文用户名在用request取出以后全部变成了乱码,造成这个问题的原因是:在Tomcat中,对于以POST方法提交的表单采用的默认编码为ISO-8859-1,而这种编码格式不支持中文字符。要解决这个问题,我们可以采用转换编码格式的方法,转换方法如图3.36所示.,3.7.3 URL传递参数中文乱码,在一般情况下,我们可以采用类似http:/localhost:8080/JSPWeb

14、/URLCharset.jsp?param=中文这种形式来传递参数。但是这种传递方式仍然有可能会发生乱码问题。 对于URL传递中文参数乱码这个问题,其处理方法比较独特,仅仅转换这个中文字符串的编码,或者设施JSP页面显示编码都是不能解决问题的。在这里需要多Tomcat服务器的配置文件进行修改才可以解决问题。在这里需要修改Tomcat的conf目录下的server.xml配置文件。修改方法是在port=“8080“后面添加URI编码设置URIEncoding=“gb2312“即可。如图3.40所示。,3.7.4 MyEclipse开发工具中文JSP文件的保存,在Eclipse中,JSP文件默认的

15、编码格式为ISO-8859-1,所以在JSP代码中间如果出现中文就不能保存。 对与这个问题,只要在JSP页面中指明页面编码即可。pageEncoding=“gb2312“指明了JSP页面编码采用gb2312,这样就可以正常保存JSP的源文件。修改方式如图3.43所示。,3.8 小结,本章主要讲解JSP内置对象的内容,包括了JSP九大对象,其中重点讲解了前5种类型。由于在JSP编码中读者经常会遇到中文乱码问题,所以我们又增加了一节对于这个问题解决方法的讲解。本章的重点是对request、response、session、out这些重要内置对象的理解,难点是能在理解的基础上实现对这些对象的熟练运用。希望读者多加,在今后的Web开发中正确地掌握和灵活地使用JSP内置对象。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号