版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP程序设计14八月2024213.1JSP简介13.1.1JSP程序
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与建立的一种动态网页技术标准。JSP技术是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。14八月20243Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览,不需要附加任何的支持软件。14八月2024413.1.2JSP语法概述
JSP语法分为三类:脚本元素(Scripting)、指令元素(Directive)和动作元素(Actions)。JSP的脚本元素,包含注释、声明、脚本和表达式四个部分。在JSP文件中可以加入两种形式的注释,一种其内容可以被浏览器查看,另一种浏览器不能查看。声明用于在JSP页面中定义方法或变量,这些方法或变量可被同一个页面中的其它代码访问。脚本即在JSP页面中插入的Java程序代码段,这些代码段嵌在标记“<%”与“%>”之间。表达式用于直接将数据输出到页面。14八月20245JSP指令元素有三个,分别是page、include和taglib。这些指令元素是针对JSP引擎设计的,不会产生任何直接输出。它们包含在标记“<%@”和“%>”之间。page指令用于定义JSP文件中的全局属性,include指令用于在JSP页面中包含另外一个文件的内容,taglib指令用于定义一个标签库以及自定义标签的前缀。14八月20246在JSP2.0规范中定义了20多个动作元素。在JSP语法中,用<jsp:xxx>表示动作,可以用它控制JSP引擎的动作。以下是常见的动作:<jsp:useBean>:创建一个Bean实例并指定它的名字和作用范围;<jsp:setProperty>:设置Bean的属性值;<jsp:getProperty>:获取Bean实例的属性值;<jsp:include>:包含一个静态或动态文件;14八月20247<jsp:forward>:重定向一个到另一个JSP页面;<jsp:plugin>:该指令用于向浏览器插入一个Java插件来运行一个applet或者Bean对象。14八月2024813.1.3JSP内置对象
1.request对象
request对象是与用户请求相关的对象,它是HttpServletRequest的一个子类。该对象包含了所有来自客户端的请求信息,如请求的来源、标头、类型、Cookies和HTML表单变量等。2.response对象response对象是最重要的对象之一,只有通过它,才能响应客户端的请求,才能向客户端输出信息。它的作用与requst对象刚好相反,request对象包含了客户请求的有关信息,而reponse对象包含了响应客户请求的信息。
14八月202493.session对象
Session对象表示目前个别用户的会话(session)状况,用此项机制可以轻易识别每一个用户,然后针对每一个别用户的要求,给予正确的响应。系统是怎样通过session对象来识别用户的呢?原来,在用户登录网站时,系统为其生成了一个独一无二的session对象来记录用户的个人信息。即每个登录网站的用户所拥有的session对象是不同的。当用户退出网站时,该session对象被注销。
4.application对象Application对象用于取得或更改Servlet的设定,它的生存期是由服务器产生开始至服务器关机为止。14八月202410在JSP服务器运行时刻,仅有一个Application对象,它由服务器创建,也由服务器自动清除,不能被用户创建和清除。
5.out对象out对象代表了向客户端发送数据的对象,与“response”对象不同,通过“out”对象发送的内容将是浏览器需要显示的内容,是文本级的。6.ception对象exception对象处理JSP文件在执行时所有发生的错误和异常。14八月2024117.config对象
config对象是java.servletConfig接口的一个实例,它用于初始化参数。8.pageContext对象
pageContext对象存储当前JSP页面的相关信息,如属性、内建对象等。9.page对象page对象表示当前正在运行的JSP页面所产生的对象,该对象只有在当前JSP页面范围之内使用才合法。
14八月20241213.2JSP与JavaBean13.2.1JavaBeans简介JavaBeans是基于java的组件模型,由属性、方法和事件3部分组成,有点类似于Microsoft的COM组件概念。在该模型中,javabeans可以被修改或与其他组件结合生成新组件或完整的程序。它是一种java类,通过封装成为具有某种功能或者处理某个业务的对象。因此,也可以通过嵌在JSP页面内的java代码访问bean及其方法。14八月20241313.2.2在JSP程序中使用JavaBean
1.JavaBean的编写
JavaBean是用java语言编写的可重用的软件组件。编写JavaBean组件的方法同编写其他Java类一样。2.JavaBean的调用
JavaBean的调用主要包括以下几个方面的内容:创建JavaBean的实例,需要使用<jsp:useBean>指令来完成;利用<jsp:setProperty>和<jsp:getProperty>来设置或获取JavaBean的属性值;调用其方法,格式为:实例名.方法名。14八月20241413.3JSP标签库
JSP标签库(也被称作定制标签)是一种通过JavaBean生成基于XML的脚本的方法。从概念上讲,标签就是很简单而且可重用的代码结构。JSP标签库最大的作用在于让用户可以自行指定一个标签。标签处理类是一个标准的Java类,在该类中定义了各种各样的方法来对标签库描述文件中定义的标签进行处理。我们把该类的定义文件叫做TEI(TagExtraInformationfiles)文件,TEI文件在被编译为calss类文件之后,被放到JSP服务器的相应目录中。13.3.1标签处理类14八月202415通俗地讲,标签处理类就是用于解释标记的类。由于它是一个标准的Java类,因此编写方法与普通的类一致,但因为应用环境的不同,TEI文件在实现上还是有自己的特殊之处。TEI中的Java类一般继承自TagSupport类或dyTagSupport类,但如果是继承自TagSupport类,则必须重载doStartTag()和doEndTag()方法。
14八月20241613.3.2标签库描述文件JSP标签库需要一个标签库描述符(TLD)文件来定义标签的名称、属性以及操作该标签的Java类。TLD文件通常就以标签处理器命名并被存放在"\WEB-INF\"目录之下。该文件的文件扩展名是.tld。TLD文件是一个普通的XML格式的标记定义文件,要使这个TLD文件被JSP文件访问,它必须定义Tlibversion、jspversion、shortname、uri、info、tag六个属性。由于TLD文件是一个XML文件,因此它也必须符合XML文件的规范。
14八月20241713.3.3在JSP程序中使用标签JSP程序中使用的标签库有两种,一种是标准标签库(JSTL),另一种是用户自定义标签库。标准标签库是一个为实现Web应用程序的常用功能而定制的标记库集,这些功能包括基本输入输出、流程控制、循环、XML文件剖析、数据库查询、国际化和文字格式化的应用等。在JSP程序中使用标签,是利用taglib指令来实现的。
14八月20241813.3.4自定义标签库一个自定义的tag标签是用户定义的一种JSP标记。当一个含有自定义的tag标签的JSP页面被jsp引擎编译成servlet时,tag标签被转化成了对一个称为tag处理类的对象进行的操作。于是当JSP页面被jsp引擎转化为servlet后,实际上tag标签被转化成为了对tag处理类的操作。14八月202419
JSP标签都实现了javax.servlet.jsp.tagext.JspTag接口。这个接口有两个直接子接口。
SimpleTag接口:它是JSP2.0新增加的接口,代表了简单的标签;Tag接口:它是必须要实现的接口,它有一个直接子接口就是IterationTag。
IterationTag接口有一个简单的实现类为TagSupport,从TagSupport扩展可以开发出迭代标签。IterationTag还有一个子接口BodyTag。这种标签允许带有Body,BodyTag也有一个实现类,就是BodyTagSupport,在开发BodyTag时,往往直接从它继承就可以了。14八月202420使用Tag接口开发自定义标签程序有以下4个步骤:(1)开发标签实现类(2)编写标签描述,这个描述通常是以.tld结尾的文件。tld文件描述和说明了属性、信息和标签处理器文件位置等信息。JSP容器使用这一文件来映射被调用标签库的位置和用法(3)在web.xml文件中指定标签库的引用(4)编写JSP页面调用定义的标签
14八月20242113.4JSP与Servlet
13.4.1Web应用程序的一般结构
现在的Web应用程序一般都采用了三层架构,将整个应用划分为显示层、商业逻辑层和控制层。
显示层包括HTML、XML和Applets等内容,主要功能是提供操作接口,接收用户的数据输入和向用户显示数据。显示层位于客户端。商业逻辑层是三层结构中的核心部分,它的主要功能是进行数据的处理、连接数据库并产生相应的数据。控制层主要完成信息传递,而不是数据处理。14八月202422对于使用JSP开发Web应用程序的模式,Sun公司总结了两种模式,分别称为Model1(模型一)和Model2(模型二)。在Model1体系中,JSP页面单独完成响应用户请求并将处理结果返回客户的工作。它又包括两种结构。第一种是仅包含JSP页面的Web应用程序;14八月202423第二种是由JSP和JavaBean组合的应用程序14八月20242413.3.4自定义标签库MVC设计模式由三部分组成。模型是应用对象,没有界面;视图表示它在屏幕上的数据显示,可能的形式为HTML、XML和Applet,主要功能是对采集用户的数据输入、用户请求和对模型响应用户操作处理结果数据的显示;控制器定义用户界面对用户输入的响应方式,负责把用户的动作转换成针对模型的操作,它不做任何的数据处理;模型则通过更新视图的数据来反映数据的变化。14八月20242513.4.2JSP与Servlet间的信息共享1.JSP向Servlet传递数据2.Servlet向JSP传递数据在Servlet中,可以通过标准的javax.Servlet.RequestDispatcher接口所提供的功能来调用JSP页面,同时传递参数到JSP页面14八月20242613.4.3JSP与Servlet间的控制传递重定向技术可以分为两类,一类是客户端重定向,一类是服务器端重定向。客户端重定向可以通过设置特定的HTTP头,或者写JavaScript脚本实现。
服务器端的重定向可以有两种方式,一是使用HttpServletResponse的sendRedirect()方法,一是使用RequestDispatcher的forward()方法。
14八月202427有三种方法可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度碧桂园国际学校建设及运营合同
- 二零二四年度餐厅消防设施改造合同
- 第20课《狼》课件++2024-2025学年统编版语文七年级上册
- 二零二四年度企业形象策划合同协议书
- 2024年度地铁车站停车场综合开发利用合同2篇
- 二零二四年度粉煤灰运输安全责任合同2篇
- 护理人文与沟通技巧
- 第15课《梅岭三章》同步练习+2024-2025学年统编版语文七年级上册
- 产品和销售培训计划方案
- 2024年度化工产品采购与销售合同标的2篇
- 消防安全组织机构架构图
- 绘本《我的爸爸叫焦尼》
- 项目投资尽职调查工作指引
- Openstack云平台运维手册
- 大粒径透水性沥青混合料柔性基层设计与施工指南
- EBZ悬臂式掘进机设计计算书
- 国际贸易售货确认书
- 用户运营基础知识
- 花格子小牛(课堂PPT)
- 建筑风水学PPT
- 润滑油清洁度划分
评论
0/150
提交评论