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下)文件的配置模板为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts-2.0.dtd">
<struts>
</struts>

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

<filter>
<filter-name>struts2></filter-name>
<filter-class>org.apache.struts2.dispacher.ng.filter.StrutsPrepareAndExcuteFilter</filter-cass>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容