




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第5章 JSP的应用学前提示为了解决代码与页面相分离的问题,Sun公司推出了JSP技术,使页面代码与Java代码完全分离。本章主要介绍JSP的页面构成、执行过程、字符转译、隐式对象等技术。知识要点JSP概述JSP页面的构成JSP的执行过程JSP的异常处理机制JSP的隐式对象JSP的设计模式25.1JSP概述纯粹基于Servlet的方法存在一些弊端,总结起来主要有以下几条:开发者和维护应用程序的成员必须对Java编程知识有全面的了解,因为处理代码和处理HTML元素混合在一块儿。如果要改变应用的外观,或者增加对新客户类型的支持(如WML客户),则需要对Servlet代码进行更新和重编译。在设计应用界面时,很难充分利用Web页面开发工具。如果这种工具用于开发Web页面布局,所生成的HTML就必须手工地嵌入到Servlet代码中,这个过程相当耗费时间,很容易出错。35.1JSP概述1.简便性和有效性2.程序的独立性3.程序的兼容性4.程序的可重用性45.2JSP页面的构成JSP页面就是带有JSP元素的常规Web页面,它由静态内容和动态内容构成。其中,静态内容指HTML元素,在前面的章节中已经讲到,此处不做深入介绍。这里主要学习动态内容的知识,动态内容(JSP元素)包括指令元素、脚本元素、动作元素、注释等内容。下面将一一进行讲解,最后再通过一个示例来加强对JSP元素的理解。55.2.1指令元素指令元素主要用于为转换阶段提供JSP页面的相关信息,指令不会产生任何输出到当前的输出流中,它指定了有关页面本身的信息,这些信息在请求之间一直保持不变,指令的语法如下:<%@directive{attr="value"}*%>1.page指令(1) import=“导包列表”(2) language=“scriptingLangeuage”(3) contentType=“ctinfo”(4) pageEncoding=“peingo”2.include指令3.taglib指令65.2.2脚本元素使用JSP脚本元素可以将Java代码嵌入到JSP页面里,这些Java代码将出现在由当前JSP页面生成的Servlet中,使JSP将静态内容与动态内容分离出来。1.表达式2.脚本3.声明4.实例练习实例——JiuJiudemo。75.2.3JSP的动作JSP的动作元素用来控制JSP容器的动作,可以动态插入文件、重用JavaBean组件、导向另一个页面等。动作元素与指令元素不同,动作元素是在客户端请求时动态执行的,每次有客户端请求时,可能都会被执行一次,而指令元素是在编译时被编译执行,它只会被编译一次。1.<jsp:useBean>2.<jsp:setProperty>3.<jsp:getProperty>4.<jsp:include>(1) 不带参数的include动作:(2) 带参数的include动作:5.<jsp:forward>(1) 不带参数的forward动作(2) 带参数的forward动作6.<jsp:param>7.<jsp:plugin>85.2.4注释JSP有两种注释方式。<!--...-->:在客户端查看源代码时能看见注释。<%--...--%>:在客户端查看源代码时不能看见注释。95.3JSP的执行过程JSP的执行过程主要可以分为以下几点。(1) 客户端发出请求。(2) Web容器将JSP转译成Servlet源代码。(3) Web容器将产生的源代码进行编译。(4) Web容器加载编译后的代码并执行。(5) 把执行结果响应至客户端。执行过程如图5.4所示。105.4JSP的异常处理机制JSP规范中定义了异常处理机制。JSP异常处理有以下两个步骤。1.撰写一个JSP“错误页面”<%@pageisErrorPage="true"%>2.在JSP内指定异常发生时应该回应到哪个“错误页面”要想让页面产生异常的时候由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理页面,格式如下:<%@pageerrorPage="异常处理文件"%>假设要设置前面编写的errorPage.jsp页面为当前页面的异常处理文件,可以使用下面的代码:<%@pageerrorPage="errorPage.jsp"%>115.5JSP的隐式对象JSP隐式对象是Web容器加载的一组类的实例。它是可以直接在JSP页面使用的对象。分为4个主要类别。输入和输出对象:控制页面的输入和输出(request、response、out)。作用域通信对象:检索与JSP页面的Servlet相关的信息(session、application、pageContext)。Servlet对象:提供有关页面环境的信息(page、config)。错误对象:处理页面中的错误(exception)。读者可以参照图5.7来快速记忆9大隐式对象。125.5.1输入和输出对象1.request对象2.response对象3.out对象135.5.2作用域通信对象1.pageContext对象2.session对象3.application对象145.5.3Servlet对象1.page对象2.config对象155.5.4错误对象exceptionexception对象处理JSP页面中的错误。printStackTrace()方法用于显示异常的堆栈跟踪。165.5.5表单验证的示例这个示列通过一页面提交表单信息给Servlet,Servlet获取信息,经过处理后,把信息放入request对象中,如果用户提交的姓名为空,将重新返回到登录首页,否则,把提交的信息全部显示出来。具体操作如下。(1) 新建一个WebProject工程(JSPdemo2)。(2) 编写formtt.jsp页面,页面效果如图5.8所示。175.5.5表单验证的示例(4) 在web.xml文件中注册Servlet信息(5) 编写result.jsp页面(6) 发布运行程序,运行程序显示首页index.jsp的效果,如图5.9所示。输入信息后单击submit按钮,显示结果页面result.jsp,效果如图5.10所示。185.5.5表单验证的示例 如果用户在username这个输入框中提交的是中文字符,则有可能出现乱码,下面提供两种解决方案。1.硬编码方式2.采用过滤器方式195.6JSP的设计模式1.JSP模型1(JSP+JavaBean)2.JSP模型2(MVC)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出售私有住房合同标准文本
- 出口酒水合同标准文本
- 农村买宅子合同标准文本
- 书法购销合同样本
- 人工挖孔桩合同样本
- 公司整体转让协议合同标准文本
- 乡镇化粪池清理合同样本
- bt项目施工合同范例
- 出口包装购销合同标准文本
- 中天置地合同标准文本
- 2024年银行考试-兴业银行笔试参考题库含答案
- 山东省潍坊市2023-2024学年一年级下学期期中质量检测数学试题
- 安徽省合肥市五十中天鹅湖校区2023-2024学年七年级下学期期中数学试题(无答案)
- 功能无机材料材料的表征课件
- (高清版)TDT 1055-2019 第三次全国国土调查技术规程
- 肿瘤科中医护理
- 2024年上海英语高考卷及答案完整版
- 重症医学科镇静镇痛病例分享
- 小学创客课件智能台灯
- 地勘查单位安全标准化规范钻探工程
- Access2016数据库应用技术教程
评论
0/150
提交评论