C08第五章JSP程序开发JSP程序开发基础_第1页
C08第五章JSP程序开发JSP程序开发基础_第2页
C08第五章JSP程序开发JSP程序开发基础_第3页
C08第五章JSP程序开发JSP程序开发基础_第4页
C08第五章JSP程序开发JSP程序开发基础_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、五、五、jsp程序开发基础(程序开发基础(3)jsp程序开发基础的主要内容程序开发基础的主要内容5.5 jsp的动态页面处理 5.6 jsp中使用javabean jsp的动态页面处理的动态页面处理njsp的动态页面处理有两种方式的动态页面处理有两种方式v在在jsp中包含页面中包含页面v在在jsp中跳转访问其他页面中跳转访问其他页面njsp有三种方法包含外部程序或页面的:有三种方法包含外部程序或页面的:v指令指令v动作动作v 动作动作njsp有两种跳转访问其他页面有两种跳转访问其他页面vsendredirect方法方法v动作动作在在jsp中包含页面中包含页面njsp包含外部程序或页面的三种方法

2、:包含外部程序或页面的三种方法:v指令指令:编译器指令,在编译的时候编译器指令,在编译的时候将所包含的页面引入,一起转译成将所包含的页面引入,一起转译成java程序程序;v动作动作:动作指令,在动作指令,在jsp页面执行页面执行的时候进行调用;的时候进行调用;v 动作动作:jsp:plugin元素可以将使用元素可以将使用java插件的插件的applet查入查入jsp页页,主要用于嵌入主要用于嵌入web的的applet格式的客户端格式的客户端java。在在jsp中包含页面中包含页面n包含一个静态或动态文件包含一个静态或动态文件. . n 的语法格式有如下形式:的语法格式有如下形式:v不带参数的格

3、式:不带参数的格式: jsp:include page=relativeurl | jsp:include page=relativeurl | flush=true / flush=true / v参数的格式:参数的格式:jsp:include page=relativeurl | %=expression jsp:include page=relativeurl | % flush=true flush=true jsp:param name=parametername value=parametervalue | jsp:param name=parametername value=pa

4、rametervalue | / /jsp:param / jsp:param /”指可以有多个指可以有多个“ jsp:param/”标记。)标记。) 在在jsp中包含页面中包含页面n 的属性的属性vpage:指定引用包含文件的相对:指定引用包含文件的相对url;vflush:指定主页的输出流是否应该在页的包含前清除,:指定主页的输出流是否应该在页的包含前清除,缺省为缺省为false;vn元素元素n被包含文件自动共享与原先的请求页相同的请求参数(被包含文件自动共享与原先的请求页相同的请求参数(request的的作用域);作用域);n如果想要增加某些参数在页面间传递,可以使用如果想要增加某些参数

5、在页面间传递,可以使用元素,元素,通过通过request对象传递;对象传递; 在在jsp中包含页面中包含页面n和和用法的区别用法的区别nv 预先编译好,执行效率高;预先编译好,执行效率高;v 如果包含文件改变,则使用它的所有如果包含文件改变,则使用它的所有jsp文件都要更新(不用服务文件都要更新(不用服务器可能会有所不同);器可能会有所不同);v 被包含文件中可以含有影响页面的响应头设置,但不能和主体文件被包含文件中可以含有影响页面的响应头设置,但不能和主体文件的冲突。的冲突。nv 动态调用,执行效率低;动态调用,执行效率低;v 不需要在修改了包含文件后更新主文件,是主要采用不需要在修改了包含

6、文件后更新主文件,是主要采用的包含方式;的包含方式;v 主提页面已经在请求时被转换成主提页面已经在请求时被转换成servlet,因此被包含的页不能含有,因此被包含的页不能含有总体上影响主体页面的总体上影响主体页面的jsp程序或页面。程序或页面。在在jsp中跳转访问页面中跳转访问页面njsp跳转访问页面的两种方法:跳转访问页面的两种方法:vsendredirect方法:方法:通知浏览器进行页面跳转通知浏览器进行页面跳转response.sendredirect(“login.html”);v方法:方法:在服务器端进行页面的跳转在服务器端进行页面的跳转 n在在jsp中重定向中重定向v基本语法基本语

