美文网首页
Struts2与Struts1的区别以及配置

Struts2与Struts1的区别以及配置

作者: exmexm | 来源:发表于2017-06-27 20:53 被阅读0次
一、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文件

相关文章

  • Struts2与Struts1的区别以及配置

    一、Struts2与Struts1的区别 Struts2是WebWork2基础上发展而来的,和Struts1一样,...

  • Struts1和Struts2的区别和对比

    Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象...

  • 【Struts2】初体验

    一、Struts2简介 Struts2是Struts1的下一代产品,但Struts2与Struts1的体系结构却差...

  • Struts2《一》

    Struts1的核心控制器就是Servlet,随着功能的迭代,弊端开始出现。Struts2与Struts1差别很大...

  • Struts2 框架学习

    概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...

  • 1、欲渔

    Struts2在WebWork基础上发展起来的和Struts1没有太多关系。Struts2整合了Struts1和W...

  • Struts

    Struts1基于Servlet struts2不是struts1的升级,它是基于framework的框架,吸收了...

  • struts体系结构

    struts2基于struts1和webwork,struts1由apache公司所倡导开发,成熟稳定但存在弊端-...

  • 04. struts2中Result配置的各种视图转发类型

    概述 result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有:...

  • Java web 学习—Struts2

    MVC(模型-视图-控制器) Struts框架:Struts1,Struts2 struts1 控制器:中央控制器...

网友评论

      本文标题:Struts2与Struts1的区别以及配置

      本文链接:https://www.haomeiwen.com/subject/vauecxtx.html