《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象

上传人:E**** 文档编号:89400976 上传时间:2019-05-24 格式:PPT 页数:72 大小:654.50KB
返回 下载 相关 举报
《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象_第1页
第1页 / 共72页
《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象_第2页
第2页 / 共72页
《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象_第3页
第3页 / 共72页
《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象_第4页
第4页 / 共72页
《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象》由会员分享,可在线阅读,更多相关《《Java Web应用开发技术实用教程》-王红-电子教案 第3章 JSP隐含对象(72页珍藏版)》请在金锄头文库上搜索。

1、2019/5/24,1,Java Web开发技术,第3章 JSP隐含对象,2019/5/24,Java Web开发技术,2,第3章 JSP隐含对象,为简化Web页面的开发过程,JSP提供了一些由容器实现和管理的隐含对象,这些对象在JSP页面中可以直接使用,不需要JSP页面编写者实例化。在JSP页面中,可以通过存取这些隐含对象实现与JSP页面和Servlet环境的相互访问。 本章主要内容包括:JSP隐含对象概述和各类隐含对象的具体说明。,2019/5/24,Java Web开发技术,3,3.1 JSP隐含对象概述,JSP页面的隐含对象就是在JSP页面中不用声明就可以使用的对象。隐含对象是JSP引

2、擎自动创建的Java类实例,它们能与Servlet环境交互。隐含对象可以实现很多功能,如从客户端获得数据、向客户端发回数据、控制传输数据的有效域和异常处理等。如:,2019/5/24,Java Web开发技术,4,隐含对象功能,不必使用表达式,直接存取out对象来打印一些东西到客户端: 不必直接传送参数,可以借助请求对象来取得客户端输入的参数值: 完成页面的重定向: 在错误页面中显示出错信息: 等等,2019/5/24,Java Web开发技术,5,JSP中的9种隐含对象,与输入/输出有关,与属性作用域有关,与Servlet 相关,与错误处理有关,2019/5/24,Java Web开发技术,

3、6,3.2与输入/输出有关的隐含对象,3.2.1 request对象 3.2.2 response对象 3.2.3 out对象,2019/5/24,Java Web开发技术,7,3.2.1 request对象,在JSP页面中,隐含对象request代表的是来自客户端的请求,通过它可以查看请求参数、请求类型(GET,POST,HEAD等)以及请求的HTTP头(Cookie,Referer等)客户端信息 ,它是实现 javax.servlet.HttpServletRequest 接口的类的一个实例。 request 对象的方法有很多 ,从功能角度可以将这些方法分为4类:,2019/5/24,Ja

4、va Web开发技术,8,1取得请求参数的方法,2019/5/24,Java Web开发技术,9,2.取得请求HTTP 头的方法,2019/5/24,Java Web开发技术,10,3储存和取得属性方法,2019/5/24,Java Web开发技术,11,4其他的方法,2019/5/24,Java Web开发技术,12,4其他的方法(续),2019/5/24,Java Web开发技术,13,request比较重要的方法,getParameter() getParameterNames() getParameterValues() getHeader(),记住噢,2019/5/24,Java W

5、eb开发技术,14,3.2.1.1. 获得客户端提交的信息,例exa3_1.jsp : 一个html文档exa3_1.jsp提交一个表单给tree.jsp页面,tree.jsp通过request.getParameter()接收表单中的客户输入,并将有关信息送回客户端。,2019/5/24,Java Web开发技术,15,获得客户端提交的信息(续), 文本框提交的用户名为: 客户端提交的按钮的名字为: ,exa3_1.jsp tree.jsp,1.运行,2.调用,3.结果,2019/5/24,Java Web开发技术,16,3.2.1.2. 处理中文信息,在例exa3_1.jsp中输入中文时将

6、不能正确显示, 如图所示: 这就引发如何处理客户端提交的中文问题。 JSP页面的汉字问题主要指两方面:JSP页面中的汉字问题和表单提交的汉字问题。,2019/5/24,Java Web开发技术,17,(1)JSP页面的汉字问题,对于JSP页面的汉字问题,需要在JSP中使用page指令告诉客户端汉字的编码方式:。在没有特别指示下,浏览器无法正确显示汉字,每个要显示汉字的JSP页面都应该包含该语句。,2019/5/24,Java Web开发技术,18,(2)表单提交的汉字问题,客户端和服务器交互过程中,在客户端和服务器用的是GB2312对汉字编码,而HTTP传输用ISO_8859_1编码,因此,不

7、仅服务器端必须用指令指示客户端汉字的显示编码,同时在服务器端接收到客户端数据时需要将编码转换为GB2312后进行处理,方法是: 或 ,其中tt为表单提交的含有中文的变量,2019/5/24,Java Web开发技术,19,改进后的tree.jsp,我们只须在tree.jsp中加入中文处理的相关语句,中文就能正确显示了 ,代码如下:, 文本框提交的用户名为: ,2019/5/24,Java Web开发技术,20,3.2.1.3. 避免空指针异常,例如一表单向JSP页面提交一个正数,然后计算这个正数的平方根,JSP中有这么一个语句:String textContent=request.getPar

8、ameter(“num”),其中num代表表单提交的正数,要注意由于JSP引擎在运行这个JSP页面时,客户端还没有提交数据,textContent也还没有创建,而JSP页面中的number=Double.parseDouble(textContent)语句需要使用textContent,此时textContent对象为null,Java解释器会提示出现空指针异常NullPointerException。为了避免使用空对象,在JSP页面中使用了如下代码: if ( textContent=null ) textContent=“100“; ,2019/5/24,Java Web开发技术,21,3

