struts和struts2的区别

1.Structs2简介和Structs2开发环境搭建

一、Structs2简介:

1.什么是Struct2?

著名的SSH三大框架分别为:表现层(Structs)、业务逻辑层(Spring),持久化层(Hibernate).

Struct2是在WebWork2基础上发展而来的MVC框架,尽管Struct2与Structs在名字上很像,但代码编写风格上几乎是完全不一样的。

Structs2比Structs更优秀,修复了Structs的许多Bug和缺点。

2.Struct2框架的优点?

1.Structs2是非侵入式设计

Structs2的Action类为POJO类,即不依赖于Servlet API和Structs API。

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

3.Structs2提供了类型转换器,可以将特殊的请求参数转换成需要的类型。

4.Structs2支持多种表现层技术,如JSP、freeMarker、vectocity等。

5.Structs2的输入验证可以对指定的方法进行验证。

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

二、搭建Structs2开发环境

1.新建一个Web Project工程。

2.导入所需要用到的Structs2的jar包,这里暂时先只导入Structs核心jar包。

Structs2所有jar包下载地址http://struts.apache.org/download.cgi#struts23163

核心jar包:

xwork-core-2.1.6.jar: Structs2框架的核心类库
struts2-core-2.1.8.1.jar: XWork类库,Structs2在其上构建
ognl-2.7.3.jar:对象图导航语言(Object Graph Navigation Language),Structs2框架通过其读写对象属性。
freemarker-2.3.15.jar:   Structs2的UI标签的模板使用FreeMarker编写
commons-logging-1.0.4.jar: ASF出品的日志包,Structs2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录。
commons-fileupload-1.2.1.jar: 文件上传组件,2.1.6版本后必须加入此文件。

方法一:

方法二:



3.复制Structs2.xml文件到项目的src目录下。

Structs2.xml文件配置模板如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

</struts>

4.在Struct中,Structs2框架式通过Servlet启动的。而在Structs2中,Structs2框架式通过Filter启动的。

Structs2在web.xml中的启动配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

        <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>

        <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
        </filter-mapping>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

注意:自动Structs2.1.3以后,下面的FilterDispatcher已经标注为过时

<filter-class>org.apache.structs2.dispatcher.FilterDispatcher</fileter-class>

5.测试Structs2是否搭建成功,发布程序项目,开启tomcat服务。

时间: 2024-10-12 15:13:22

struts和struts2的区别的相关文章

Struts与Struts2的区别

Struts与Struts2的区别 首先看一张Struts2的发展路线图:       从Struts2的发展过程来看,Struts2继承了Struts与Webwork的特性,形成了新的框架.但是它的称呼只是在“Struts”后面添加一个“2”,显然Struts2还是更多的继承了Struts的设计思想,并加入了WebWork的特点.下面将从十个方面来说明Struts与Struts2之间的不同点: (1)Action类 在Struts中都是使用抽象类编程而不是接口,因此它要求开发的Action类继

Struts1和Struts2的区别和对比(完整版)

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简单来说二者的区别是: 一个是Stuts1 ,一个是Stuts2,这是最大的区别,技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置actionform之类的,很麻烦,所以依赖性比较强:而Stuts2是针对拦截器开发的,也就是所谓的AOP思想,可以配置多个act

Struts1和Struts2的区别和对比

Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象. 线程模式: • Stru

SpringMVC 和Struts2的区别

SpringMVC 和Struts2的区别 1. 机制: spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同. 2. 性能: spring会稍微比struts快.spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样.spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把r

Spring MVC与struts2的区别

Spring MVC与struts2的区别: 1.易用性Spring MVC上手简单,并且可以与Spring无缝结合,毕竟都是一个公司的产品,学习起来也比较简单,比如从前端给对象填充值,他的处理就比Struts2简单多了,再比如对Restful风格的URL的支持,这些Spring MVC都比Struts2做的好N倍. 2.安全性说到安全性,现在又爆出了上述漏洞.Spring MVC到目前为止还没有发现比较严重的漏洞. 3.可扩展性Spring MVC依靠Spring这颗大树,Spring的实力我

StringMVC 与 Struts2 的区别

SpringMVC 和Struts2的区别 1. 机制: spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同. 2. 性能: spring会稍微比struts快.spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样.spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把r

说说struts1与struts2的区别。

1.都是MVC的WEB框架,      2 struts1的老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本更低!struts2虽然基于这个框架,但是应用群众并多,相对不成熟,未知的风险和变化很多,开发人员相对不好招,使用它开发项目的风险系数更大,用人成本更高!      3.struts2毕竟是站在前辈的基础设计出来,它会改善和完善struts1中的一些缺陷,struts1中一些悬而未决问题在struts2得到了解决.      4.struts1的前端控制器是一个Servle

Struts1和Struts2的区别和对比(完整版)(转)

Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口. • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Act

Java面试题之《SpringMVC和Struts2的区别》

SpringMVC和Struts2的区别 一.框架机制 1.Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现. 2.Filter在容器启动之后即初始化:服务停止以后坠毁,晚于Servlet.Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁. 这里就牵涉到servlet和filter的区别了. 二.拦截机制 1.Struts2 a.Struts2框