1.这个是我在网上找的,作个比较(需要修改web.xml) 在web.xml配置初始参数config
<filter>
<filter-name>struts2 </filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>config </param-name>
<param-value>struts-default.xml,struts-plugin.xml,/WEB-INF/struts.xml </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2 </filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping>
以上配置方式已通过测试,成功!,在些方法要经常改动web.xml,多人合作开发的话,很容易冲突
2.在struts.xml中使用include标签(需要修改公共的xml文件)
http://www.qingsoft.net/bbs/html/article/1094.jhtml
3.以上方法在多人开发时比较麻烦,以下也就是我自己的方法喽
1.重写FilterDispatcher 类的三个方法,我的struts-*.xml的路径在WEB-INF/modules/struts文件夹下
,JLTEnvironment类为我的应用的配置路径
public class JLTFilterDispatcher extends FilterDispatcher {
@Override
protected Dispatcher createDispatcher(FilterConfig rConfig) {
Map <String, String> params = new HashMap <String, String>();
for (Enumeration e = filterConfig.getInitParameterNames);
e .hasMoreElements();)
{
String name = (String) e.nextElement();
String value = filterConfig.getInitParameter(name);
params.put(name, value);
}
// 加载modules下的struts配置文件
getStrutsConfig(params);
return
new Dispatcher(filterConfig.getServletContext(), params);
}
// 加载modules下的struts配置文件
private void getStrutsConfig(Map <String, String> m) {
String strutsPath =
new String( "struts-default.xml,struts-plugin.xml,struts.xml");
File f = new File(JLTEnvironment.getModulesHome()+"/struts");
if (f.getName().equals("struts")) {
File[] ff = f.listFiles(); if (ff != null && ff.length > 0) {
for (int i = 0; i < ff.length; i++) {
String fname = ff[i].getName();
if (fname.startsWith("struts-")
&& fname.endsWith(".xml")) {
strutsPath+=","+ff[i].getAbsolutePath();
}
}
}
m.put("config", strutsPath);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//获得应用的路径
ServletContext ctx = filterConfig.getServletContext();
String home = ctx.getRealPath("/");
home = home.replace('\\', '/');
if (!home.endsWith("/")) {
home = home + "/";
}
//初始化应用环境参数
JLTEnvironment.init(home, ctx); super.init(filterConfig);
}
2.web.xml更改为
<filter>
<filter-name>struts2 </filter-name>
<filter-class>
com.jlt.core.JLTFilterDispatcher
</filter-class>
</filter>
3.这样,WEB-INF/modules/struts下的所有以struts-开头的以xml结尾的xml文件都会被自动加载进去,
不用去改其它配置了,呵呵
再添加struts配置文件的话,只要放在WEB-INF/modules/struts目录下,会自动被加载
分享到:
相关推荐
5. **包配置**:最后,加载`struts.xml`中引用或直接存在的各个包配置文件。包可以嵌套,因此会先加载父包,然后是子包。每个包中的配置会覆盖父包中的同名配置。 6. **Action配置覆盖**:如果同一个Action在不同的...
本压缩包包含了Struts2的核心库jar文件以及相关的XML配置文件,这些都是开发Struts2应用的基础组件。 **1. Struts2核心jar包** Struts2的核心jar包是实现框架功能的关键,主要包括以下几个部分: - **struts2-core...
如果设置为true,Struts2将加载XML配置文件;否则,不加载。 5. struts.continuations.package:这是一个包名,包含使用Rife continuations的actions。 6. struts.custom.i18n.resources:这是一个附加的国际化...
在描述的问题中,开发者尝试将`struts.xml`文件移动到项目中的不同位置,但发现即使指定了新的路径,Struts2也无法正确加载该配置文件。这是因为Struts2框架在启动时,并不直接根据应用程序的根目录来寻找配置文件,...
在Struts2中,`struts.xml`文件是核心配置文件,用于定义应用的行为、动作映射、结果类型、拦截器等。这篇博文主要探讨了`struts.xml`文件的元素结构,下面我们将详细解析这些关键元素。 首先,`struts.xml`文件...
在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`struts-default.xml`等。 - **web.xml**:它是Web应用的部署描述...
在Struts2中,配置文件主要分为两个部分:`struts-default.xml`和用户自定义的配置文件,如`struts.xml`或`struts-config.xml`。这些XML文件定义了Action、结果类型、拦截器和包等元素,从而控制应用程序的行为。 *...
在Struts2框架中,有两个核心配置文件特别重要:`struts.xml` 和 `struts.properties`。这两个文件共同决定了Struts2框架的行为特征和应用的运行逻辑。 #### 二、struts.xml 文件详解 `struts.xml` 文件是Struts2的...
Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....
Struts2主要依赖于两种基于XML的配置文件:`web.xml` 和 `struts-config.xml`(通常命名为 `struts.xml`)。本文将详细介绍这两种配置文件的作用及配置方式。 #### 二、web.xml 文件 **web.xml** 是一个Web应用程序...
该属性指定了Struts 2框架默认加载的配置文件,默认值为`struts-default.xml,struts-plugin.xml,struts.xml`。这意味着Struts 2框架默认加载`struts.xml`文件。如果需要指定默认加载多个配置文件,多个文件名间以...
- `struts.configuration.xml.reload`设定是否在配置文件更改后自动重载,`true`适合开发环境。 3. **开发模式与调试**: - `struts.devMode`设置为`true`,启动开发模式,提供详细的错误信息和更友好的调试体验...
7. **工具支持**:标签中的“工具”可能指的是使用Eclipse或MyEclipse等IDE的插件来辅助Struts2的开发,这些工具可以帮助自动完成配置、验证配置文件的正确性,并提供代码提示。 通过以上方式,Struts2允许开发者...
接下来,`struts.xml`是Struts2的核心配置文件,它定义了Action类、结果页面、拦截器等。在这个文件中,你可以配置每个HTTP请求对应的具体Action,Action如何映射到方法,以及执行完方法后跳转到哪个JSP或Freemarker...
2. 接下来,根据组件的类型,创建多个XML配置文件。在本例中,我们拆分为`applicationContext-dao.xml`、`applicationContext-service.xml`和`applicationContext-action.xml`。 - `applicationContext-dao.xml`...
在Struts2中,`struts.xml`是核心配置文件,它定义了应用的行为、动作、结果和其他组件。为了在Eclipse这样的集成开发环境中获得代码提示和自动完成,我们需要引入DTD(文档类型定义)文件,例如`struts-2.3.dtd`。 ...
本文将详细介绍如何在Struts1框架中实现多模块开发,并通过多配置文件来管理不同模块的配置信息。 #### 二、多模块架构的优势 1. **清晰的代码结构**:每个模块都有明确的功能边界,便于理解和维护。 2. **易于扩展...
Web.xml配置Struts2 Filter 在`web.xml`中,我们需要注册一个名为`StrutsPrepareAndExecuteFilter`的过滤器,该过滤器负责初始化Struts2框架并处理所有的HTTP请求。以下是典型的配置代码: ```xml ...
Struts2通过不同的配置文件来组织这些设置,主要包括`struts.xml`、`struts-default.xml`、`struts-plugin.xml`以及`struts.properties`等。 #### 二、Struts2配置文件的作用及加载顺序 1. **加载顺序**: - `...
3. **`struts.xml`**:位于Web应用中,是Struts2的核心配置文件,用于配置Action、拦截器等。 4. **`struts.properties`**:同样位于Web应用中,用于指定一些高级配置项。 5. **`web.xml`**:Web应用的部署描述符,...