7、法jsp:forward page=relativeurl / / jsp:forward page=relativeurl / jsp:paramname=parametername value=parametervalue / / 在jsp中跳转页面v举例举例 v注意事项注意事项从一个从一个jsp文件向另一个文件传递一个包含用户请求的文件向另一个文件传递一个包含用户请求的request对象对象标签以下的代码将不会被执行标签以下的代码将不会被执行如果使用了如果使用了标签目标文件必须是程序标签目标文件必须是程序在jsp中跳转页面在在jsp中跳转访问页面中跳转访问页面n两种调转方法的区别两种调转

8、方法的区别nredirect方法方法v通知浏览器进行进行页面跳转,参数是需要跳转的通知浏览器进行进行页面跳转,参数是需要跳转的urlv浏览器接收到响应后,按照新的浏览器接收到响应后,按照新的url链接重新发起请求链接重新发起请求v跳转前和跳转后是在另个不同的跳转前和跳转后是在另个不同的request请求域请求域nforward方法方法v由服务器端将请求交由跳转的页面继续处理,因此参数由服务器端将请求交由跳转的页面继续处理,因此参数是需要跳转的程序是需要跳转的程序v跳转前和跳转后是在一个跳转前和跳转后是在一个request的请求域内,共享访的请求域内,共享访问同一个问同一个request对象对象

9、v对于浏览器,看不到所跳转的页面地址对于浏览器,看不到所跳转的页面地址jsp的动态页面处理的动态页面处理n和和的区别的区别n相同点相同点v 都是在服务器端调用其他页面继续执行请求的处理都是在服务器端调用其他页面继续执行请求的处理request.getrequestdispatcher(jsp2.jsp).forward(request, response); request.getrequestdispatcher(jsp2.jsp).include(request, response); v 都是在一个都是在一个request的作用域内,共享使用的作用域内,共享使用request对象对象n不

10、同点不同点v是在一个主页面的框架只执行所包含的页面,被包含是在一个主页面的框架只执行所包含的页面,被包含页面执行完成后,需要回到主页面继续执行;页面执行完成后,需要回到主页面继续执行;v是顺序执行页面。执行调转后,当前页面的执行就全是顺序执行页面。执行调转后,当前页面的执行就全部结束,进入到下一个页面执行,当前页面中后续的内容就不再被部结束,进入到下一个页面执行,当前页面中后续的内容就不再被执行。执行。jsp使用使用javabeannjavabean的基本概念的基本概念vjavabean定义了可重复使用的软件代码打包标准,是为定义了可重复使用的软件代码打包标准,是为了实现类的复用,而满足特殊规

11、范的了实现类的复用,而满足特殊规范的java类;类;vjavabean是是java语言中最重要的组件类,在各类需要进语言中最重要的组件类,在各类需要进行类复用的场合被广泛使用;行类复用的场合被广泛使用;vo:存储数据对象:存储数据对象dto:数据传输:数据传输pojo:纯:纯java类类v在编写在编写jsp时,应该将程序的逻辑部分编写为时,应该将程序的逻辑部分编写为javabean,而而jsp中只负责用户视图的处理,例如中只负责用户视图的处理,例如html页面的生成页面的生成njavabean需要满足条件需要满足条件v必须有一个不带有参数的公用构造器必须有一个不带有参数的公用构造器例如例如 p

12、ublic userlogin();v所有所有bean的属性都必需定义为私有变量的属性都必需定义为私有变量例如例如 private username;v如果需要使用如果需要使用bean的属性,则应该为每个属性设置的属性,则应该为每个属性设置set和和get方法方法,且必需与属性的变量名相同,且必需与属性的变量名相同,例如例如public setusername();public getusername();v对于每个需要的操作,应该有一个公用方法对于每个需要的操作,应该有一个公用方法例如例如public boolean checkuser();jsp使用使用javabeanpackage re

13、sinsample.javabean;public class messagebean private string message=初始化信息初始化信息;public void messsagebean()public string getmessage()return message;public void setmessage(string message)this.message=message;jsp使用使用javabeann使用使用javabean的优点的优点v标准标准java语法语法v使对象共享更为简单使对象共享更为简单v请求参数和对象属性之间的便利通信请求参数和对象属性之间的便

14、利通信n使用使用java bean的的jsp语法语法v:创建:创建javabean的实例,或者引用一个的实例,或者引用一个javabean的实例;的实例;v:设置:设置javabean的属性;的属性; v :获得:获得javabean的属性;的属性;jsp使用使用javabeann用于创建一个用于创建一个beanbean实例并指定它实例并指定它的名字和作用范围。的名字和作用范围。 n语法格式如下:语法格式如下:jsp:usebean id=beaninstancename scope=page / request / session / application class=package.cl

