📅  最后修改于: 2023-12-03 15:20:22.103000             🧑  作者: Mango
Struts 2是一个基于Java的开源Web应用程序框架,提供了一种基于MVC(模型-视图-控制器)架构模式的开发方式。文件上传是Web应用程序开发中常见的需求之一,而Struts 2提供了强大的文件上传功能。
在使用文件上传功能之前,需要在Struts 2配置文件中进行相应的配置。
<struts>
<constant name="struts.multipart.maxSize" value="10000000" />
<package name="fileUploadPackage" extends="struts-default">
<action name="fileUpload" class="com.example.FileUploadAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">10000000</param>
<param name="allowedTypes">image/jpeg,image/png,application/pdf</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
在上述配置中,struts.multipart.maxSize
是文件上传的最大大小限制,以字节为单位。fileUpload
拦截器用于处理文件上传请求。maximumSize
参数用于指定文件上传的最大大小,allowedTypes
参数用于指定允许的文件类型。
在Struts 2中处理文件上传通常需要编写一个Action类和对应的JSP页面。
public class FileUploadAction extends ActionSupport {
private File file;
private String fileFileName;
private String fileContentType;
// getter and setter methods
public String execute() throws Exception {
// 文件上传处理逻辑
return SUCCESS;
}
}
在上述代码中,File
、fileFileName
和fileContentType
是用于保存上传文件的属性。execute
方法是处理文件上传的逻辑。
<form action="fileUpload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
在对应的JSP页面中,使用<input type="file" />
标签来创建文件上传字段。
文件上传的处理流程如下:
通过Struts 2提供的文件上传功能,开发人员可以轻松地处理文件上传需求。合理配置文件上传大小和允许的文件类型,可以提高系统的安全性和稳定性。