《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt

上传人(卖家):momomo 文档编号:5841997 上传时间:2023-05-12 格式:PPT 页数:110 大小:1.94MB
下载 相关 举报
《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt_第1页
第1页 / 共110页
《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt_第2页
第2页 / 共110页
《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt_第3页
第3页 / 共110页
《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt_第4页
第4页 / 共110页
《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt_第5页
第5页 / 共110页
点击查看更多>>
资源描述

1、教学目标教学目标15.1 JSP15.1 JSP网站开发的基础知识网站开发的基础知识15.1.1 HTML15.1.1 HTML、CSSCSS与与JavaScript JavaScript 介绍介绍15.1.2 JSP15.1.2 JSP概述概述 35435415.2 JSP15.2 JSP运行环境的安装运行环境的安装15.2.1 Tomcat615.2.1 Tomcat6的安装和配置的安装和配置15.2.2 15.2.2 在在MyEclipse8.5MyEclipse8.5上配置上配置TomcatTomcat服务器服务器15.2.3 15.2.3 如何在如何在MyEclipseMyEclip

2、se上创建、发布和运行上创建、发布和运行WebWeb应用程序应用程序 15.2.415.2.4发布到发布到TomcatTomcat服务器上的服务器上的WebWeb应用的目录结构应用的目录结构15.15.JSP JSP指令指令15.3.1 page 15.3.1 page 指令指令15.3.15.3.include include 指令指令15.3.3 taglib15.3.3 taglib指令:定义页面使用的标签库指令:定义页面使用的标签库教学目标教学目标15.4 JSP15.4 JSP脚本脚本15.4.1 15.4.1 声明声明15.4.2 15.4.2 表达式表达式15.4.3 Scrip

3、tLet15.4.3 ScriptLet15.4.4 15.4.4 注解注解15.5 JSP 15.5 JSP 隐含对象隐含对象 36636615.5.115.5.1隐含对象介绍隐含对象介绍15.5.2 request15.5.2 request对象及其应用实例对象及其应用实例15.5.3 session15.5.3 session对象及其应用实例对象及其应用实例15.5 EL15.5 EL表达式表达式37137115.6 JSP 15.6 JSP 标准动作和应用实例标准动作和应用实例15.6.1 15.6.1 动作动作15.6.2 15.6.2 动作动作15.6.3 15.6.3 动作动作1

4、5.6.4 15.6.4 教学目标教学目标15.8 15.8 基于基于JavaBeanJavaBean的客户信息管理系统的开发的客户信息管理系统的开发15.8.1 15.8.1 在在MySQLMySQL的的StudyStudy数据库上创建客户信息表数据库上创建客户信息表guestsguests15.8.2 15.8.2 创建实体类创建实体类15.8.315.8.3 创建创建JSPJSP页面文件页面文件15.9 Struts 2.x15.9 Struts 2.x基础基础15.9.1 Struts2.x15.9.1 Struts2.x的体系结构的体系结构15.9.2 Struts 2.x 15.9

5、.2 Struts 2.x 的配置文件的配置文件15.9.3 Action15.9.3 Action动作类的定义动作类的定义15.9.4 MyEclipse8.515.9.4 MyEclipse8.5环境下如何开发环境下如何开发Structs2.xWebStructs2.xWeb应用应用第第1515章章 JSPJSP、Struts 2.xStruts 2.x技术技术与与WebWeb应用开发应用开发nJSP(Java Server Pages)技术为创建动态生成内容的Web页面提供了一个简捷而快速的方法,是servlet技术的一种扩展。JSP技术的设计目的是使得Web应用程序员能够创建动态内容,

6、重用预定义的组件JavaBeans,并使服务器脚本与组件进行交互,将应用程序逻辑和页面显示分离。nStruts 2.x技术,使Web应用能灵活地应用MVC设计模型,开发者通过使用struts提供的一个好的控制器和一套定制的标签库,提高了程序的开发效率。n结合实例给出了如何应用JSP技术和Struts 2.x技术开发具备MVC模式的Web应用实例。15.1 JSP15.1 JSP网站开发的基础知识网站开发的基础知识nHTML、CSS和JavaScript的概念nJSP概念和JSP应用的执行过程。15.1.1 HTML、CSS与与JavaScript 介绍介绍nHTML超文本标记语言(Hypert

7、ext Markup Language,):n通过各种标记(Tag)描述页面不同的内容,说明段落、标题、图像、字体等在浏览器中的显示效果。n浏览器打开HTML文件时,将根据HTML标记来显示内容。15.1.1 HTML、CSS与与JavaScript 介绍介绍n定义标记的语法格式为:document content 或 例如,例如,h1标记:标记:学习学习Dreamweaver 即以即以h1标题且居中的格式显示内容为标题且居中的格式显示内容为“学习学习Dreamweaver”例如,例如,是一个段落标记:是一个段落标记:,但显示的内容为空。用于分隔段。,但显示的内容为空。用于分隔段。15.1.1

