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

付费下载

下载本文档

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

文档简介

1、第3章 JSP内置对象n本章主要内容介绍本章主要内容介绍JSP的内置对象的使用,主要有的内置对象的使用,主要有request、response、session、application、out、page等对象的使用。等对象的使用。n本章任务:本章任务: n获取客户端数据。获取客户端数据。 n处理服务器响应。处理服务器响应。 n存储用户会话。存储用户会话。 n本章技能目标:掌握本章技能目标:掌握JSP常用内置对象及使用方法。常用内置对象及使用方法。获取客户端数据获取客户端数据n实现用户注册信息获取及显示实现用户注册信息获取及显示n编写用户注册功能,注册信息包括用户名、密码、性别、编写用户注册功能,

2、注册信息包括用户名、密码、性别、E-mail、熟练开发语言,如图熟练开发语言,如图3-1所示,提交后,显示用户输入的数据,所示,提交后,显示用户输入的数据,如图如图3-2所示。所示。n实现过程:实现过程: n1表单制作。在项目中,利用表单制作。在项目中,利用Dreamweaver制作表单,设置制作表单,设置相关属性,如图相关属性,如图3-3所示,使其自动生成表单页面所示,使其自动生成表单页面XHTML代码,代码,见程序见程序3-1。n2显示页面制作。在显示页面制作。在Dreamweaver中制作表格,如图中制作表格,如图3-4所示,所示,调整好样式后,在调整好样式后,在Eclipse中编写获取

3、表单的代码。代码见程序中编写获取表单的代码。代码见程序3-2所示。所示。n3调试运行。在调试运行。在Eclipse中运行中运行exam3_1_reg.jsp,输入内容,输入内容测试,提交后显示效果如图测试,提交后显示效果如图3-5所示。所示。n图图新知识点新知识点JSP内置对象、内置对象、request nJSP内置对象概述内置对象概述n 为了简化为了简化Web页面的开发过程,页面的开发过程,JSP提供了一些由容器实现提供了一些由容器实现和管理的对象,这些对象在和管理的对象,这些对象在JSP中可以直接使用,不需要中可以直接使用,不需要JSP页页面编写进行实例化,可以直接使用,此类对象称之为面编

4、写进行实例化,可以直接使用,此类对象称之为JSP的内置的内置对象。对象。nJSP中规范定义了中规范定义了9个内置对象,个内置对象,n分别是分别是request、response、session、napplication、out、page、npageContext和和exception。n其说明见表其说明见表3-1。request对象对象 扩展扩展中文乱码处理、中文乱码处理、request中其他信息中其他信息获取获取n1.获取显示含有中文的信息获取显示含有中文的信息n客户端提交数据当含有中文时,客户端提交数据当含有中文时,JSP不能正常显示。如将不能正常显示。如将节的表单增加个人简

5、介后,程序为节的表单增加个人简介后,程序为exam3_1_reg_2.jsp,此处,此处略,运行效果如图略,运行效果如图3-6,其提交后显示会是乱码,如图,其提交后显示会是乱码,如图3-7所示。所示。因此,要对含有中文的表单数据,要进行编码设置。其主要方法因此,要对含有中文的表单数据,要进行编码设置。其主要方法为在获取程序中设置字符集,使为在获取程序中设置字符集,使request其字符集与页面字符集其字符集与页面字符集保持一致。如程序保持一致。如程序3-3所示。所示。n2 .获得客户端请求的相关信息获得客户端请求的相关信息nHttpServletRequest包含很多可以获取与当前请求相关信息

6、的包含很多可以获取与当前请求相关信息的方法,具体可查看方法,具体可查看API文档,下面的例子将展示其中一部分方法文档,下面的例子将展示其中一部分方法的使用,的使用,exam3_1_request.jsp是提交请求的页面,是提交请求的页面,exam3_1_showInfo.jsp是处理请求的页面,在此页面中将调是处理请求的页面,在此页面中将调用用request对象的各种方法,以获取与当前请求相关的一些信息。对象的各种方法,以获取与当前请求相关的一些信息。运行效果如图运行效果如图3-9、3-10所示。所示。处理服务器响应处理服务器响应n1.实现四则运算测试功能实现四则运算测试功能n针对刚学会整数四

