ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:36.96KB ,
资源ID:11568325      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11568325.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(06单元6基于Struts2的Web应用程序开发校.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

06单元6基于Struts2的Web应用程序开发校.docx

1、06单元6基于Struts2的Web应用程序开发校单元6基于Struts 2的Web应用程序开发Struts 2是Apache软件组织的一项开放源代码项目,是基于WebWork核心思想的全新框架,在Java Web开发领域中占有十分重要的地位。【问题探析】【问题1】Model2模型如何实现MVC?Struts与MVC模式有何关系?【问题2】Struts 1框架如何运行?Struts 1怎样实现MVC模式?【问题3】怎样理解“Struts 2是基于MVC的轻量级的Web应用框架”【问题4】Struts 2和MVC有何关系,Struts 2如何实现MVC模式?【知识必备】1Struts简介Stru

2、ts是Apache软件基金会(ASF)赞助的一个开源项目,它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目,它通过采用Java Servlet/JSP技术实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。2Struts 2简介Struts 2并不是一个陌生的Web框架,它是以WebWork的设计思想为核心,吸收了Struts 1的优点,可以说Struts 2是Struts 1和WebWork结合的产物。3Struts 2的处理流程Struts是一个开源框架,使用struts的目的就是为了帮助我们减少在运用MVC

3、设计模型来开发Web应用的时间。Struts 2的简单处理流程说明如下:(1)Web客户端的浏览器发送请求。(2)核心处理器根据Struts.xml文件查找对应的处理请求的Action类。(3)WebWork的拦截器链自动请求应用通用功能,例如WorkFlow、Validation等功能(4)如果Struts.xml文件中配置了Method参数,则调用Method参数对应的Action类中的Method方法,否则调用Action的的Execute()方法来处理用户请求。(5)将Action类中的对应方法getXXX()返回的结果响应给浏览器。4Action对象简介(1)Action对象简介Ac

4、tion对象是Struts 2框架中的重要对象,主要用于处理HTTP请求。在Struts 2 API中,Action对象是一个接口,位于com.opensymphony.xwork2包中。(2)Action的基本流程Struts 2框架主要通过Struts 2的过滤器对象拦截HTTP请求,然后将请求分配到指定的Action进行处理。5Struts 2的拦截器(1)拦截器概述拦截器是AOP(面向切面编程)的一种实现方式,通过它可以在Action执行前后处理一些相应的操作。Struts 2提供了多个拦截器,开发人员也可以根据需要配置拦截器。拦截器是Struts 2框架中一个重要的核心对象,动态地作

5、用于Action与Result之间,可以动态地增加Action及Result。(2)Struts 2 APIStruts 2 API中有一个名为com.opensymphony.xwork2.interceptor的包,其中有一些Struts 2内置的拦截器对象,它们具有不同的功能。在这些对象中,Interceptor接口是Struts 2框架中定义的拦截器对象,其他拦截器都直接或间接地实现于此接口。(3)拦截器Interceptor中包含的方法拦截器Interceptor中包含了3个方法,分别为init()、intercept()和destroy()。(4)AbstractIntercept

6、or类AbstractInterceptor类是一个实现了Interceptor接口的抽象类,该类已经实现了Interceptor接口的init()和destroy()方法,通过继承该类创建拦截器对象时,intercept()方法必须重写,如果没有用到init()和destroy()方法,则可以不重写。6EL表达式语言简介EL(Expression Language)表达式语言是JSP 2.0中引入的一种计算和输出Java对象的简单语言,可以简化在JSP开发中对对象的引用,从而规范页面代码,增强程序的可读性和可维护性。如今EL表达式是一项成熟、标准的技术,只要安装的Web服务器能够支持Serv

7、let 2.4/JSP 2.0,就可以在JSP页面中直接使用EL表达式。EL表达式语法很简单,以“$”开始,以“”结尾,中间为合法的表达式,其语法格式如下:$ 合法的表达式 7OGNL(对象图导航语言)简介OGNL(Object-Graph Navigation Language,对象图导航语言),它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性,这样可以更好的取得数据。【操作必备】(1)下载与配置Struts

8、2(2)准备开发Web应用程序所需的图片文件、CSS样式文件和验证用的Javascript文件。(3)启动Eclipse,设置工作空间为Unit06,然后进入Eclipse的开发环境。(4)在Eclipse集成开发环境中配置与启动Tomcat服务器。(5)新建动态Web项目,命名为task6-X,本单元有8个任务,每个任务创建一个独立的Web项目,命名分别为task6-1至task6-8。(6)在Web项目中创建包,将其命名为“package06X”。本单元各个Web项目中的包分别命名为package061至package068。(7)添加Struts 2的核心类包将Struts 2的类库文件

9、拷贝到Web项目task6-X的文件夹“WebContentWEB-INFlib”下,并在Eclipse集成开发环境的“项目资源管理器”刷新Web项目task6-X。由于本单元各项任务实现功能比较简单,所以只需添加Struts 2的核心类包即可,所添加的类包如图6-6所示。(8)在web.xml文件中声明Struts 2提供的过滤器【基础应用】【任务6-1】测试Struts 2框架的正确配置【任务描述】(1)创建Java Web项目task6-1,并添加Struts 2的支持类库。(2)通过Struts 2的拦截器将客户端的HTTP请求转发给指定的Action处理,Action根据处理的结果返

10、回给客户端相应的页面printInfo6-1.jsp。【任务实施】1配置程序开发环境首先新建动态Web项目task6-1,在该项目中创建包package061。然后按照【操作必备】中介绍的方法添加Struts 2的核心类包以及在web.xml文件中声明Struts 2提供的过滤器。2创建配置文件struts .xml在Eclipse的【项目资源管理器】中,选择节点“Java Resources”中子节点“src”,并单击鼠标右键,在弹出的快捷菜单中选择【新建】【其他】命令,打开【新建】对话框的“选择向导”界面,在列表框中选择“XML File”,如图6-7所示。单击【下一步】按钮,打开【New

11、 XML File】对话框,在该对话框中选择父文件夹为“src”,在文本框中输入“struts.xml”文件名,如图6-8所示。依次单击【下一步】按钮,以后各步都取默认设置,最后单击【完成】按钮完成配置文件struts .xml的创建。在配置文件struts .xml中定义Action对象,其主要代码如表6-2所示。3新建一个Java类ActionClass6_1在Web项目task6-1的包package061中创建名为“ActionClass6_1”的Java类。打开ActionClass6_1.java文件,在ActionClass6_1类中编写代码定义message属性及相应的setM

12、essage()与getMessage()方法,在该类中重写了execute()方法,代码如表6-3所示。4创建JSP页面printInfo6-1.jsp在Web项目task6-1中创建名为“printInfo6-1.jsp”的JSP页面,该页面作为Action对象处理成功后的返回页面,其代码如下所示。 在JSP页面printInfo6-1.jsp中使用Struts 2的标签库,首先要引入指定的标签库,在JSP代码的顶部添加以下代码:5创建JSP页面task6-1.jsp在Web项目task6-1中创建名为“task6-1.jsp”的JSP页面,在其中添加一个超链接用于访问所定义的Action

13、对象,该链接指向的地址为test.action,其代码如下所示。 请求Struts2Action对象的默认访问扩展名为.action,该扩展名可以更改。 6运行程序输出结果运行JSP页面task6-1.jsp,在显示的页面中单击【请求Struts2】超链接,请求将交给Action对象test进行处理,其处理成功后返回printInfo6-1.jsp页面,显示“配置Struts2框架成功!”的提示信息。【任务6-2】使用Struts 2提供的动态Action实现动态操作【任务描述】(1)创建一个Java Web应用项目,应用Struts 2提供的动态Action实现数据的添加、修改、删除与查询的

14、处理请求。(2)针对多个Action的情况,使用通配符简化配置,实现数据的添加、修改、删除与查询的处理请求。(3)通过配置元素的method属性,在Action对象中请求指定的业务逻辑方法,实现数据的添加、修改、删除与查询的处理请求。【任务实施】1配置程序开发环境首先新建动态Web项目task6-2,在该项目中创建包package062。然后按照【操作必备】中介绍的方法添加Struts 2的核心类包以及在web.xml文件中声明Struts 2提供的过滤器。2应用动态Action实现不同的处理请求(1)创建配置文件struts .xml在Eclipse的【项目资源管理器】的子文件夹“src”中

15、创建一个配置文件struts .xml,在配置文件struts .xml中定义Action对象action6-2,其主要代码如表6-4所示。(2)新建一个Java类ActionClass6_2在Web项目task6-2的包package062中创建名为“ActionClass6_2”的Java类。打开ActionClass6_2.java文件,在ActionClass6_2类中编写代码定义message属性及相应的setMessage()与getMessage()方法,在该类中还定义了新增、修改、删除和查询数据的方法,分别为add()、update()、delete()和find(),代码如表

16、6-5所示。(3)创建多个JSP页面在Web项目task6-2的文件夹“folder6-2”中创建多个作为Action对象处理成功后的返回页面,JSP页面的名称分别为“add6-2.jsp”、“update6-2.jsp”、“delete6-2.jsp”和“find6-2.jsp”,这些JSP页面的主体代码都相同,只是页面标题有区别,其代码如下所示。 (4)创建JSP页面task6-2.jsp在Web项目task6-2中创建名为“task6-2.jsp”的JSP页面,在其中添加4个超链接用于访问所定义的Action对象,该链接分别指向ActionClass6_2类的添加、修改、删除和查询信息的

17、请求,其代码如表6-6所示。使用Struts 2的动态Action时,其Action请求的URL地址中使用“!”号分隔Action请与请求字符串,而请求字符串的名称要与Action类中的方法名称相对应,否则会抛出java.lang.NoSuchMethodException异常。(5)运行程序输出结果运行JSP页面task6-2.jsp,在显示的页面中显示“新增数据操作”、“修改数据操作”、“删除数据操作”和“查询数据操作”4个超链接,如图6-10所示。3使用通配符简化配置实现不同的处理请求(1)在配置文件struts .xml中应用通配符添加配置代码打开配置文件struts .xml,在该配

18、置文件中使用通配符实现不同的处理请求,其主要代码如表6-7所示。(2)新建一个Java类BookAction6_2(3)新建一个Java类UserAction6_2(4)创建JSP页面task6-21.jsp在Web项目task6-2中创建名为“task6-21.jsp”的JSP页面,在其中添加8个超链接用于访问所定义的Action对象,该链接分别指向BookAction6_2和UserAction6_2类的添加、修改、删除和查询信息的请求,其代码如表6-8所示。(5)运行程序输出结果运行JSP页面task6-21.jsp,在显示的页面中显示8个超链接,如图6-11所示。单击“新增图书数据操作

19、”超链接,请求交给BookAction6_2类的add()方法处理,此时可以看到浏览器地址栏中的地址变为“http:/localhost:8080/task6-2/BookAction6_2!add”。4通过配置元素的method属性实现不同的处理请求(1)在配置文件struts .xml中应用通配符添加配置代码打开配置文件struts .xml,在该配置文件中使用通配符实现不同的处理请求,其主要代码如表6-9所示。(2)新建一个Java类ActionClass6_22在Web项目task6-2的包package062中创建名为“ActionClass6_22”的Java类。打开ActionC

20、lass6_22.java文件,在ActionClass6_22类中编写代码定义message属性及相应的setMessage()与getMessage()方法,在该类中还定义了新增、修改、删除和查询数据的方法,分别为add()、update()、delete()和find(),这些方法的返回值都为“SUCCESS”,代码如表6-10所示。(3)创建JSP页面task6-22.jsp在Web项目task6-2中创建名为“task6-22.jsp”的JSP页面,在其中添加4个超链接用于访问所定义的Action对象,该链接分别指向ActionClass6_22类的添加、修改、删除和查询信息的请求,

21、其代码如表6-11所示。(4)运行程序输出结果运行JSP页面task6-22.jsp,在显示的页面中显示4个超链接,如图6-10所示。单击“新增数据操作”超链接,请求交给ActionClass6_22类的add()方法处理,此时可以看到浏览器地址栏中的地址变为“http:/localhost:8080/task6-2/actionadd!add”。【任务6-3】使用Struts 2的常用标签的实现旅游信息调查【任务描述】(1)创建JSP页面,使用Struts 2的常用表单标签、property标签实现旅游信息调查。(2)在Struts 2框架中,将表单提交的数据自动注入到与Action对象中相

22、对应的属性。【任务实施】1配置程序开发环境首先新建动态Web项目task6-3,在该项目中创建包package063。然后按照【操作必备】中介绍的方法添加Struts 2的核心类包以及在web.xml文件中声明Struts 2提供的过滤器。2创建配置文件struts .xml在Eclipse的【项目资源管理器】的子文件夹“src”中创建一个配置文件struts .xml,在配置文件struts .xml中定义Action对象action6_3,其主要代码如表6-12所示。3新建一个Java类UserAction在Web项目task6-3的包package063中创建名为“UserAction”

23、的Java类。打开UserAction.java文件,在UserAction类中编写代码定义多个属性及相应的setXXX()与getXXX()方法,在该类中重写了execute()方法,代码如表6-13所示。4创建JSP页面task6-3.jsp在Web项目task6-3中创建名为“task6-3.jsp”的JSP页面,该页面包含多个表单标签,主要用于用户输入或选择有关自助游的数据,其代码如表6-14所示。在JSP页面task6-3.jsp的顶部添加以下代码引入指定的标签库:5创建JSP页面printInfo6-3.jsp在Web项目task6-3中创建名为“printInfo6-3.jsp”

24、的JSP页面,作为Action对象处理成功后的返回页面,在该页面显示用户提交的调查数据,其代码如表6-15所示。在JSP页面printInfo6-3.jsp的顶部添加以下代码引入指定的标签库:6运行程序输出结果运行JSP页面task6-3.jsp,在显示的页面中输入姓名、理想的旅游目的地,选择性别、职业类型、常上的旅游网站,如图6-12所示。然后单击【提交】按钮,在printInfo6-3.jsp页面显示用户提交的数据,如图6-13所示。【任务6-4】使用Struts 2创建数据验证器验证表单内容【任务描述】(1)Struts 2的数据校验机制有两种方式,即通过配置文件和通过重写ActionS

25、uppoert类的validate()方法,应用这两种数据验证方式对用户注册页面的用户名和密码进行验证。(2)在Struts 2框架中使用数据验证框架,其验证文件的编写有字段验证器编写风格和非字段验证器编写风格两种,应用字段验证器编写风格编写代码对注册页面中的输入的用户名进行验证,应用非字段验证器编写风格编写代码对注册页面中输入的密码进行验证。【任务实施】1配置程序开发环境首先新建动态Web项目task6-4,在该项目中创建包package064。然后按照【操作必备】中介绍的方法添加Struts 2的核心类包以及在web.xml文件中声明Struts 2提供的过滤器。2创建配置文件struts

26、 .xml在Eclipse的【项目资源管理器】的子文件夹“src”中创建一个配置文件struts .xml,在配置文件struts .xml中定义2个Action对象,其主要代码如表6-16所示。3新建一个Java类RegisterAction1在Web项目task6-4的包package064中创建名为“RegisterAction1”的Java类。打开RegisterAction1.java文件,在RegisterAction1类中编写代码定义多个属性及相应的setXXX()与getXXX()方法,在该类中还重写了ActionSupport类的validate()方法,代码如表6-17所示

27、。4新建一个Java类RegisterAction2在Web项目task6-4的包package064中创建名为“RegisterAction2”的Java类。打开RegisterAction2.java文件,在RegisterAction2类中编写代码定义多个属性及相应的setXXX()与getXXX()方法,RegisterAction2类的大部分代码与类RegisterAction1相同,如表6-17所示。不同的是没有表6-17中第2行,也没有重写ActionSupport类的validate()方法。5新建一个验证文件RegisterAction2-validation.xml在Web

28、项目task6-4的包package064中创建名为“RegisterAction2-validation.xml”的验证文件。打开RegisterAction2-validation.xml文件,编写如表6-18所示的代码。6创建JSP页面task6-41.jsp在Web项目task6-4中创建名为“task6-41.jsp”的JSP页面,该页面包含多个表单标签,主要用于用户注册时输入用户名和密码,其代码如表6-19所示。7创建JSP页面task6-42.jsp在Web项目task6-4中创建名为“task6-42.jsp”的JSP页面,该页面包含多个表单标签,主要用于用户注册时输入用户名和

29、密码,其代码与task6-41.jsp页面的代码基本相同,但表单的action属性值设置为“register2.action”。8创建JSP页面welcome.jsp在Web项目task6-4中创建名为“welcome.jsp”的JSP页面,该页面作为Action对象处理成功后的返回页面,其代码如表6-20所示。9运行程序输出结果(1)运行JSP页面task6-41.jsp,在显示的用户注册页面中暂不输入用户名和密码,直接单击【提交】按钮,此时经RegisterAction1类的validate()方法校验显示相关提示信息,如图6-14所示。图6-14task6-41.jsp页面校验数据后显示

30、的相关提示信息重新输入用户名为“admin”,两次输入相同的密码,再次单击【提交】按钮,此时校验通过,打开welcome.jsp页面,在该页面中显示“输入的用户名为:admin,通过验证!”的信息。(2)运行JSP页面task6-42.jsp,在用户注册页面的“用户名”文本框中输入“adm”,在“密码”文本框中“123”,在“确认密码”文本框中输入“456”,然后单击【提交】按钮,此时经RegisterAction2-validation.xml验证文件校验显示相关提示信息,如图6-15所示。图6-15task6-42.jsp页面校验数据后显示的相关提示信息重新输入用户名为“admin”,两次输入相同的密码,再次单击【提交】按钮,此时校验通过,打开welcome.jsp页面,在该页面中显示“输入的用户名为:admin ,通过验证!”的信息。【渐进应用】【任务6-5】使用Struts 2实现用户登录功能【任务描述】(1)使用Struts 2框架提供的表单标签创建用户登录页面。(2)创建验证文件,对用户登录页面输入的用户名和密码进行验证。(3)使用Struts 2的处理机制将用户登录表单提交的数据自动注入到与Action对象中相应的属性,如果在登录表单中输入的用户名和密码都正确,则在JSP页面显示欢迎信息,否则返回登录表单,重新输入用户名或密码。【任务实施】1配置程序开发环境首先新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1