8、 HTML、CSS与与JavaScript 介绍介绍n例例15-1一个简单的HTML页面文件h1.html。学习网页学习网页 学习学习HTML Homework will be given dailyTest and quizzes will be used to check your understanding of concepts 标记标记嵌套组合嵌套组合15.1.1 HTML、CSS与与JavaScript 介绍介绍n JavaScript(JS脚本)是一种基于对象和事件驱动的在客户端(浏览器)执行的脚本语言n用于给HTML网页添加动态功能:n比如验证输入数据的合法性,n响应用户的各种

9、事件。15.1.1 HTML、CSS与与JavaScript 介绍介绍n例例15-2 一个一个含有CSS和JavaScripts脚本的HTML页面文件h2.htm。内联样式内联样式15.1.1 HTML、CSS与与JavaScript 介绍介绍function show()var name=document.getElementById(username).value;var password=document.getElementById(pass).value;if(name=|password=)alert(输入内容不能为空输入内容不能为空!);return false;else ale

10、rt(欢迎学习网页制作欢迎学习网页制作!);return true;JS 脚本脚本15.1.1 HTML、CSS与与JavaScript 介绍介绍 姓名姓名:口令口令:页面内容页面内容15.1.1 HTML、CSS与与JavaScript 介绍介绍生成生成HTML页面文件页面文件,可使用可视化的制可使用可视化的制作工具软件生成。如:作工具软件生成。如:DreamWeaver CS415.1.2 JSP概述概述nJSP是一种实现静态HTML和动态HTML混合编码的技术。nJSP元素通常放入特殊标记之内,通常以标记“”结束。n这些JSP元素将根据不同的请求产生网页的动态部分(即内容可变)。nJSP

11、页面文件通常以.jsp为扩展名。一个简单的一个简单的JSPJSP页面文件页面文件,在在IEIE中执行的结果显示两行中执行的结果显示两行“你你好好”的字符串。的字符串。15.1.2 JSP概述概述一个一个JSPJSP的执行过程的执行过程:(1)客户端发出Request 请求;(2)JSP Container将JSP转换成Servlet的源代码(其中的静态HTML被直接输出到与Servlet service方法关联的输出流)。(3)将产生的Servlet的源代码经过编译后,并加载到内存执行;(4)把结果Response(响应)至客户端。15.1.2 JSP概述概述nJSP JSP 的关键元素:的关

12、键元素:指令、脚本元素、动作和标记库。指令、脚本元素、动作和标记库。n指令(directivedirective):发送给JSP容器的消息,它使程序员能够指定页面设置、包含其他资源中的内容和指定JSP中使用的标记库。n脚本元素(scriptletscriptlet):用来嵌入Java代码。在服务器端执行的代码。n隐含对象:预定义好的一组对象,可直接使用。n动作(ActionAction):将功能封装在预定义的标记中,然后程序员将预定义的标记嵌入JSP中。n标记库(tag librarytag library):是标记扩展机制的一部分,它使程序员能够创建定制的标记。15.1.2 JSP概述概述1

13、5.2 JSP15.2 JSP运行环境的安装运行环境的安装15.2.1 Tomcat6的安装和配置15.2.2 在MyEclipse8.5上配置Tomcat服务器15.2.3 如何在MyEclipse上创建、发布和运行Web 应用程序15.2.4 发布到Tomcat服务器上Web应用的目录结构15.2.1 Tomcat615.2.1 Tomcat6的安装和配置的安装和配置n Tomcat是JavaSoft和Apache开发团队共同提出合作计划(Apache Jakarta Project)下的产品,是JSP和servlet标准的完全功能实现。它包含一个Web服务器,因此它可以用作JSP和ser