9、.2.1.4. 其它常用方法,getServletPath() getContentLength() getMethod() getHeader( ) getProtocol() ,2019/5/24,Java Web开发技术,22,3.2.1.5. 获取HTML表单中的各种数据,由于客户端经常使用表单提交数据,本节通过例子来说明表单中各种提交手段的用法。 表单的一般格式为: 表单中的标记(数据提交的手段) ,2019/5/24,Java Web开发技术,23,表单中各种提交手段 (1),下面例text.jsp表单的输入方式是文本框和口令,,运行结果如图3-8所示。,text.jsp关键代码:

10、 表单 用户登录 用户名: 图3-8 密码: ,2019/5/24,Java Web开发技术,24,表单中各种提交手段 (2),下面例子用单选按钮实现网上测试 radio.jsp关键代码: answer.jsp关键代码:,p诗人李清照是中国历史上哪个朝代的人? 宋朝 唐朝 明朝 清朝 史记的作者是谁? 曹雪芹 罗贯中 李白 司马迁 , 您的了分,图3-9 radio.jsp的输出结果,2019/5/24,Java Web开发技术,25,表单中各种提交手段 (3),下面例子说明滚动列表使用方式 :,select.jsp关键代码: 选择计算和的方式 计算1到n的和 计算1到n的平方和 计算1到n的

11、立方和 请选择n的值 n=10 n=20 n=30 n=40 n=50 n=100 ,sum.jsp关键代码: 您的求和结果是,2019/5/24,Java Web开发技术,26,3.2.1.6. 表格,表格由和标记定义。一般格式为: 单元格中的数据 单元格中的数据 ,2019/5/24,Java Web开发技术,27,表格应用举例,下面例tableform.jsp是表单使用,运行结果如图所示。tableform.jsp关键代码:, 杜甫是哪个朝代的人?: 宋朝 唐朝 请在右边表格中输入数据: ,2019/5/24,Java Web开发技术,28,3.2.2 response对象,当客户访问一

12、个服务器的页面时,会提交一个HTTP请求,服务器接到请求时会返回HTTP响应。响应是实现 javax.servlet.HttpServletResponse接口的类的一个实例。response对象代表的是对客户端的响应,可以通过response对象来组织发送到客户端的数据。response对象的方法也有很多, 下面的几个表列出了response对象的主要方法 :,2019/5/24,Java Web开发技术,29,设定表头的方法,2019/5/24,Java Web开发技术,30,设定响应状态码的方法,2019/5/24,Java Web开发技术,31,用来URL 重写的方法,2019/5/2

13、4,Java Web开发技术,32,其它方法,2019/5/24,Java Web开发技术,33,重要!,response对象中使用较多的方法是: setContentType() sendRedirect() setHeader(),记住噢,2019/5/24,Java Web开发技术,34,3.2.2.1. 动态设置MIME类型,在page指令中的contentType属性用来指定response对象响应客户端请求的MIME(Multipurpose Internet Mail Extension protocol,多用途网际邮件扩充协议)类型。 ContentType属性值和MIME类型

14、的主要对应关系如下表所示:,2019/5/24,Java Web开发技术,35,contentType属性和MIME类型的对应关系,page指令只能为contentType指定一个值,如果想动态地改变这个属性的值来以各种不同的方式做出响应,就要使用response对象的setContentType()方法改变contentType的值。一旦这个属性值被改变,服务器就将按照新的MIME类型做出响应 。参考example3-11.jsp 。,2019/5/24,Java Web开发技术,36,3.2.2.2. response对象的http头,response对象可以使用addHeader()和s

15、etHeader()方法动态添加和修改相应头的值,并将这些头发送给客户端。下面例example3_12.jsp中,response对象添加一个头refresh,使客户端在显示该页面时,每5秒钟刷新一次。运行结果如图 : example3_12.jsp关键代码:, 现在的时间是: ,2019/5/24,Java Web开发技术,37,3.2.2.3. response重定向,下面例中,客户填写表单,并提交给tree4.jsp页面。如果表单填写不完整,tree4.jsp会重新定向到填写页面,否则显示欢迎字样,运行结果如图 : tree4.jsp关键代码:,2019/5/24,Java Web开发技

16、术,38,3.2.2.4. response的状态行,当服务器响应客户端请求时,它发送的首行被称为状态行。状态行包括3位数字的状态码和对状态码的简单描述。其中,1xx主要是试验性质的;2xx表示请求成功;3xx表示在请求在满足之前应进一步采取的行动;4xx表示服务器无法满足要求;5xx服务器出现错误。具体可参考书中表3-11状态码表 。,2019/5/24,Java Web开发技术,39,3.2.3 out对象,out对象代表了向客户端发送数据的对象,通过out对象发送的内容将是浏览器需要显示的内容,是文本一级的。可以通过out对象直接向客户端写一个由程序动态生成HTML文件。它是javax.servlet.jsp.JspWriter类的一个实例。 JSP允许通过page指令的buffer属性调整out对象缓存的大小,甚至允许关闭缓存。,2019/5/24,Java Web开发技术,40,out对象重要方法,2019/5/24,Java We

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

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

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