`
fslingmo
  • 浏览: 26623 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

Struts1和Struts2的区别

 
阅读更多

在Web.xml中配置分发器。Struts1使用ActionServlet作为分发器,而Struts2使用Filter作为分发器、如果有多个Filter,要把Struts2的分发器Filter作为最后一个Filter代码。

 

Struts1.2的web.xml配置(注意可能由于版本不同,可能有些不一样)

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name><!--Struts的配置参数-->
      <param-value>/WEB-INF/struts-config.xml</param-value><!--配置文件-->                                                                                    
    </init-param>
    <init-param>
      <param-name>debug</param-name><!--Debug模式-->
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name><!--程序Debug细节的级别-->
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup><!--是否启动时加载-->
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name><!--Servlet的URL映射-->
    <url-pattern>*.do</url-pattern><!--所有.do的URL-->
  </servlet-mapping>
</web-app>
 

提醒:web.XML中配置的Struts Servlet为标准的SErvlet,而config、deBug、detail等为标准的Servlet参数,这些参数都是可选的。如果参数省略,将按默认的值处理。config参数的默认值为“/WEB-INF/struts-config.xml”。MyElipse向导会自动添加、管理该文件。

 

 

struts2的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>struts</filter-name><!-- Filter名称 -->
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  <!-- Filter入口 -->
  <init-param><!-- 该参数可省略,默认为“*.action” -->
  	<param-name>struts.action.extension</param-name><!-- action后缀参数 -->
  	<param-value>action</param-value><!-- 默认“.action” -->
  </init-param>
 </filter>
 <!-- Struts2的Filter的URI配置 -->
 <filter-mapping>
  <filter-name>struts</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
</web-app>

 

提示:Struts2默认的后缀为“.action”。配置<url-pattern>时最好配置为“/*”,而不要只配置为“*.action”。因为Struts2集成了一些javascript、CSS资源,而这些资源并不都以“.action”结尾,例如struts2/xhtml/styles.css、struts/dojo/dojo.js。

 

 

如果要更改Struts 2的默认后缀,只需修改web.xml中Filter配置中的struts.action.extension参数,或者在/WEB-INF/classes下添加struts.properties里修改Struts2后缀:

 

struts.action.extension=action

 

将action后缀改为其他的即可。

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Struts1和Struts2区别

    下面我们将深入探讨Struts1和Struts2的区别。 1. 设计模式: - **Struts1**:基于Front Controller模式,只有一个Servlet(ActionServlet)处理所有请求。它使用Plug-In和Dispatcher机制来实现业务逻辑和视图的...

    struts1和struts2区别

    Struts1和Struts2是两个非常著名的Java Web框架,它们在处理MVC(Model-View-Controller)架构方面有着显著的区别。以下是关于这两个框架在关键特性上的对比: 1. **Action类**: - **Struts1**:要求Action类继承...

    struts1和struts2的区别

    ### Struts1与Struts2的主要区别 #### 概述 Apache Struts 是一个用于构建企业级Java Web应用的开源框架。它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在...

    Struts1和Struts2的区别和对比

    Struts1和Struts2是两个非常著名的Java Web框架,它们都用于构建MVC(Model-View-Controller)架构的应用程序。尽管它们都是Struts家族的一部分,但它们在设计哲学和实现方式上存在显著差异。 首先,从Action类的...

    struts1和struts2的区别(详细)

    ### Struts1与Struts2的主要区别 #### 一、Action执行机制的不同 - **Struts1**: 在Struts1框架中,Action是基于单例模式的,这意味着所有的请求都会共享同一个Action实例。这就导致了如果在Action中保存实例变量...

    Struts1和Struts2的区别和对比.txt

    ### Struts1与Struts2的区别与对比 #### 概述 Struts1与Struts2是基于Java的两种流行的Web应用框架,它们都遵循MVC(Model-View-Controller)设计模式,用于构建结构化的Web应用程序。Struts1是早期版本,在2000...

    Struts2和Struts1的什么区别

    在探讨Struts2与Struts1的区别时,我们需深入理解这两个框架的设计理念、架构模式以及它们在实际应用中的表现差异。以下将从多个角度详细分析这两种流行Java Web框架的不同之处。 ### 1. **Action类的区别** #### ...

    Struts2与Struts1区别

    Struts2 和 Struts1 是两个著名的 Java Web 开发框架,它们都出自 Apache Software Foundation,但有着显著的区别。Struts1 是早期的 MVC 框架,而 Struts2 则是在 WebWork 框架的基础上发展起来的,它吸收了 Struts...

    Struts1与Struts2本质区别

    ### Struts1与Struts2本质区别 #### 1. 在Action实现类方面的对比 - **Struts 1**:要求Action类必须继承一个抽象基类`Action`,这种设计方式意味着开发者必须按照预设的结构来编写代码,灵活性较低。这种通过抽象...

    转:struts1与struts2的区别

    ### Struts1与Struts2的主要区别 #### 1. Action类的设计差异 - **Struts1**: 在Struts1框架中,Action类必须继承自一个抽象类`org.apache.struts.action.Action`。这种方式可能导致的问题是代码灵活性较低,尤其...

    Struts2和Struts1的区别,详细点,主要说说Struts2

    ### Struts2与Struts1的主要区别 #### Struts2架构设计与实现方式 - **Struts2**在设计上采用了更加灵活的方式,每个请求都对应一个实例化的Action对象,而不是像**Struts1**那样在整个请求周期内共享同一个Action...

    struts1.x和struts2.x区别

    ### Struts1.x与Struts2.x的主要区别 在深入探讨Struts1.x与Struts2.x的区别之前,我们先来了解一下这两个框架的基本背景。Apache Struts是用于构建企业级Web应用程序的开源框架,它提供了MVC(模型-视图-控制器)...

    程序员必看的书籍Struts1和Struts2的区别

    通过对比分析Struts1和Struts2的特点,我们可以更好地理解这两种框架之间的区别,并能够根据实际项目需求做出合理的选择。这对于软件开发人员来说至关重要,能够帮助他们在日常工作中更高效地解决问题。

    struts与struts2的区别

    Struts1使用的是JSP和Tiles框架来组织视图,而Struts2引入了FreeMarker和Velocity等模板引擎,提供了更多样化的视图渲染方式。 **5. 配置方式:** Struts1的配置主要在XML文件中完成,而Struts2引入了更简洁的注解...

    struts1和struts2的jar包

    Struts1和Struts2是两个不同的版本,它们各自拥有独特的特性和功能,但在Java Web开发领域都扮演了重要角色。 **Struts1** Struts1是最早的版本,它在2001年发布,是基于ApacheJakarta项目的一个框架。Struts1的...

Global site tag (gtag.js) - Google Analytics