Struts2入门:文件上传教程与依赖配置

需积分: 3 5 下载量 8 浏览量 更新于2024-08-18 收藏 999KB PPT 举报
本资源是一份关于Struts2入门的教程,主要讲解了如何实现文件上传功能。首先,开发者需要在Web项目中添加两个Apache Commons库的依赖:commons-fileupload-1.2.1.jar和commons-io-1.4.jar,这两个库对于文件上传至关重要。它们可以从Apache Commons网站下载。 在HTML表单中,开发者需要设置enctype属性为"multipart/form-data",以便支持文件上传。例如,一个基本的表单可能如下所示: ```html <form enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx.action" method="post"> <input type="file" name="uploadFile"> </form> ``` 在Struts2的Action类中,如HelloWorldAction,会包含用于接收上传文件的属性,如`File uploadFile`、`String uploadFileContentType`和`String uploadFileFileName`。这些属性对应表单中文件输入字段的名称。在`upload()`方法中,通过`ServletActionContext.getServletContext().getRealPath()`获取文件存储的实际路径,并使用`FileUtils.copyFile()`方法将上传的文件复制到指定目录。 此外,资源提到了Struts2开发所需的最小JAR依赖包,包括struts2-core-2.2.3.jar(核心框架类库)、xwork-core-2.2.3.jar(XWork库,Struts2基于此构建)、ognl-3.0.1.jar(对象图导航语言)、freemarker-2.3.x.jar(用于UI标签的模板)、commons-logging-1.1.x.jar(日志支持)以及javassist-3.11.0.GA.jar、commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar。在实际开发中,根据项目需求,可能还需要添加其他第三方插件的JAR文件,如struts2-spring-plugin-2.x.x.jar以集成Spring框架。 Struts2的启动配置涉及到在web.xml文件中配置`StrutsPrepareAndExecuteFilter`过滤器,这是Struts2通过Filter而非Servlet启动的关键。具体配置如下: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <!-- 其他配置 --> </filter-mapping> ``` 这份教程为初学者提供了Struts2文件上传功能的实现步骤,以及项目开发中所需的基础依赖和配置。这对于理解和实践Struts2框架有很好的参考价值。