14、vlet的独立测试器。n下载网站:http:/tomcat.apache.org/download-60.cgin本书下载的Tomcat的版本:apache-tomcat-6.0.20.zip,Tomcat 6能支持Servlet 2.4和JSP 2.0以上版本。15.2.1 Tomcat15.2.1 Tomcat的安装和配置的安装和配置n安装Tomcat之前必须先安装好J2SDK。假设J2SDK的安装目录路经:C:Program FilesJavajdk1.7.0_65。nTomcat的安装和配置过程:n解压缩:将apache-tomcat-6.0.20.zip解压缩到磁盘某一目录下,如:g

15、:apache-tomcat-6.0.20。n设置系统环境变量JAVA_HOME,其值指向Java的安装目录C:Program FilesJava jdk1.7.0_65n方法进入:“我的电脑-属性-高级-环境变量”15.2.1 Tomcat15.2.1 Tomcat的安装和配置的安装和配置n启动Tomcat服务器:n在g:apache-tomcat-6.0.20bin目录下:n启动:运行startup.bat,运行后DOS窗口结果如左下图:n关闭:运行shutdown.bat n打开浏览器,如IE,输入命令:http:/localhost:8080/出现Tomcat文档的主页画面,如右下图:

16、15.2.2 在MyEclipse8.5上配置Tomcat服务器n1.在MyEclipse8.5上配置Tomcat服务器n在MyEclipse主窗口的主菜单:n“window-perference”,n弹出perference窗口,“MyEclipse-Server-Tomcat-Tomcat6.x”2.在在MyEclipse8.5上启动和关闭上启动和关闭Tomcat服务器服务器n点击如图点击如图15-6所示的服务器图标,所示的服务器图标,n单击下拉式菜单如图单击下拉式菜单如图15-7所示中所示中“Start”,则启动,则启动Tomat运行,运行,n单击单击“Stop Server”则中断运行

17、则中断运行Tomcat。15.2.2 在在MyEclipse8.5上配置上配置Tomcat服务器服务器15.2.3 如何在如何在MyEclipse上创建、发布和运行上创建、发布和运行 Web应用程序应用程序nMyEclipse环境下开发一个Web应用程序的过程:1.新建一个Web 项目,名ch15;2.在Web项目中创建或修改JSP文件;3.将Web 项目ch15发布到Tomcat服务器。4.启动Tomcat,运行Web应用程序15.2.3 如何在如何在MyEclipse上创建、发布和运行上创建、发布和运行 Web应用程序应用程序例例15-3 修改修改index.jsp文件。完成将系统当前日期

18、和时间插入在Web页中。My JSP index.jsp starting page 这是一个名字为index.jsp的文件。JSP的表达式元素:将当前系统日期和时间的值插入到eb页中15.2.4 发布到发布到Tomcat服务器上的服务器上的Web 应应 用的目录结构用的目录结构n在Tomcat 6服务器下,Web应用程序通常部署在Tomcat 6的安装目录的子目录webapps中。nwebapps目录下为每一发布的Web应用创建一个上下文根目录(context root),如本章中为项目创建的根目录名为:ch15.n在根目录下又创建了几个子目录。目录结构描述如表15-1。15.2.4 发布到

19、发布到Tomcat服务器上的服务器上的Web 应应 用的目录结构用的目录结构目录描述上下文根目录 该目录的名称由程序员创建。它是Web应用程序的根目录,所的JSP、HTML文档以及图象等支持文件都放在该目录或它的子目录下。WEB-INF该目录包含Web应用程序部署描述符的文件web.xmlWEB-INFclasses该目录包含Web应用程序中使用的servlet类文件和其他支持的类文件(.class)。如果类放在的包结构中,则完整的包目录结构从该目录开始WEB-INFlib该目录包含Java存档文件(JAR)。表15-1 Web应用程序的标准目录结构描述15.3 JSP15.3 JSP指令指令

20、nJSP指令(directives)是那些发送给JSP容器的消息,它使程序员能够指定页面设置、包含其他资源中的内容和指定JSP中使用的定制标记库。nJSP指令格式:%nJSP指令是在JSP容器翻译转换时进行处理的,因此指令并不产生任何输出。n表15-2描述了常用的三种类型的指令元素(Directives Elements)。指令描述page定义页面的全局属性,供JSP容器处理include在JSP编译时插入一个包含文本或代码的文件。taglib能够让用户以标记库的形式自定义新的标记,这些标记可用来封装功能,同时简化JSP的编码表15-2 JSP指令15.3 JSP指令指令15.3.115.3.

