2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt

上传人:上海哈登 文档编号:2839215 上传时间:2019-05-26 格式:PPT 页数:29 大小:464.02KB
返回 下载 相关 举报
2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt_第1页
第1页 / 共29页
2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt_第2页
第2页 / 共29页
2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt_第3页
第3页 / 共29页
2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt_第4页
第4页 / 共29页
2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt》由会员分享,可在线阅读,更多相关《2019C08第五章JSP程序开发-JSP程序开发基础(3).ppt(29页珍藏版)》请在三一文库上搜索。

1、五、JSP程序开发基础(3),JSP程序开发基础的主要内容,5.5 JSP的动态页面处理,5.6 JSP中使用JavaBean,JSP的动态页面处理,JSP的动态页面处理有两种方式 在JSP中包含页面 在JSP中跳转访问其他页面 JSP有三种方法包含外部程序或页面的: 指令 动作 动作 JSP有两种跳转访问其他页面 sendRedirect方法 动作,在JSP中包含页面,JSP包含外部程序或页面的三种方法: 指令:编译器指令,在编译的时候将所包含的页面引入,一起转译成Java程序; 动作:动作指令,在JSP页面执行的时候进行调用; 动作:jsp:plugin元素可以将使用Java插件的appl

2、et查入JSP页,主要用于嵌入Web的applet格式的客户端Java。,在JSP中包含页面,包含一个静态或动态文件. 的语法格式有如下形式: 不带参数的格式: “ flush=“true“ / 参数的格式: “ flush=“true“ “ / ”指可以有多个“”标记。),在JSP中包含页面, 的属性 page:指定引用包含文件的相对URL; flush:指定主页的输出流是否应该在页的包含前清除,缺省为false; 元素 被包含文件自动共享与原先的请求页相同的请求参数(Request的作用域); 如果想要增加某些参数在页面间传递,可以使用元素,通过Request对象传递; ,在JSP中包含页

3、面,和用法的区别 预先编译好,执行效率高; 如果包含文件改变,则使用它的所有JSP文件都要更新(不用服务器可能会有所不同); 被包含文件中可以含有影响页面的响应头设置,但不能和主体文件的冲突。 动态调用,执行效率低; 不需要在修改了包含文件后更新主文件,是主要采用的包含方式; 主提页面已经在请求时被转换成servlet,因此被包含的页不能含有总体上影响主体页面的JSP程序或页面。,在JSP中跳转访问页面,JSP跳转访问页面的两种方法: sendRedirect方法: 通知浏览器进行页面跳转 Response.sendRedirect(“login.html”); 方法: 在服务器端进行页面的跳

4、转 ,在JSP中重定向 基本语法 “ / “ “ / ,在JSP中跳转页面,举例 注意事项 从一个JSP文件向另一个文件传递一个包含用户请求的request对象 标签以下的代码将不会被执行 如果使用了标签目标文件必须是程序,JSP的语法,在JSP中跳转页面,在JSP中跳转访问页面,两种调转方法的区别 Redirect方法 通知浏览器进行进行页面跳转,参数是需要跳转的URL 浏览器接收到响应后,按照新的URL链接重新发起请求 跳转前和跳转后是在另个不同的Request请求域 Forward方法 由服务器端将请求交由跳转的页面继续处理,因此参数是需要跳转的程序 跳转前和跳转后是在一个Request

5、的请求域内,共享访问同一个Request对象 对于浏览器,看不到所跳转的页面地址,JSP的动态页面处理,和的区别 相同点 都是在服务器端调用其他页面继续执行请求的处理 request.getRequestDispatcher(“jsp2.jsp“).forward(request, response); request.getRequestDispatcher(“jsp2.jsp“).include(request, response); 都是在一个Request的作用域内,共享使用Request对象 不同点 是在一个主页面的框架只执行所包含的页面,被包含页面执行完成后,需要回到主页面继续执行

6、; 是顺序执行页面。执行调转后,当前页面的执行就全部结束,进入到下一个页面执行,当前页面中后续的内容就不再被执行。,JSP使用JavaBean,JavaBean的基本概念 JavaBean定义了可重复使用的软件代码打包标准,是为了实现类的复用,而满足特殊规范的Java类; JavaBean是Java语言中最重要的组件类,在各类需要进行类复用的场合被广泛使用; VO:存储数据对象 DTO:数据传输 POJO:纯Java类 在编写JSP时,应该将程序的逻辑部分编写为JavaBean,而JSP中只负责用户视图的处理,例如HTML页面的生成,JavaBean需要满足条件 必须有一个不带有参数的公用构造

