`
jubin2002
  • 浏览: 40345 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

有关Struts2 ActionContextCleanUp的疑问

阅读更多
初尝试Struts2,今天下午为了文件上传的问题郁闷了挺久,还在问答那扔了个问题http://www.iteye.com/problems/3622

呵呵,大体就是commons-fileupload上传时,某些文件(比如jpg,gif,txt等)上传均会报错
java.lang.NullPointerException

java.io.FileInputStream.<init>(Unknown Source)

看错误是FileInputStream初始化失败,使用System.out打印结果是null

而另外一些文件上传(比如pdf,word等)均正常

晚饭后在网上找了很多资料,然后发现在struts.xml原来的基础上再配置
<filter>
    <filter-name>struts-cleanup</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

问题果然迎刃而解,但是对于其中的原理还是不清楚,前辈们如果了解的话请指教下,谢谢
分享到:
评论
2 楼 qinxiaozhou 2008-09-27  
是不是限定了 文件上传的格式啊
1 楼 kyo100900 2008-09-22  
无法重现你所说的问题。

相关推荐

    struts2 源码分析

    下面是Struts2 源码分析的相关知识点: 1. Struts2 架构图 Struts2 的架构图主要包括 Filter chain、ActionMapper、ActionProxy、ActionInvocation 和 Result 等组件。Filter chain 负责处理请求,Filter 主要包括...

    Struts2初步使用总结

    - **ActionContextCleanUp**:这是一个可选过滤器,主要用于清理线程上下文中的`ActionContext`对象,对于Struts2与其他框架的集成非常有帮助。 - **StrutsPrepareAndExecuteFilter**:这是Struts2的主要过滤器,...

    Struts2基本原理

    Struts2提供了与其他框架的集成能力,如通过ActionContextCleanUp过滤器帮助集成SiteMesh实现页面布局。 总的来说,Struts2框架提供了一个结构化的方法来组织和管理Web应用,简化了开发过程,通过配置文件和拦截器...

    struts2重要知识点原理

    2. 请求通过一系列过滤器,包括可选的ActionContextCleanUp过滤器,帮助Struts2与其他框架集成。 3. FilterDispatcher被调用,它会询问ActionMapper来确定是否需要调用特定的Action。 4. 如果需要,FilterDispatcher...

    完美版(适合自学)struts2

    Struts2是一个强大的Java web应用程序框架,它是Struts1的后续产品,融合了WebWork的核心技术,提供了全新的架构。在Struts2中,基于拦截器的机制被用来处理用户请求,这种设计使得业务逻辑控制器与Servlet API完全...

    Struts2 工作原理 Struts2框架 有图

    其中,ActionContextCleanUp过滤器是可选的,但它在Struts2与其他框架(如SiteMeshPlugin)的集成中扮演了重要角色,确保了环境的干净与隔离,防止不同请求之间的数据污染。 #### 3. FilterDispatcher调用 接下来...

    Struts2源码阅读

    Struts2是一个流行的Java Web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。源码阅读对于理解其工作原理至关重要。本文将深入探讨Struts2的核心概念、类和请求处理流程。 首先,我们来看Struts2的架构...

    Struts2资源

    2. **过滤器处理**:请求首先会经过一系列过滤器,如ActionContextCleanUp过滤器,用于清理Action上下文环境,这对于集成其他框架(如SiteMeshPlugin)非常重要。 3. **ActionMapper解析**:FilterDispatcher调用...

    Struts2 简介

    Struts2是一个强大的Java Web应用框架,它是基于Model-View-Controller(MVC)设计模式的,用于构建可扩展的企业级应用。Struts2的出现是由于WebWork和Struts社区的合并,它继承了两者的优势,提供了更高效、灵活的...

    Struts2整合SiteMesh技巧

    3. **struts2**过滤器:Struts2框架自带的过滤器,用于处理所有Struts2相关的请求。 ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher ``` 过滤器映射方面,每...

    struts2流程与流程图

    一个请求在Struts 2框架中的处理大概分为以下几个步骤。  客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入 http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...

    struts2 dwr ajax 配置 局部刷新

    5. **整合Struts2**:Struts2需要通过过滤器进行配置,如`ActionContextCleanUp`和`FilterDispatcher`,确保DWR能够与Struts2框架协同工作。 **Struts2与DWR集成** Struts2提供了强大的MVC功能,DWR则负责处理前端...

    Struts2乱码终极解决办法

    - 添加一个名为`struts-cleanup`的过滤器,使用`org.apache.struts2.dispatcher.ActionContextCleanUp`类。 ```xml &lt;filter-name&gt;struts-cleanup &lt;filter-class&gt;org.apache.struts2.dispatcher....

    Struts2工作流程

    Struts2是一个流行的Java Web开发框架,它遵循MVC(模型-视图-控制器)设计模式,用于构建可维护性和可扩展性高的Web应用程序。在深入理解Struts2的工作流程之前,我们需要先了解一些基本概念。 1. **MVC模式**: ...

    struts2技巧,笔记.zip指定404,500页面 utf-8过滤器 防SQL注入 解决乱码

    这个压缩包文件包含了一系列与Struts2相关的技术点,主要集中在错误页面配置、字符编码问题、防止SQL注入和Struts2框架的特性上。以下是这些知识点的详细解释: 1. **错误页面配置**: 在Web应用中,当请求无法...

    struts2工作原理

    2. `org.apache.struts2.config` 包:包含了与配置相关的接口和类,负责XML和properties文件的读取和解析,虽然大部分工作由WebWork完成,但Struts2也做了一部分适配。 3. `org.apache.struts2.dispatcher` 包:这...

    struts2入门实例和工作(流程)原理

    Struts2是一个强大的Java web应用程序开发框架,它基于MVC设计模式,主要用于简化企业级应用的开发过程。本文将深入探讨Struts2的入门实例、工作原理及其主要组件。 首先,让我们从一个简单的Struts2入门实例开始。...

    Struts2完美教程

    - **其他**:Struts还提供了`ActionContextCleanup`类,用于在请求结束时清理资源。 **2. struts.xml文件** - **核心配置**:定义了Struts2的配置信息,可以包含多个其他配置文件,便于管理不同模块的配置。 - **...

    struts2 OGNL语言学习笔记

    此外,在使用 Struts 2 时,需要注意乱码问题,解决方法是将编码方式设为“utf-8”,并在 web.xml 中配置 ActionContextCleanUp 过滤器。 OGNL 语言是 Struts 2 中的一种强大且灵活的表达式语言,能够简化 JSP 页面...

Global site tag (gtag.js) - Google Analytics