StrutsPrepareAndExecuteFilter为struts2.3版本的过滤器,但是其影响struts上传文件;故而改造如下:
继承StrutsPrepareAndExecuteFilter,并修改doFilter设置。红色为不需要过滤的部分;
public class MyStrutsFilter extends StrutsPrepareAndExecuteFilter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String url = request.getRequestURI();
try {
if (url.indexOf("/oa/") > -1) {
chain.doFilter(req, res);
} else {
super.doFilter(req, res, chain);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
web.xml的配置如下:
<filter>
<filter-name>struts</filter-name>
<filter-class>
com.xxx.login.action.MyStrutsFilter
</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,conf/struts/struts.xml </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
相关推荐
- 开发者需要在`web.xml`中配置Struts 2的前端控制器(`FilterDispatcher`或`StrutsPrepareAndExecuteFilter`)以启动框架。 - 配置`struts.xml`文件来定义Action、拦截器和结果类型。 - 使用注解或XML配置Action...
- **commons-fileupload-1.4.jar**: 支持文件上传功能的库。 - **commons-io-2.6.jar**: 提供了对 Java IO 操作的封装和简化。 - **commons-lang3-3.8.1.jar**: 提供了一系列针对 Java 核心类库的增强。 - **...
接触新版本出了问题后,解决了把jar文件上传上来供大家分享, 一共9个jar文件,我试过没问题 web.xml <filter-name>struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter ...
3. CVE-2013-2261(Struts2 S2-016):此漏洞存在于Struts2的文件上传功能中,攻击者可以通过精心设计的请求绕过安全限制,执行任意系统命令。 二、Struts2安全漏洞修复方法 1. 更新到最新版本:最直接的修复方式...
- `commons-fileupload-1.2.1.jar`:用于文件上传的组件。 #### Struts2应用的配置文件 Struts2的配置文件主要负责定义Action、拦截器和其他配置信息。示例配置文件如下: ```xml <!DOCTYPE struts PUBLIC "-//...
如Struts 2的核心库(struts2-core-2.x.x.jar),XWork库(xwork-2.x.x.jar),OGNL库(ognl-2.6.x.jar),FreeMarker库(freemarker-2.3.x.jar),日志库(logging库如commons-logging-1.1.x.jar)以及文件上传库(Commons-...
- `Commons-fileupload`:用于处理文件上传。 - 如果需要与其他框架集成,如Spring,还需引入相应的插件JAR,如`struts2-spring-plugin-2.x.x.jar`。 **3. Struts2的启动配置** 在Struts2中,框架通过Filter而非...
- Struts2通过其强大的插件体系结构支持各种扩展插件,这些插件可以为开发人员提供额外的功能,如数据验证、国际化、文件上传等功能,极大地简化了开发过程。 ##### 1.5 远程调用支持 - Struts2支持多种远程调用...
core-2.x.x.jar`用于动作处理,`ognl-2.6.x.jar`用于对象图形导航,`freemarker-2.3.x.jar`作为视图模板引擎,`commons-logging-1.x.x.jar`提供日志服务,以及`commons-fileupload-1.2.1.jar`处理文件上传。...
- `commons-fileupload-1.2.1.jar`:用于文件上传功能,自 Struts2.1.6 版本起已包含该功能。 #### 二、Struts2 配置文件详解 - **`struts.xml` 文件解析**:`struts.xml` 文件是 Struts2 中非常重要的配置文件,...
- `commons-fileupload-1.2.1.jar`:用于文件上传的支持组件。 ##### 2. 编写Struts2配置文件 Struts2的配置文件通常命名为`struts.xml`,位于项目的`WEB-INF/classes`目录下。示例配置如下: ```xml <!DOCTYPE ...
- `commons-fileupload-1.2.2.jar`: 提供了文件上传功能的支持。 - `commons-io-2.0.1.jar`: 用于处理I/O操作,简化输入输出流的操作。 - `freemarker-2.3.18.jar`: 是一个用于生成输出文本的模板引擎。 - `ognl...
它基于MVC设计模式,能够帮助开发者更加高效地组织代码结构,并提供了一系列实用的功能,如拦截器、文件上传/下载、验证框架等。本次教程基于Struts2.3版本。 #### 入门案例步骤详解 ##### 1. 导入JAR包 - 需要将...
- `Commons-fileupload.1.2.1.jar`:文件上传组件。 接下来,需要在项目的`web.xml`文件中配置Struts2的过滤器,以便启动Struts2框架。此外,还需要定义Struts2的核心配置文件`struts.xml`,该文件用于描述应用程序...
- Commons-fileupload-1.2.1.jar:文件上传组件,在Struts2版本2.1.6之后,该组件成为必需。 通过上述详细的知识点介绍,我们可以了解到Struts2框架作为MVC架构实现的优势所在,以及如何从零开始搭建起Struts2的...
- `commons-fileupload-1.2.1.jar`:用于文件上传的功能支持。 2. **编写Struts2的配置文件**: - 配置文件通常命名为`struts.xml`,遵循DTD规范。 - 示例配置如下: ```xml <!DOCTYPE struts PUBLIC "-//...