7、器 例如 public UserLogin(); 所有Bean的属性都必需定义为私有变量 例如 Private userName; 如果需要使用Bean的属性,则应该为每个属性设置set和get方法,且必需与属性的变量名相同, 例如public setUserName(); public getUserName(); 对于每个需要的操作,应该有一个公用方法 例如public boolean checkUser();,JSP使用JavaBean,package resinsample.javabean; public class MessageBean private String messag

8、e=“初始化信息“; public void messsageBean() public String getMessage() return message; public void setMessage(String message) this.message=message; ,JSP使用JavaBean,使用JavaBean的优点 标准Java语法 使对象共享更为简单 请求参数和对象属性之间的便利通信 使用Java Bean的JSP语法 :创建JavaBean的实例,或者引用一个JavaBean的实例; :设置JavaBean的属性; :获得JavaBean的属性;,JSP使用Java

9、Bean,用于创建一个Bean实例并指定它的名字和作用范围。 语法格式如下: “ type=“package.class“ / / other elements ,id=“beanInstanceName”属性 在要求的范围中定义Bean的变量,程序中使用此变量名来标识不同的Bean ; 这个变量名对大小写敏感,必须符合所使用的Java语言的规定; 如果Bean已经在别的标记中创建,则在通过这个标记引用时,id的值必须与原来的那个id值一致,否则意味着创建了同一个类的两个不同的对象。,scope=“page|request|session|application“ Bean存在的范围以及id变

10、量名的有效范围,缺省值是page page :当前页面作用域中有效 request :在请求作用域中有效 session :在会话作用域中有效 Application:在应用作用域中有效 Bean存在的范围以及id变量名的有效范围,标识了JSP容器用什么对象存储Bean 对象,例如 jsp:userBean id=“testBean”,scope=“request” request.setAttribute(“testBean”,testBean),page,session,request,缺省值 针对当前请求放在PageContext对象中,bean将存储在与当前请求相联的httpSessi

11、on中,bean对象应该针对当前请求期间放在ServletRequest中,application,bean将存储在共享的ServletContext变量中 同一个web应用中的所有servlet共享,class=“package.class“ 创建Java Bean需要用到的属性; 指明Java Bean所对应的class 文件; 相当于使用new关键字一个Java Bean的类中实例化一个对象 TestBean testBean=new TestBean(); type=“package.class“ 获取Java Bean需要用到的属性; 如果指定Bean已经在指定的范围中存在,那么赋予

12、这个Bean标识的数据类型; (TestBean)request.getAttribute(“testBean”);,的语法格式如下: 从Java Bean中获得指定属性的值 等效于调用 的属性有: name=“beanInstanceName” bean的名字,由中的id属性指定。 property=“propertyName”,所指定的Bean的属性名。,23, test Calendar of ,用来设置Bean的属性值 语法格式如下: “ /,name=“beanInstanceName” 在中创建的Bean实例的名字,标识对JavaBean的引用; property=“*” 自动匹配

13、设置Bean中的属性,储存用户输入的值; 这个方式JSP引擎可以自动将request对象中存储的用户参数依据参数名称和JavaBean中的属性相匹配; property=“propertyName“ param=“parameterName“ 指定Bean属性值所配置具体输入参数,存储用户输入的值; 其中property指定Bean的属性名,param指定request中的参数名;,property=“propertyName“ value=“string | “ 直接通过指定的值来设定Bean属性; 这个值可以是字符串,也可以是表达式。如果这个字符串,那么它就会被转换成Bean属性的类型,如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致; 如果参数值为空值,那么对应的属性值也不会被设定; 不能在同一个“”中同时使用param和value参数,本质上就是Java类的调用,等效于普通Java类的调用 ,JSP使用JavaBean,还可以通过引用Java类库中的类生成的bean组件 ,JSP使用JavaBean,课后复习,复习在JSP程序中包含页面的两种方式的不同点 复习在JSP程序中调转页面的两种方式的不同点 复习JavaBean的基本概念和用途 复习在JSP程序中调用JavaBean的相关语法 复习在JSP程序中访问JavaBean的原理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1