实验十 框架的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称框架的应用

时间:2019-2020第2学期

实验10 框架的应用1实验目的

1)熟悉Struts2的配置文件web.xml和struts.xml;

2)熟悉用户定义的控制器;

3)掌握应用struts2接收参数的方法;

4)掌握Struts2拦截器的使用方法。

2 实验原理

使用Struts2对MVC模式进行标准化,使团队在开发Web应用时,可以在统一的标准下完成开发。

3仪器与材料

安装有Windows7或以上操作系统的计算机,JDK1.8,MyEclipse2016,Tomcat7.0,Dreamweaver。

4实验内容

编写基于Struts2 的应用,需要导入一些支持的包,也就是Struts2 开发包。这些开发包可以到网上去下载。下载地址为:"/"/

将如下的几个包拷贝到项目中WEB-INF 中的lib 目录下:

在Struts1.x 中,必须要单独建立一个ActionForm 类,而在Struts2 中ActionForm和Action 已经合二为一了。因此,只需要将和表单元素同名的属

性编写到Action 内。Action只是一个普通的类。

1. 运行MyEclipse建立Web Project(File→New→Web Project),项目名称为ex1,单击next按钮,勾选Generate web.xml deployment descriptor,单击Finish按钮完成项目创建。

2. 右击项目名ex1,在快捷菜单中选择MyEclipse→Project Facets→Install Apache Struts(2.x) Facet,点击创建弹出下图所示的对话框。选择/*,单击Finish按钮,完成配置。

3. 通过之前的操作在项目中增加了Struts 2.1库。项目src文件夹下添加了struts.xml的配置文件,在web.xml中添加配置Struts过滤器。

4. 创建login.jsp文件。选择WebRoot→new→jsp菜单项,在File Name 中输入文件名login.jsp。在login.jsp编辑窗口中,作如下修改:

5. 创建Action 实现类LoginAction。右击src文件夹,选择new→Package菜单项,在name框中输入包名org.action。右击该包,建立class,命名为LoginAction。该Action类是一个普通的Java类,该类中有String类型属性的username和password,并且声称了其getter和setter 方法(注意:应自动生成)。这些属性名与login.jsp文件的表单元素值对应,当执行该Action 类时,就会通过类变量的setter和getter 方法为变量赋值和取值,再调用execute()方法。execute()方法如下:

6. 配置struts.xml 文件,它是Struts 2运行的核心。添加代码如下:

7. 建立welcome.jsp文件,body元素的内容如下:

8. 在服务器上运行ex1项目,在地址栏中输入:http://localhost:8080/ex1/login.jsp,并按回车键,输入用户名、密码,提交并检查运行结果。

9. 建立login2.jsp,利用Strust2表单标签实现login.jsp相同的功能,并在浏览器中http://localhost:8080/ex1/login2.jsp 。元素的内容如下:

10. 使用拦截器,在login.jsp中,当用户名为输入“testname”时,拦截不能通过,返回login.jsp。

(1)编写拦截器实现类MyInterceptor,所在的包为org.tool,主要代码如下:

(2)在struts.xml配置文件中进行拦截器配置,修改后的代码如下:

六、讨论及问题回答

拦截器和过滤器的区别是什么?

1、拦截器是基于Java的反射机制的,而过滤器是基于函数回调

2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器

3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求

起作用

4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能

5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容

器初始化时被调用一次

相关文档
最新文档