原servlet上传使用了如下上传方式
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4mb
fu.setSizeMax(Integer.parseInt("4194304"));
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(Integer.parseInt("4096"));
// 设置临时目录:
String a = System.getProperty("user.dir") + File.separator +"tmp";
fu.setRepositoryPath(a);
// 得到所有的文件:
List fileitems = fu.parseRequest(request);
InputStream is = new FileInputStream(ef);
在Struts2中由于过滤器的原因
<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,struts2/struts.xml</param-value>
</init-param>
</filter>
会使fileitems 集合为空,去掉过滤器正常
换下思路,我们需要的是上传的文件,此处我们可以通过另一种方式获得
MultiPartRequestWrapper asd = (MultiPartRequestWrapper)request;
File ef = asd.getFiles("upload")[0];
InputStream is = new FileInputStream(ef);
这样也算解决的一种方式吧
参考:http://xinkong1010.iteye.com/blog/654623
原有的网上解决方法不是很适用了:http://www.cnblogs.com/xiao0/archive/2011/08/14/2138397.html
分享到:
相关推荐
Struts2框架是一款基于MVC(Model-View-Controller)设计模式的开源Java Web应用程序框架,它极大地简化了Java Servlet API的使用,提高了开发效率。这个压缩包包含了两个不同版本的Struts2框架:struts2.0.11和...
6. **Tiles框架集成**:虽然Struts1时代就有的Tiles框架在Struts2中仍然可以使用,通过`struts2-tiles-plugin.jar`,开发者可以创建和管理复杂的布局模板。 7. **Spring整合**:如果项目中使用了Spring框架,`...
本案例聚焦于使用Struts2和Servlet两种不同的技术来实现这一功能。这两个技术都是Java Servlet的重要扩展,用于增强Web应用程序的功能和用户体验。 首先,让我们深入理解Struts2框架。Struts2是一个基于MVC(Model-...
Struts2还有许多高级特性,如插件系统、国际化、数据验证、拦截器的自定义、以及与其他框架如Spring、Hibernate的集成。深入学习Struts2将有助于提升开发Web应用的效率和质量。对于初学者来说,了解和实践上述步骤是...
### Struts 2框架概述 #### 一、Struts 2框架与Struts 1框架的主要差异 在探讨Struts 2框架之前,我们先来理解一下它与Struts 1框架之间的主要区别。这两代框架尽管名字相似,但在设计理念和技术实现上却存在显著...
- **struts2-spring-plugin**: 与Spring框架集成,实现依赖注入。 - **struts2-config-browser-plugin**: 提供图形化配置浏览器,方便查看和调试配置。 3. **MVC模式** - Model:业务逻辑模型,处理数据。 - ...
其中,ActionContextCleanUp过滤器是可选的,但它在Struts2与其他框架(如SiteMeshPlugin)的集成中扮演了重要角色,确保了环境的干净与隔离,防止不同请求之间的数据污染。 #### 3. FilterDispatcher调用 接下来...
Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache软件基金会下的一个开源项目,被广泛用于Java Web应用程序的开发。该框架的主要目标是简化开发过程,提高代码的可维护性和可测试性。这里我们将...
Struts2是ActionServlet的一种增强版本,是Java Web开发中的一个流行MVC(Model-View-Controller)框架。该框架提供了一种结构化的、可扩展的方式来组织应用程序代码,使得开发人员能够更方便地处理业务逻辑、数据...
在Struts1中,框架通过Servlet启动,而在Struts2中,它通过Filter启动。在`web.xml`配置文件中,需要定义一个名为`struts2`的过滤器,类为`org.apache.struts2.dispatcher.FilterDispatcher`。过滤器的映射应覆盖...
本文将详细解析两个与CKEditor相关的上传示例:一个是通过Servlet实现,另一个是使用Struts2框架。这两个方法都解决了在CKEditor中处理文件上传的需求。 首先,我们来看Servlet方式的CKEditor上传例子。Servlet是一...
Struts2是一个强大的Java EE应用程序开发框架,它基于MVC(Model-View-Controller)设计模式,用于构建可维护性高、结构清晰的企业级Web应用。这个“struts2框架手工搭建带jar包”资源是为初学者设计的,旨在帮助...
2. 使用Filter转发:配置Struts2的Filter在Servlet处理完请求后,将控制权交给Struts2,由Struts2来决定下一步的动作。 Struts2提供了许多强大的特性,如拦截器(Interceptor)、插件机制、OGNL表达式语言等。拦截...
在“Struts2直接访问Servlet API(二十五)”这个主题中,我们可能探讨的是如何在Struts2框架下直接利用Servlet API来实现某些特定功能或者优化性能。Servlet API是Java Web开发的基础,它提供了处理HTTP请求和响应...
2. **配置与搭建**:讲解如何配置Struts2的XML配置文件,以及如何在项目中集成Struts2框架。 3. **Action与结果**:讲解如何创建Action类,处理用户请求,并返回不同的结果页面。 4. **拦截器**:介绍Struts2强大的...
例如,Servlet可以用来处理上传文件或解析复杂的HTTP请求,而Struts框架则负责处理用户界面和业务逻辑之间的交互。 在使用Struts时,开发者通常会定义一个Action类,这个类继承自Struts提供的抽象Action类或者实现...
这个压缩包提供了Struts2框架的核心库,主要用于构建基于Java Servlet的Web应用程序。具体到struts-2.3.16版本,这是Struts2的一个稳定版本,包含了多个组件和修复的bug,旨在提供更高效、更安全的开发环境。 核心...
在进行Struts2框架的简单搭建时,首先我们需要确保开发环境已经准备就绪。这包括安装Java Development Kit (JDK)、集成开发环境(如Eclipse或IntelliJ IDEA)、以及Tomcat服务器。接下来,我们将逐步介绍如何创建一...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在Java社区中广泛使用,特别是在构建企业级Web应用时。这个"struts2基本框架demo"是为初学者设计的一个入门示例,帮助理解Struts2...
总的来说,"Struts2写的邮件上传"涉及到的技术点包括Struts2框架的Action、拦截器、结果类型,以及Apache Commons Email库的使用,还有文件上传处理和SMTP邮件服务的集成。这个功能实现了用户上传文件并以邮件形式...