通常,MVC框架都需要Web 应用加载核心控制器,而对于Struts2来说,需要加载的就是struts2的核心控制器"FilterDispatcher"。只要Web应用加载了 FilterDispatcher,FilterDispatcher将会加载应用的Struts2框架。
加载FilterDispatcher即在web.xml中配置FilterDispatcher,代码如下
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>test.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在通常的Struts2 FilterDispatcher配置中,可能没有代码中的蓝色部分——actionPackages参数的配置。actionPackages参数的设置就是为Struts2的所谓"零配置"服务的,param-value中的值代表一个包空间,如果有多个包,则以逗号隔开。
Struts2框架将会扫描这些包下面的Action类,来支持与Action匹配的逻辑名找到对应的Action。如一个action的实体类名为 TestAction,那么Test.action, Test(这种写法有点像servlet), test.action都可以找到TestAction(并不需要在struts.xml中配置)。
既然我们不在struts.xml中配置action,那么action的result又怎么指定呢,Struts2同样有自己的方法——在Action类中直接加上result注解(写在Action类的上方):
@Results({
@Result(name="test1", type=NullResult.class, value = "/test1.jsp", params = {}),
@Result(name="test2", type=NullResult.class, value = "/test2.jsp", params = {})
})
那么,如果我们同时配置了struts.xml,结果将会如何呢,逻辑名到底是使用"零配置"和注解result,还是使用struts.xml的配置呢。
同样是上面的例子,如果我们在struts.xml同时配合了逻辑名Test,那么使用Test.action,将会使用struts.xml中的配置。 看起来xml的配置可以覆盖"零配置",这样很方便不是吗?但是这小瞧了Struts2"无敌的"匹配功能,当我们使用小写test配置 struts.xml时,test.action将会使用"零配置"而不是struts.xml,崩溃。。。
但是在struts2.16中 改为
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此时actionPackages 都不要配置,好象会自动搜索 action,actions,struts,struts2等目录。SSH3时代。
分享到:
相关推荐
根据给定文件的信息来看,这段文字实际上是在描述K线图的相关知识,并非“struts配置”。但是为了满足您的需求,我会基于这段描述进行一个错误纠正并生成与“struts配置”相关的知识点。以下是对“struts配置”的...
本资料“struts配置大全(1、2全)”涵盖了Struts 1和Struts 2两个版本的核心配置,以及与Spring MVC的整合配置,旨在帮助开发者深入理解并熟练掌握Struts框架的配置方法。 **Struts 1配置** Struts 1的配置主要集中...
struts配置文件,用于创建springmvc与struts工程的配置文件,集合加数组获得后台的空间空间空间 空间 空间空了
通过Struts配置文件,我们可以定义各个Action和它们对应的处理方法。 在配置简单的Struts应用时,主要涉及以下几个步骤: 1. **添加依赖**:确保你的项目包含了Struts2的核心库。这通常通过在Maven或Gradle的依赖...
以下是对“多个struts配置文件使用”这一主题的详细解析。 ### 一、Struts框架概述 Struts是一个开源的MVC(Model-View-Controller)框架,用于构建可扩展的企业级Java Web应用程序。它提供了一种结构化的方式来...
本文将深入探讨Struts配置文件的细节,包括`web.xml`和`struts-config.xml`。 首先,`web.xml`是每个Web应用程序的标准部署描述符,它是基于XML的文件,用于向Web容器(如Tomcat)提供关于应用如何运行的信息。`web...
### Struts配置文件详解 #### 一、Struts配置文件的重要性与作用 Struts框架作为Java Web开发领域中的一种流行MVC(Model-View-Controller)框架,它提供了一种结构化的方式来构建Web应用程序。在Struts框架中,`...
7. **Struts配置文件:** `struts-config.xml`是Struts框架的核心配置文件,它定义了表单Bean、Action、Forward等组件。每个元素对应`org.apache.struts.config`包中的类,如`ModuleConfig`是核心类,它存储了整个...
详细讲解了Struts如何配置,适合刚刚接触Struts的开发者来配置环境
Struts配置文件是该框架的核心组成部分,它定义了请求如何被处理、视图如何与控制器交互等关键信息。在这篇详尽的讲解中,我们将深入探讨Struts配置文件的关键元素和作用。 1. **struts-config.xml文件**:这是...
**多个Struts配置文件**: Struts2支持多个配置文件,可以通过`<include>`标签来导入其他配置文件,这样可以使配置更加模块化,方便管理和维护。 **Action的调用方式**: Struts2支持基于注解的Action配置,可以...
struts-config.xml拆分,超级简单
### Struts配置文件详解 #### 一、概述 Struts框架是Java Web开发中的一个重要工具,它使用MVC(Model-View-Controller)设计模式来组织应用逻辑,从而提高代码的可维护性和可读性。Struts框架的核心是通过两个XML...
在本"J2EE Struts配置实例程序"中,我们将深入探讨Struts2的配置与基本操作。 一、Struts2概述 Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,提供了更强大的功能和更好的性能。Struts2的核心设计...