7、则运算的小学生,开发一个测试网站。要求在针对刚学会整数四则运算的小学生,开发一个测试网站。要求在测试页面中能随机产生一个四则运算式,当用户在测试页面中能随机产生一个四则运算式,当用户在userAnswer表单域内填写答案并提交后,获取用户所填的答案,判断答案的表单域内填写答案并提交后,获取用户所填的答案,判断答案的对错后,如果错误则进入错误提示页面;如果正确则进入正确页对错后,如果错误则进入错误提示页面;如果正确则进入正确页面。测试页面效果如图面。测试页面效果如图3-11所示,答对后的显示页面如图所示,答对后的显示页面如图3-12所示,答错后的提示页面如图所示,答错后的提示页面如图3-13所示

8、。所示。n实现过程:实现过程: n1.测试页面。测试页面。n在测试页面在测试页面exam_3_2_test.jsp中,需要生成一个简单的四则中,需要生成一个简单的四则运算式,即生成两个操作数和一个操作符,并制作一个表单,将运算式,即生成两个操作数和一个操作符,并制作一个表单,将用户所填的答案传递到处理页面。具体代码见程序用户所填的答案传递到处理页面。具体代码见程序3-5。新知识点新知识点response、out nresponse nJSP的内置对象的内置对象response代表服务器端返回给客户端的相应,其代表服务器端返回给客户端的相应,其主要用于处理响应数据。该对象的方法主要包括处理响应头

9、的相主要用于处理响应数据。该对象的方法主要包括处理响应头的相关属性的方法、设定响应状态码的方法、重定向方法、设置响应关属性的方法、设定响应状态码的方法、重定向方法、设置响应体相关内容和属性的方法等等。其常用方法见表体相关内容和属性的方法等等。其常用方法见表3-3所示。所示。扩展扩展设置响应的设置响应的MIME类型任类型任n任务:将一个文本文件包含在任务:将一个文本文件包含在jsp页面中,且在显示页面内容之页面中,且在显示页面内容之前先让用户选择查看文件所使用的方式,将三种可选方式(文本前先让用户选择查看文件所使用的方式,将三种可选方式(文本方式、网页方式、方式、网页方式、word文档方式)放在

10、下拉框中供用户选择。文档方式)放在下拉框中供用户选择。当用户选择并点击当用户选择并点击“查看按钮查看按钮”后,按用户所选方式展现内容。后,按用户所选方式展现内容。n实现过程:实现过程: n1.创建一个名为创建一个名为exam3_2_mimeSetting.jsp的页面,该页面的页面,该页面包含让用户选择查看文件方式的表单。其中包含让用户选择查看文件方式的表单。其中标签内的代标签内的代码如程序码如程序3-10所示,页面效果如图所示,页面效果如图3-15所示。所示。n2创建一个名为创建一个名为exam3_2_mimeSettingTest.txt的文本文档,的文本文档,与上述的与上述的jsp文件放

11、置在同一个页面中。文档的内容如图所示。文件放置在同一个页面中。文档的内容如图所示。n3创建响应页面创建响应页面exam3_2_mimeSetting_do.jsp,代码如程,代码如程序序3-11所示。所示。存储用户会话存储用户会话n1 判断用户是否已登录判断用户是否已登录n实现如下功能:用户成功登录后,只要未关闭浏览器的情况下,实现如下功能:用户成功登录后,只要未关闭浏览器的情况下,可随时访问本站点的任何页面(当然此处本站点只有登录页面和可随时访问本站点的任何页面(当然此处本站点只有登录页面和欢迎页面),如果用户在未登录的情况下访问欢迎页面的话,给欢迎页面),如果用户在未登录的情况下访问欢迎页

12、面的话,给出相应的提示,并在出相应的提示,并在5秒后跳转到登录页面。秒后跳转到登录页面。n实现:当用户在登录页面(实现:当用户在登录页面(exam3_3_login.jsp)输入用户名)输入用户名和密码并点击登录后,在处理页面和密码并点击登录后,在处理页面exam3_3_login_do.jsp(代码如程序(代码如程序3-12所示)中判断用户名和密码是否正确,如果正所示)中判断用户名和密码是否正确,如果正确,即登录成功,则将名为确,即登录成功,则将名为“username”,值为用户所输入的,值为用户所输入的用户名的属性添加到用户名的属性添加到session对象中,然后进入对象中,然后进入exa