21、1 page page 指令指令n功能:设定整个JSP网页的属性和相关功能。page指令的格式:例如:15.3.115.3.1 page page 指令指令(续续)page 指令中属性以及属性值的设置的描述如下:languagelanguage language=java声明脚本语言的种类,暂时只能用java extendsextends extends=package.class 标明JSP编译时需要加入的Java Class的全名。3.import=package.class|package.*,.需要导入的Java包的列表,这些包可作用于程序段、表达式、以及声明。下面的包在JSP编译时已

22、经导入了,所以你就不需要再导入:java.lang.*javax.servlet.*javax.servlet.jsp.*javax.servlet.http.*15.3.1 page 15.3.1 page 指令指令(续续)4 sessionsession session=true|false 设定客户是否需要HTTP Session对象。其值为true(缺省值),表示Session是有用的;如果它有false,那么你就不能使用session对象,以及定义了scope=session的元素,这样的使用会导致错误。5 bufferbuffer buffer=none|8kb|sizekb 指定

23、隐式对象out所用的缓冲区的大小。默认值为8KB的缓冲区,none表示没有缓冲区 6autoFlush autoFlush autoFlush=true|false 设置隐式对象out所用的缓冲区在满是否要自动地进行刷新(强制输出)如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会抛出一个异常。如果你把buffer设置为none,那么你就不能把autoFlush设置为false.15.3.115.3.1 page page 指令指令(续续)7isThreadSafe isThreadSafe isThreadSafe=true|false 设

24、置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求 errorPageerrorPage errorPage=relativeURL 如果发生异常错误时,网页会被重新指向那一个URL isErrorPageisErrorPage isErrorPage=true|false 表示此JSP Page是否为处理异常错误的网页.15.3.1 page 15.3.1 page 指令指令 10.contentType 10.contentType 设置MIME类型。缺省MIME 类型是:text/html,缺省

25、字符集为ISO-8859-1。例如,在JSP网页中显示汉字,属性contentType设置为:或 15.3.15.3.include include 指令指令n功能:在JSP编译时插入一个包含文本或代码的文件,这个包含的过程是静态的(即编译时完成)。n包含的文件可以是JSP网页、HTML网页、文本文件,或是一段Java程序文本。ninclude指令的语法格式:其中,relativeURL是和发出include指令的JSP页面相对的URL。例如:设当前页面文件和要包含的文件java.htm在同一路径下,15.3.15.3.include include 指令指令n 例例15-4 15-4 用in

26、clude指令在includeDirective.jsp页面文件中包含另一个文件java.htm内容。此例有三个文件:includeDirective.jsp、文本java.htm和图像java.jpg includeDirective.jsp的代码:includeDirective.jspincludeDirective.jsp的内容:的内容:include directice INCLUDE指令插入另一文档 java.htm文件:开发步骤如下:(1)将文件includeDirective.jsp和java.htl和java.jpg拷贝到项目ch15的WebRoot路径中,(2)将ch5项目

27、重新发布。(3)重新启动Tomcate服务器完成后,在浏览器中输入:http:/localhost:8080/ch15/includeDirective.jsp15.3.15.3.include include 指令指令15.3.3 taglib指令:定义页面使用的标签库指令:定义页面使用的标签库ntaglib指令用于指定JSP页面所使用的标签库及自定义标签的前缀。ntaglib的格式:n例如:要使用JSP的标准标签库(Jsp Standard Tag Library,jstl),语句为:n在使用标签库的标签时,在标签名前面加上前缀。例如:此语句使用jstl的标签cout,其作用相当于JSP的

28、表达式:。n注意:要在web项目的JAP文件中正确使用标签库,必须把标签库的.jar包加入到项目的库路径中。如JSTL的包为jstl.jar。15.4 JSP15.4 JSP脚脚 本本n JSP常常提供页面动态生成的内容。n 在JSP中嵌入Java代码,以实现JSP动态生成的内容。n JSP 脚本元素:n声明(Declaration)n表达式(Expression)n脚本程序(Scriptlet)n注解15.4.1 声明声明n声明(declaration):用来在JSP页面中声明变量和定义方法。n声明的语法格式:n例如:n你可以一次性声明多个变量和方法,只要以“;”结尾就行,当然这些声明在Ja

