您好,欢迎来到九壹网。
搜索
您的当前位置:首页Struts技术应用论文

Struts技术应用论文

来源:九壹网
目 录

一、Struts 2前奏 .................... 2

1. MVC模式.............................................................................. 2 2. Struts简介 ....................................................................... 2 二、Struts 2基础 .................... 3 1. Struts 2简介 ..................................................................... 3 2. 下载Struts 2框架 ........................................................... 3 3. 在Eclipse中开发Struts 2 ........................................... 4 三、Struts 2输入校验.................. 5 1. Struts 2的标签库 ............................................................ 5 2. 继承ActionSupport完成输入校验。 ........................... 6 3. 正则表达式 .......................................................................... 6 四、Struts 2 ................... 6 五、结束语 ........................ 7 参考文献 ......................... 7

基于Struts 2技术开发应用论文

——JAVA EE相关技术

摘要:Struts框架是全世界第一个MVC框架,发展至今有多年的历史,一直备受开发人员

热捧。但是随着时间的流逝,Struts框架暴露出许多缺陷,这些缺陷一直困扰着大量的开发人员,许多开发人员不得不选择其他MVC框架。所幸的是,Struts 2横空问世了。Struts 2框架整合了两个非常优秀的MVC框架:Struts和WebWork。

关键词:MVC模式、Struts、Struts 2、框架

引言:完成了两周的JSP实训,终于对Struts 2有了一个比较系统的了解,现在将Struts

2技术的相关应用详细的罗列出来,希望通过这篇论文,我能有更深一层的了解。

一、Struts 2前奏

1. MVC模式

首先介绍MVC架构。MVC包含3个基本部分,分别是Model(模型)、View(视图)和Controller(控制器)。JSP只负责显示,而控制器则由Servlet充当,模型由JavaBean充当。Servlet的作用是:收集数据、调用业务逻辑和转发。

MVC模式的结构如图所示:

Struts 12. Struts简介

Struts 1是第一个发布的MVC框架。Struts 1通过核心控制器Action Servlet来接受用户所有的请求,并将请求转发给业务逻辑控制器。由业务逻辑控制器处

理用户请求,用户请求处理完成后,业务逻辑控制器会根据业务逻辑将处理结果通过JSP的方式返回给用户。

二、Struts 2基础

1. Struts 2简介

Struts 2是Struts 1的换代产品,Struts 2吸收了大量WebWork的设计思想,同时也吸收了部分Struts 1的特点。Struts 2是以WebWork为核心,采用的机制来处理用户请求的,这样的设计使得业务逻辑控制器能够与Servlet API完全的脱离,弥补了Struts 1的缺陷。

下图为Struts MVC体系结构 客户端客户请求Request控制器类ActionServletFormBeanstruts-config.xml 浏览器 返回响应Response视图(JSP)Action业务逻辑处理(Model)2. 下载Struts 2框架

Struts的官方站点:http://struts.apache.org

在Struts官方站点中,下载Struts 2.0.11.1,该页面下的Full Distribution为完整版的下载,建议下载这个。 下载完成后,解压“Struts-2.0.11.1-all.zip”,文件结构说明如下:

apps:该文件夹中存放Struts 2的示例程序。docs:存放Struts 2的相关文档。backport:存放Struts 2的JDK1.4支持JAR。lib:存放Struts 2的核心类库以及第三方的JAR文件。src:存放Struts 2框架的全部源代码。

3. 在Eclipse中开发Struts 2

(1)首先为项目添加Struts 2支持,即Struts 2的安装:  将

struts-2.0.11.1

lib

“common-logging-1.0.4.jar”、“freemarker-2.3.8.jar”、“

struts2-core-2.0.11.1.jar”

、“

xwork-2.0.4.jar”

“ognl-2.6.11.jar”类库复制到Web项目的WEB-INF/lib目录下。  编辑Web项目中的“web.xml”配置文件。在排至文件中增加Struts 2