15、ass / type=package.class / class=package.class type=package.class / beanname=package.class / type=package.class / / other elements nid=“beaninstancename”id=“beaninstancename”属性属性v在要求的范围中定义在要求的范围中定义beanbean的变量,程序中使用此变量名的变量,程序中使用此变量名来标识不同的来标识不同的bean bean ;v这个变量名对大小写敏感,必须符合所使用的这个变量名对大小写敏感,必须符合所使用的javaj

16、ava语言语言的规定;的规定;v如果如果beanbean已经在别的已经在别的 jsp:usebean标记中创建,则在通标记中创建,则在通过这个标记引用时,过这个标记引用时,idid的值必须与原来的那个的值必须与原来的那个idid值一致值一致,否则意味着创建了同一个类的两个不同的对象。,否则意味着创建了同一个类的两个不同的对象。nscope=scope=page|request|session|applicationpage|request|session|application nbeanbean存在的范围以及存在的范围以及idid变量名的有效范围,缺省值变量名的有效范围,缺省值是是pagep

17、agevpage page :当前页面作用域中有效:当前页面作用域中有效vrequest request :在请求作用域中有效:在请求作用域中有效vsession session :在会话作用域中有效:在会话作用域中有效vapplicationapplication:在应用作用域中有效:在应用作用域中有效nbeanbean存在的范围以及存在的范围以及idid变量名的有效范围,标识了变量名的有效范围,标识了jspjsp容器用什么对象存储容器用什么对象存储bean bean 对象,例如对象,例如v jsp:userbeanjsp:userbean id=“ id=“testbean”,scopet

18、estbean”,scope=“request”=“request”vrequest.setattributerequest.setattribute(“(“testbean”,testbeantestbean”,testbean) )pagesessionrequest缺省值针对当前请求放在pagecontext对象中bean将存储在与当前请求相联的httpsession中bean对象应该针对当前请求期间放在servletrequest中applicationbean将存储在共享的servletcontext变量中同一个web应用中的所有servlet共享nclass=package.cla

19、ss class=package.class v创建创建java beanjava bean需要用到的属性;需要用到的属性;v指明指明java beanjava bean所对应的所对应的class class 文件;文件;v相当于使用相当于使用newnew关键字一个关键字一个java beanjava bean的类中实例化一个的类中实例化一个对象对象vtestbean testbean=new testbean();testbean testbean=new testbean();n type=package.class type=package.class v获取获取java beanjav

20、a bean需要用到的属性;需要用到的属性;v如果指定如果指定beanbean已经在指定的范围中存在,那么赋予这个已经在指定的范围中存在,那么赋予这个beanbean标识的数据类型;标识的数据类型;v(testbean)request.getattribute(“testbean”);testbean)request.getattribute(“testbean”); jsp:getpropertyn的语法格式如下:的语法格式如下:vjsp:getproperty property=propertyname / v从从java beanjava bean中获得指定属性的值中获得指定属性的值v等

21、效于调用等效于调用n 的属性有:的属性有:vname=“beaninstancename” beanname=“beaninstancename” bean的名字,由的名字,由 jsp:usebean中的中的idid属性指定。属性指定。vproperty=“propertyname”property=“propertyname”,所指定的,所指定的beanbean的属性名。的属性名。23 jsp:getpropertytest calendar of n用来设置用来设置beanbean的属性值的属性值n 语法格式如下:语法格式如下: jsp:setproperty jsp:setpropert

22、y name=beaninstancename name=beaninstancename property= property= * * | | property=propertyname param=parametername property=propertyname param=parametername | | property=propertyname value=string | %= expression property=propertyname value=string | % / / nname=“beaninstancename”name=“beaninstancena

23、me”v在在 jsp:usebean中创建的中创建的beanbean实例的名字,标识对实例的名字,标识对javabeanjavabean的引用;的引用;nproperty=“property=“* *”v自动匹配设置自动匹配设置beanbean中的属性中的属性, ,储存用户输入的值;储存用户输入的值;v这个方式这个方式jspjsp引擎可以自动将引擎可以自动将requestrequest对象中存储的用户对象中存储的用户参数依据参数名称和参数依据参数名称和javabeanjavabean中的属性相匹配;中的属性相匹配;nproperty=propertyname param=parametername property=propertyname param=parametername v指定指定beanbean属性值所配置具体输入参数,存储用户输入的属性值所配置具体输入参数,存储用户输入的值;值;v其中其中propertyproperty指定指定beanbean的属性

温馨提示

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

评论

0/150

提交评论