29、va中必须是合法的。n一个声明仅在一个页面中有效。15.4.2 表达式表达式 n包含一个符合java语法的表达式。表达式元素在运行后被自动转化为字符串,然后插入到这个表达式在JSP文件的位置显示。表达式是一个简化了的out.println语句。n表达式的语法格式为:例如:n当在JSP中使用表达式时请记住:你不能用一个分号;)来作为表达式的结束符。15.4.3 ScriptLetn脚本Scriptlet是java程序的一段代码,只要符合java语法的语句都可以写在这里,它是在请求时期执行的,它可以使用jsp页面所定义的变量、方法、表达式或JavaBeans。n脚本的语法格式:15.4.3 Scr

30、iptLet15.4.3 ScriptLet例如:She is a girl.He is a boy.HTML元素HTML元素15.4.3 ScriptLetn通过scriptlet,我们能做以下的事:n声明将要用到的变量或方法;n使用任何隐含的对象和任何用声明过的对象;n使用Java语言,书写语句。n当JSP收到客户的请求时,scriptlet就会被执行,如果scriptlet有显示的内容,这些显示的内容就被存在out对象中。15.4.4注解注解JSP注释用来对程序进行说明注释,不会显示在客户的浏览器中。JSP注释的有三种形式:nn!-n客户端动态注释的例子:!-This page was

31、loaded on -在客户端的HTML源代码中显示为:15.5 JSP 隐含对象隐含对象n隐含对象(implicit object):JSP预定义好的一组对象,使用这些对象能方便的访问请求、响应或回话等信息。n在从JSP转换为servlet时,它们被转换为对应的servlet类型。n每个隐式对象有其相应的作用域。n在JSP脚本段中,你可以访问这些隐含对象来与JSP网页中的可执行servlet环境交互。nJSP的隐含对象:request、response、out、session、pageContext、application、config、page和exception。n每个隐含对象按照相应范

32、围和持续时间不同分为4种不同的作用域:n页内有效page、n请求有效request、n会话有效sessionn应用有效application。15.5.1 隐含对象介绍隐含对象介绍1页面作用域页面作用域page scope 页内有效是指对象创建后只能在当前JSP页面内被访问,所有页内有效的对象的引用都存储在页面上下文对象pageContext(类型为javax.servlet.jsp.PageContext)中。2 请求作用域请求作用域request scope 请求有效是指在处理同一个请求时,不同JSP页面创建的对象在这些页面内都可以访问的,这些请求有效的对象都存储在JSP页面的reques

33、t对象中。3 会话作用域会话作用域session scope 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。会话有效指在客户端和服务器端之间保持连接的这段时间内是有效地,这些信息存放在session对象中。4应用程序作用域应用程序作用域application scope 应用有效是指Web服务器从开始运行一直到结束服务时有效,这些信息存放在application(类型为javax.servlet.ServletContext)对象中。15.5.1 隐含对象介绍隐含对象介绍15.5.1 隐含对象介绍隐含对象介绍n例如,使用out隐含对象,将某些内容输

34、出到浏览器中:n例如,从请求对象request获取参数值:15.5.1 隐含对象介绍隐含对象介绍15.5.2 request对象及其应用实例对象及其应用实例nrequest对象的类型为javax.servlet.ServletRequest,n它包含了来自浏览器请求的相关信息,n调用request对象的方法可以获取用户提交的信息。nString getParameter(String name):获得相应的请求参数的值。15.5.2 request对象及其应用实例对象及其应用实例n例例15-5 用户在一页面输入表单内容提交,在另一页面显示用户提交的输入内容。由2个文件request1.jsp

35、和display.jsp组成。(1)request1.jsp 文件的页面表单中包含有三种类型输入字段:text,radio和submit,(2)display.jsp文件的页面中,通过request对象的getParameter()方法得到用户提交的数据。其中request.setCharacterEncoding(UTF-8)是设置request对象的编码方式是”utf-8”,以保证从request对象中读到的字段汉字内容能正常显示,而不是乱码。在浏览器中输入:http:/localhost:8080/ch15/request1.jsp 运行结果:15.5.3 session对象及其应用实例

