轻松学JavaWeb开发之JSP内置对象.pptx

上传人:zhu****ei 文档编号:5408121 上传时间:2020-01-28 格式:PPTX 页数:27 大小:578.48KB
返回 下载 相关 举报
轻松学JavaWeb开发之JSP内置对象.pptx_第1页
第1页 / 共27页
轻松学JavaWeb开发之JSP内置对象.pptx_第2页
第2页 / 共27页
轻松学JavaWeb开发之JSP内置对象.pptx_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第3章JSP内置对象 JSP内置对象是为了简化JSP页面开发而建立的一些内部对象 这些对象不需要声明 可以在程序中直接使用 它们是JSP语言的精髓 掌握常见内建对象的使用技巧是进行JavaWeb开发必不可少的 正确地掌握和灵活地使用JSP内置对象是学习JSP开发的重中之重 本章就来为大家讲解九大内置对象 如表3 1所示 第3章JSP内置对象 由于我们在实际开发中经常会遇到中文乱码问题 所以在本章的结尾我们会为大家单独用一小节来讨论如何解决中文乱码的问题 3 1request内置对象 request对象用来接收客户端提交的各种信息 如果要与用户的互动 必须要知道用户的需求 然后根据这个需求生成用户期望看到的结果 这样才能实现与用户的互动 在Web应用中 用户的需求就抽象成一个request对象 这个对象中间包括用户所有的请求数据 例如通过表单提交的表单数据等方式传递的参数 这些就是用户的需求 表3 1中列举了request对象中的常用方法及方法描述 3 1 1获取用户提交的表单信息 request对象最主要的一个作用就是用来封装用户提交的表单信息 然后通过如下两个方法来获取用户提交的表单信息 getParameter Stingname 获取客户端传给服务器的参数值 getParameterValues Stingname 获得某一个参数的所有的值 3 1 1获取用户提交的表单信息 这是一个典型的获取用户表单的示例 它体现了JavaWeb中数据和提交的大致实现过程 如图3 5所示 3 1 2获取服务器端和客户端信息 使用request对象回可以获取提交请求的客户端信息及接收请求的服务器端信息 这些获取信息的方法如图3 6所示 3 1 3request中保存和读取共享数据 request对象不仅能够封装请求信息 而且回可以保存和读取某一范围内的共享数据 request对象定义了一对方法getAttribute Stingname 和setAttribute Stingname Java long Object objt 用来在request对象中读取和保存数据 3 2response内置对象 response对象是服务器端向客户端返回的数据 从这个对象中间可以取出一部分与服务器互动的数据和信息 response对象的主要方法及方法描述如表3 2所示 3 2 1response实现页面转向 使用response对象的sendRedirect Stringlocation 方法可以实现页面的转向 在上一章的动作指令中 我们也学过动作指令也能够实现页面的转向 那么这两种转向有什么不同呢 它们的区别如图3 9所示 3 2 2动态设置页面返回的MIME类型 在JSP中可以使用page编译指令来设置页面的MIME MultipurposeInternetMailExtensions多功能Internet邮件扩充服务 即文件的类型 返回类型 但是在这里设置是页面的编译阶段 以电脑设置完成 在运行阶段是不可更改的 而使用response对象中的setContentType Stringtype 方法可以来动态设置页面的返回类型 3 3out内置对象 out内置对象是在Web应用开发过程中使用最多的一个对象 其功能就是动态的向JSP页面输出字符流 从而把动态的内容转化成HTML形式来展示 这个对象在任何JSP页面中都可以任意访问 out对象的方法主要用于输出各种各样格式的数据 如表3 3所示 在out对象方法中 最常用的就是print 和println 方法 我们可以运用这两种方法实现各种类型数据的输出 3 4session内置对象 session对象用来保存每个用户的信息 例如 登录名 密码 上次访问时间等 从而可以跟踪每个用户的操作状态 一般情况下 当用户首次登录系统时 Web容器就会给该用户创建一个唯一用来标识该用户会话的sessionid 为了跟踪用户的操作状态 在多个页面之间保存共享信息 JSP中提供了session对象 当该用户退出系统时 这个session自动消失 session对象的主要方法如表3 4所示 下面我们通过几个session常用实例的介绍 来详细说明这些方法的具体用法 3 4 1获取session的ID session对象的ID是用来唯一识别session的标识 该ID由一个32位的十六进制字符串组成 可以保证服务器中所创建的所有session对象都不相同 3 4 2session中保存和读取共享数据 与request对象一样 session对象也有一对setAttribute 和getAttribute 方法 用来存储或者读取session中的共享信息 而两种对象的两个方法的区别在于共享信息的范围不同 session对象中保存的共享信息的范围是整个会话过程 而request对象中保存共享信息的范围则是提交和被提交的页面 3 4 3session对象的生命周期 session对象的创建是由服务器完成的 当客户端第一次请求服务器时由服务器创建 如果会话过程一直存在 则session对象也将一直存在下去 只有当session过期 客户端关闭浏览器或者服务器端调用了session的invalIDate 方法时session对象才被释放掉 结束其生命周期 3 5application内置对象 application对象保存着整个Web应用运行期间的全局数据和信息 从Web应用开始运行开始 这个对象就会被创建 在整个Web应用运行期间可以在任何JSP页面中访问这个对象 所以如果要保存在整个Web应用运行期间都可以访问的数据 这时候就要用到application对象 application对象常用的主要方法及方法描述如表3 5所示 application对象最常用的方法回是getAttribute 和setAttribute 方法 3 6其他内置对象 前面讲解的五种内置对象是在JSP中最为常用的对象 需要读者熟悉并运用 还有四种JSP内置对象使用几率较小 我们只介绍其基本用法 3 6 1pageContext内置对象 pageContext对象又被称为JSP作用域通信对象 该对象提供了访问其他内置对象的统一入口 使用户可以方便地访问页面作用域中定义的所有内置对象 pageContext对象的主要方法及方法描述如表3 6所示 3 6 2config内置对象 config对象代表当前JSP页面的配置信息 但JSP页面通常无须预先进行配置 也就不存在配置信息了 因此该对象在JSP页面中比较少用 但在Servlet中则用处相对较大 因为Servlet需要在web xml文件中进行配置 从而设置初始化配置参数 config对象常用的方法及方法描述如表3 7所示 3 6 3exception内置对象 exception对象用来封装运行时出现的异常信息 该对象只能被处理错误的页面使用 一般用来处理错误的页面会在其页面指令中声明 isErrorPage true exception对象的主要方法和方法描述如表3 8所示 3 6 4page内置对象 page内置对象指向当前JSP页面本身 有点类似于类中的this指针 它表示当前JSP页面转换后生成的Servlet类的实例 page对象常用的方法及方法描述如表3 9所示 3 7JSP中的中文乱码问题 在Java开发中 中文乱码是一个最让人头疼的问题 如果不对中文做特殊的编码处理 这些中文字符就会变成乱码或者是问号 而在不同情况下对这些乱码的处理方法又各不相同 这就导致很多初学者对中文乱码问题束手无策 其实造成这种问题的根本原因是Java中才用的默认编码方式是Unicode 而中文的编码方式一般情况是GB2312 因为编码格式的不同 导致在中文不能正常显示 本节我们将对JSP开发过程中的中文乱码常见问题进行介绍 并提供对应的解决方法 UTF 8 GBK GB2312是三种支持中文显示的编码方案 在本节我们统一采用GB2312的编码格式 3 7 1JSP页面中文乱码 在JSP页面中 中文显示乱码有两种情况 一种是HTML中的中文乱码 另一中是在JSP中动态输出的中文乱码 显然 图3 30所示并非我们预期的效果 在JSP源代码中清清楚楚看到的是中文 在这里为什么就成了乱码 造成这种原因的可能就是出在浏览器端的字符显示设置上 我们需要对其进行如图3 31所示的改进 3 7 2表单提交中文乱码 对于表单中提交的数据 可以使用request getParameter 的方法获取 但是当表单中如果出现中文数据的时候就会出现乱码 这是我们在JavaWeb开发中经常会遇到的情况 我们可以从图3 35中清楚的看到输入的中文用户名在用request取出以后全部变成了乱码 造成这个问题的原因是 在Tomcat中 对于以POST方法提交的表单采用的默认编码为ISO 8859 1 而这种编码格式不支持中文字符 要解决这个问题 我们可以采用转换编码格式的方法 转换方法如图3 36所示 3 7 3URL传递参数中文乱码 在一般情况下 我们可以采用类似http localhost 8080 JSPWeb URLCharset jsp param 中文 这种形式来传递参数 但是这种传递方式仍然有可能会发生乱码问题 对于URL传递中文参数乱码这个问题 其处理方法比较独特 仅仅转换这个中文字符串的编码 或者设施JSP页面显示编码都是不能解决问题的 在这里需要多Tomcat服务器的配置文件进行修改才可以解决问题 在这里需要修改Tomcat的conf目录下的server xml配置文件 修改方法是在port 8080 后面添加URI编码设置URIEncoding gb2312 即可 如图3 40所示 3 7 4MyEclipse开发工具中文JSP文件的保存 在Eclipse中 JSP文件默认的编码格式为ISO 8859 1 所以在JSP代码中间如果出现中文就不能保存 对与这个问题 只要在JSP页面中指明页面编码即可 pageEncoding gb2312 指明了JSP页面编码采用gb2312 这样就可以正常保存JSP的源文件 修改方式如图3 43所示 3 8小结 本章主要讲解JSP内置对象的内容 包括了JSP九大对象 其中重点讲解了前5种类型 由于在JSP编码中读者经常会遇到中文乱码问题 所以我们又增加了一节对于这个问题解决方法的讲解 本章的重点是对request response session out这些重要内置对象的理解 难点是能在理解的基础上实现对这些对象的熟练运用 希望读者多加练习 在今后的Web开发中正确地掌握和灵活地使用JSP内置对象
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!