13、m3_3_welcome.jsp(代码如程序(代码如程序3-13所示)中;如果用所示)中;如果用户名或密码不正确,则输出提示户名或密码不正确,则输出提示“用户名或密码不正确,用户名或密码不正确,5秒后秒后为您跳转回登录页面为您跳转回登录页面”,并在,并在5秒后跳转回登录页面。如果用户秒后跳转回登录页面。如果用户没有登录,而直接访问没有登录,而直接访问exam3_3_welcome.jsp,则输出提示,则输出提示“您必须先登录,您必须先登录,5秒后为您跳转回登录页面秒后为您跳转回登录页面”,并在,并在5秒后跳转秒后跳转回登录页面。回登录页面。新知识点新知识点session、aplication

14、n1. session nsession(会话)是用来在访问一个网站时发出的多个页面请求(会话)是用来在访问一个网站时发出的多个页面请求或者在多次页面跳转之间识别同一个用户并且存储这个用户的相或者在多次页面跳转之间识别同一个用户并且存储这个用户的相关信息的一种方式。通常从一个客户连接到某个服务器开始,直关信息的一种方式。通常从一个客户连接到某个服务器开始,直到他关闭浏览器离开这个服务器为止,称之为一次会话。到他关闭浏览器离开这个服务器为止,称之为一次会话。n2. application nJSP内置的内置的application对象是对象是javax.servlet.ServletContex

15、t类的一个实例,可以通过它和类的一个实例,可以通过它和Servlet容器进行通信,如获取一容器进行通信,如获取一个文件的个文件的MIME类型,转发请求,写日志文件等等;也可以通过类型,转发请求,写日志文件等等;也可以通过它共享一些全局信息。它共享一些全局信息。扩展扩展cookie n记录用户以往访问当前站点的相关信息记录用户以往访问当前站点的相关信息n任务描述:当用户访问本网站的登录页面时,能够自动显示出该任务描述:当用户访问本网站的登录页面时,能够自动显示出该用户以前访问本网站时曾经使用过的用户名。用户以前访问本网站时曾经使用过的用户名。n实现过程:这样的功能一般都是基于实现过程:这样的功能

16、一般都是基于cookie实现的。首先创建一实现的。首先创建一个个web应用,当用户访问本网站的登录页面应用,当用户访问本网站的登录页面exam3_3_cookie_login.jsp(代码如程序(代码如程序3-17所示)时,该所示)时,该页面读取客户端的页面读取客户端的cookie,如果,如果cookie中存在中存在username记录,记录,则在登录表单的用户名一栏中自动填入该则在登录表单的用户名一栏中自动填入该username值。当用户值。当用户成功登录后,将该成功登录后,将该username存入存入cookie中。登录处理页面中。登录处理页面exam3_3_cookie_login_do

17、.jsp如程序如程序3-18所示。所示。n知识点:知识点:Cookie简介简介n1.向客户端发送向客户端发送Cookie n2.从客户端读取从客户端读取Cookie 综合应用综合应用简易购物车的实现简易购物车的实现n任务:实现一个简易的购物车。能够将同一个用户在本购物网站的不同任务:实现一个简易的购物车。能够将同一个用户在本购物网站的不同页面所选的商品加入购物车,用户能够填写商品的数量。商品显示页面页面所选的商品加入购物车,用户能够填写商品的数量。商品显示页面所显示的商品内容需动态读取,由于至此尚未学习连接数据库的知识,所显示的商品内容需动态读取,由于至此尚未学习连接数据库的知识,所以本任务假

18、定将商品信息存入文本文档中。本任务通过两类商品(书所以本任务假定将商品信息存入文本文档中。本任务通过两类商品(书籍和食品,分别显示在两个购物页面上),让读者理解如何将同一个用籍和食品,分别显示在两个购物页面上),让读者理解如何将同一个用户在不同页面所选择的商品关联起来。书籍信息页面效果如图户在不同页面所选择的商品关联起来。书籍信息页面效果如图3-24所示,所示,食品信息页面效果图如图食品信息页面效果图如图3-25所示,这两个图是用户还没添加任何商品所示,这两个图是用户还没添加任何商品到购物车时的效果。当用户在任意的购物页面中填入购买某种商品的数到购物车时的效果。当用户在任意的购物页面中填入购买某种商品的数量并单击量并单击“购买购买”按钮后,购物车中会按用户的操作添加相应的商品和按钮后,购物车中会按用户的操作添加相应的商品和数量,并返回购物页面,并在该页的右上角显示购物车中的内容,效

温馨提示

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

评论

0/150

提交评论