36、对象及其应用实例nsession对象用来传递客户的会话内容,其类型为javax.servlet.http.HttpSessionnsession对象的常用方法:public void setAttribute(String key,Object obj):将参数Object指定的对象obj添加到session对象中,并为添加的对象指定一个索引关键字。public Object getAttribute(String key):获取session对象中含有关键字的对象。15.5.3 session对象及其应用实例对象及其应用实例n例例15-6 将用户输入的用户名放置于将用户输入的用户名放置于se

37、ssion上下文中,上下文中,并在其它网页显示该用户名。并在其它网页显示该用户名。本例是本例是request和和session的应用实例:当用户访问网站的应用实例:当用户访问网站的时候,首先出现用户登录界面,登录成功后,用户数的时候,首先出现用户登录界面,登录成功后,用户数据被存放于据被存放于session中,在用户访问其他网页时,这些数中,在用户访问其他网页时,这些数据在需要的时候从中据在需要的时候从中session取出。通常存放在取出。通常存放在seesion的信息,为同一用户访问同一网站的不同网页提供共享的信息,为同一用户访问同一网站的不同网页提供共享信息。信息。由三个文件由三个文件ge

38、tname.htm、savename.jsp 和和nextpage.jsp组成组成.15.5.3 session对象及其应用实例对象及其应用实例(1)getname.htm:定义表单用于输入用户的名字,这个表单提交的目标是savename.jsp。(2)savename.jsp:此页面中读取request对象的用户名字的值,并写入session上下文中,再链接到另外一个网页nextpage.jsp。(3)nextpage.jsp:完成从session取出被保存的用户名字并显示它。程序运行:在IE中输入命令:http:/localhost:8080:/ch15/getname.htm 15.5.

39、3 session对象及其应用实例对象及其应用实例15.5 EL表达式表达式nEL(Express Language)表达式语言,是计算和输出Java对象的简单语言。nEL表达式的语法结构:$expression expression可以为一个变量或某个表达式。n例如:$3$4+6$“Hello!”将在页面输出:310Hello!15.5 EL表达式表达式n例如,表示输出变量count的值:$count相当于脚本表达式:n例如,输出user对象的属性name的值,EL表示为:$user.name15.6 JSP 标准动作和应用实例标准动作和应用实例n 标准动作元素用于执行一些常用的JSP页面动

40、作。例如:将页面转向、使用JavaBean、设置JavaBean的属性等nJSP的标准动作元素概括在表15-4中。15.6.1 动作动作n动作用于传递参数,必须配合或或动作一起使用。n语法格式:n可在一个页面中使用多个来传递多个参数给动态文件。15.6.2 动作动作n 标准动作,用于在JSP页面动态包含其他页面。如果所包含的页面在请求期间发生变化,则下一次请求包含 动作的JSP时,将包含变化的页面内容。n与include指令的区别:ninclude指令是一种静态包含,在转换时一次性地将页面内容复制到JSP中,如果所包含的页面内容发生变化,则使用“include指令”的JSP将不能反映出新的内容

41、,除非重新编译该JSP。n不带参数的 动作的语法格式:其中,page属性为网页的相对路径URL(位于相同Web应用程序中),flush属性必须为true。15.6.2 动作动作n带参数的 动作的语法格式:这是包含两个参数传递的 动作语句。n在jsp页面中,可以利用下面的语句取得传递返回的参数:request.getParameter(“name1”);request.getParameter(“name”);15.6.2 动作动作n例例15-7 动作的应用例子动作的应用例子 由两个JSP文件includeAction.jsp和time.jsp组成。nincludeAction.jsp文件内容如

42、下:Using jsp:include action 这是使用jsp:include动作包含的时钟 15.6.2 动作动作ntime.jsp文件的内容如下:n程序运行步骤:在浏览器中输入:http:/localhost:8080/ch15/includeAction.jsp15.6.3 动作动作n动作,使JSP能够将请求的处理转发给另一个不同的URL资源。原来的JSP一旦转发请求,它就立即终止对该请求的处理,这时浏览器显示的页面导向到另一个HTML页面或者jsp页面。该动作终止当前JSP的执行。n动作的语法格式:网页路径是相对URL(位于相同Web应用程序中),请求将通过该URL发送给该资源。

