Struts2与Struts1的区别以及配置

一、Struts2与Struts1的区别

Struts2是WebWork2基础上发展而来的,和Struts1一样,struts2也属于MVC框架。但是他们的名字虽然差别不大,但是Struts2和Struts1在代码编写风格上是不一样的

Struts2主要有以下优点:
1>在软件设计上,Struts2没有想Struts1那样,跟servlet API和Struts API有着紧密的耦合,Strust2应用可以不依赖于servlet API和Struts API。Struts2的设计属于无侵入式设计,而Struts1却属于侵入式设计。

2>Strut2提供来了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。

3>Struts2提供了类型转换器,可以将特殊请求参数转换为需要的类型,在Struts1中,如果要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。

4>Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。

5>Struts2提供了多种表现层技术,如jsp、freeMarker、Velocity等

6>Struts2提供了全局范围、包范围和Action范围的国际化资源文件管理实现。

搭建Struts2开发环境

包含以下几个步骤:
1>找到开发Struts2应用需要的jar文件
2>编写Struts2配置文件
3>在web.xml中加入Struts2 MVC框架配置

具体如下:
1>找到开发Struts2应用需要的jar文件
直接搜http://struts.apache.org....下载struts2.XXX-all.zip文件解压后,在文件的lib文件夹下,找到所需要的jar包
最少需要的jar包如下:
Struts2-core-2.x.x.jar:Struts2框架的核心组件
xwork-2.x.x.jar:XWork类库,Struts2在其上构建
ognl-2.6.x.jar:对象图导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象属性
freemarker-2.3.x.jar:Struts2的UI标签的模板使用FreeMarker编写
commons-logging-1.1.x.jar:ASF出品的日志包,Struts2框架使用日志包来支持Log4J和JDK1.4+的日志记录
commons-fileupload-1.2.1.jar:文件上传组件,2.1.6版本后必须加入此文件

找到以上jar文件后,coppy到自己新建的web项目的Web-INF文件下的lib文件夹里面
2>编写Struts2配置文件
默认的配置文件是struts.xml,该文件存放在WEB-INF/classes下,(开发阶段放在src下)文件的配置模板为:





可以直接到下载的Struts文件夹的app里面找到对应的struts.xml复制或者直接去文档里面复制。
3>在web.xml中加入Struts2 MVC框架配置
在Struts1.x中,Struts框架是通过Servlet启动的。在Struts2中,Struts框架是通过filter启动 的,在web.xml的配置如下:


struts2>
org.apache.struts2.dispacher.ng.filter.StrutsPrepareAndExcuteFilter


struts2
/*

在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化工作。
***注意:Struts读取到Struts.xml的内容后,以JavaBean形式放在内存中,以后Struts2对用户的的每次请求处理将使用内存中的数据,而不是每次都读取Struts.xml文件

你可能感兴趣的:(Struts2与Struts1的区别以及配置)