核心Filter的配置。代码如下:

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2 /*

(2)然后添加控制器Action

创建class文件“xx.action”,实现Action接口,添加属性,用来封装用户请求的参数,增加get和set方法,添加execute()方法并抛出异常。

(3)添加并配置struts.xml

在src目录下创建struts.xml文件,文件中配置Action,其中包括指定Action的实现类,以及Action处理结果(返回字符串)与视图资源文件之间的映射。代码如下:

/output_news.jsp /input_news.jsp /err.jsp

(4)增加视图资源,在WebRoot目录下创建JSP文件,用来显示。添加业务逻辑组件到src目录。

三、Struts 2输入校验

输入校验分为客户端校验和服务器端校验。客户端校验可以过滤掉用户的错误操作,是第一道防线,一般使用JavaScript代码实现。仅有客户端验证还是不够的。攻击者还可以绕过客户端校验直接进行非法输入,这样可能会引起系统的异常,所以必须加上服务器端的验证。但仅有服务器端验证也是不行的,客户的错误操作总是提交到服务器,由服务器端进行验证返回错误信息,这样会加重服务器的负担。所以客户端验证和服务器端验证缺一不可,两者结合起来才可以构建健壮的系统。图为Struts 2输入校验流程:

1. Struts 2的标签库

介绍输入校验之前,首先了解一下Struts 2的标签库。Struts 2框架提供了一些能进行控制流程、输出数据等操作的标签库。使用标签库,能大量地减少代码的编写,只需简单的输入一些参数就可以实现复杂的代码功能。如果在JSP页面中使用Struts 2提供的标签,首先必须在页面的taglib编译指令导入标签库,添加代码如下:

<%@taglib prefix=“s” uri=“/Struts-tags”%>

使用时加上标签的名字就可以了,如:.只有使用Struts 2标签,才能进行输入校验。

2. 继承ActionSupport完成输入校验。

ActionSupport类已经实现了Action接口和Validatable等接口。通过重写validata()方法。可以非常方便地实现校验功能。

3. 正则表达式

客户端校验一般都使用JavaScript来进行输入的校验。JavaScript对输入判断都会使用到正则表达式。正则表达式是字符串处理的利器,功能非常强大。 正则表达式的功能非常强大,通过它可以进行字符串匹配、字符串查找、字符串替换。

四、Struts 2

Struts 2是Struts 2的一个重要组成部分,通过大量的内建完成Struts 2框架的大部分操作。Struts 2通过一种可插拔式的设计来添加和删除使用,从而提供了非常好的可扩展性。

自定义一个需要三步:

 自定义一个实现Interceptor接口的类,代码如下:

public abstract class AbstractInterceptor implements Interceptor{

public void init(){

}

public void destory(){

}

public abstract String intercept(ActionInvocation invocation)

throws Exception; }

 在Struts.xml中注册上一步定义的,代码如下:

 在需要使用的Action中引用引用上述上述的,为了方便也可以将此

设为默认,这样在不加特殊说明的情况下所有的Action都被这个拦截。

使用时,只需在struts.xml文件的Action元素中添加interceptor-ref元素来指定使用哪个即可。

五、结束语

经过了两年的编程学习,我觉得掌握一门实用且方便的框架是必不可少的,经过长期实践,我选择了Struts 2。在老师的指导下,我对Struts 2有了一个初步的了解。经过这次实训后,对Struts 2的使用更是得心应手(说的有点大了)。 为了学好Struts 2,在大量阅读有关文献的基础上,我还及时做总结,分析其他人的观点,找出不同之处,亲身实践,提出自己的见解,希望能够有所提升。

最后,感谢我的陈老师,这篇论文的每个实验细节和每个数据,都离不开您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很快的融入编程这门相对枯燥的课程学习中去。谢谢!

参考文献

【1】卜炟 《零基础学Struts》 2009年3月出版 第二章 【2】王家骐《基于MVC设计模式的WEB应用框架研究》

【3】Struts与MVC框架介绍

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务