43、动作中可加入参数,其设置和获得参数的方法与类似。n例如:15.6.4 动作动作n、是与JavaBean有关的动作。n在JSP中调用JavaBeans时,需要创建一个JavaBean实例并指定它的名字和作用域。n通过Bean实例的名字设定或读取Bean的属性。15.6.4 动作动作1.动作:动作:创建一个Bean对象,或者定位一个现有Bean对象供JSP使用。n动作的语法格式:其中:(1)id:指定JavaBean实例的变量名,通过id可以访问这个实例。(2)class:指定JavaBean的类名。如果需要创建一个新的实例,容器会使用class指定的类并调用无参构造方法来完成实例化。(3)sco

44、pe:指定JavaBean的存在的范围:page、request、session、application,缺省值page。15.6.4 动作动作n例如:在当前页面创建一个类型为UserBean的一个对象,名为user,存在范围为request;如果user已经存在就定位该对象。15.6.4 动作动作2动作:设定动作:设定Bean的属性值的属性值 一个bean对象被创建后,可在JSP中设定Bean的属性值。动作用于设定Bean的属性值。n动作的语法格式为:jsp:setProperty name=beanInstanceName property=propertyName value=strin

45、g|property=*|property=propertyName param=parameterName n其中:name指定JavaBean对象名,与useBean标准动作中的id相对应;property指定JavaBean中需要赋值的属性名;value指定要为属性设置的值,其值可为字符串string或脚本表达式param指定请求中的参数名(该参数可以来自表单、URL传递参数等),并将该参数的值赋给property所指定的属性。15.6.4 动作动作2动作:设定动作:设定Bean的属性值的属性值 动作的语法格式为:jsp:setProperty name=beanInstanceName

46、 property=propertyName value=string|property=*|property=propertyName param=parameterName n设置Bean的属性值。可分3种情形:情形情形1:property=*储存在Jsp用户输入的所有请求参数的值,用于匹配Bean中同名的属性。在Bean中的属性的名字必须和request对象中的请求参数名一致。情形情形2:property=propertyName param=parameterName 使用request中的一个参数值来指定Bean中的一个属性值。情形情形3:property=propertyName

47、value=string|使用指定的值来设定Bean属性。这个值可以是字符串,也可以是表达式。当然,一个bean对象被创建后,你也可在JSP中通过脚本调用Bean的set方法来设置属性的值,一般调用语句格式为:15.6.4 动作动作3 动作:动作:获得Bean的属性值,并可以将其使用或显示在JSP页面中。在你使用之前,你必须用创建它。动作的语法格式:其中:(1)name=beanInstanceName 用于指定bean的名字。在中的name的值应当和中id的值相同。(2)property=propertyName 用于指定的Bean的属性名。15.6.4 动作动作例如:Calendar of

48、 n一个bean对象被创建后,你也可在JSP中通过脚本调用Bean的get方法来获取属性的值,n一般调用格式为:Bean对象名.get属性名()。15.6.4 动作动作n例例15-8 在在JSP中使用中使用JavaBean。将用户登录的信息(用户名和口令)定义成Bean。由实体类LoginData.java和JSP文件useBean.jsp组成。在useBean.jsp中,创建类LoginData的Bean对象起名为login,并设置和获取login对象的属性值,显示在HTML文档中。1.定义定义Bean类类 一个实体类的声明,一般包括:声明一组域变量,声明每个域变量的设置值和访问值的方法,构

49、造方法是无参的。LoginData.java 代码:package beans;public class LoginData /定义Bean属性 private String Name=;private String Pwd=;/设定Bean属性的方法 public void setLoginName(String name);this.Name=name;public void setPassword(String pwd)this.Pwd=pwd;/取得Bean属性的方法 public String getLoginName()return this.Name;public String

50、getPassword()return this.Pwd;2.编写编写useBean.jsp,在页面中创建和使用,在页面中创建和使用Beans实例实例 使用Beans 使用Beans LoginName属性值为 Password 属性值为 例例15-8开发步骤如下:(1)在Eclipse环境下,给Web project的项目名为ch15。(2)创建包名为beans,在包beans中创建类LoginData.java,并输入内容;(3)在项目ch15的WebRoot下,创建jsp文件名为useBean.jsp,并输入内容;(4)将项目ch15发布到tomcat6服务器中去;(5)重新启动Tomc

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《Java面向对象程序设计(第4版)》课件chapter15 JSP struts 技术与Web应用开发.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|