新建工程 upload<o:p></o:p>
<o:p> </o:p>添加 Struts 框架,使用 Struts1.2 版本<o:p></o:p>
<o:p></o:p>
新建 一个 jsp + action 这里将使用动态的 ActionForm<o:p></o:p>
<o:p> </o:p> 在新建表单对像时使用一个文件名和一个文件对像进行提交<o:p></o:p>
<o:p> </o:p>修改动态 From 的类型为 org.apache.struts.upload.FormFile<o:p></o:p>
<o:p> </o:p>
xml 代码
- <form-bean name="upfileForm" type="org.apache.struts.action.DynaActionForm">
-
- <form-property name="filename" type="java.lang.String" />
-
- <form-property name="filedata" type="java.lang.String" />
-
- form-bean>
改为 <o:p></o:p>
xml 代码
- <form-bean name="upfileForm" type="org.apache.struts.action.DynaActionForm">
-
- <form-property name="filename" type="java.lang.String" />
-
- <form-property name="filedata" type="org.apache.struts.upload.FormFile" />
-
- form-bean>
-
<o:p> </o:p>
修改 upfile.jsp 文件,在中加入 enctype="multipart/form-data" ,这样才可以提交二进制类型的文件<o:p></o:p>
<o:p> </o:p>
修改文件第一行代码<o:p></o:p>
<o:p>
xml 代码
- <%@ page language="java"%>
改为
- <%@ page contentType="text/html;charset=UTF-8" language="java"%>
修改 upfileAction.java 文件,修改后的内容如下:<o:p></o:p>
<o:p></o:p>
<o:p>
java 代码
<o:p></o:p>
将SetCharacterEncodingFilter.java复制到项目中,在 web.xml 文件中加入以下配置内容,过滤器的编码设置为 UTF-8<o:p></o:p>
<o:p></o:p>
xml 代码
- <filter>
-
- <filter-name>Set Character Encodingfilter-name>
-
- <filter-class>com.test.SetCharacterEncodingFilterfilter-class>
-
- <init-param>
-
- <param-name>encodingparam-name>
-
- <param-value>UTF-8param-value>
-
- init-param>
-
- filter>
-
- <filter-mapping>
-
- <filter-name>Set Character Encodingfilter-name>
-
- <url-pattern>/*url-pattern>
-
- filter-mapping>
-
- <filter-mapping>
-
- <filter-name>Set Character Encodingfilter-name>
-
- <servlet-name>actionservlet-name>
-
- filter-mapping>
配置 Tomcat 的 server.xml 文件,文件在 Tomcat_Home/conf 中<o:p></o:p>
<o:p> </o:p>
在端口配置的前面加入 URIEncoding="UTF-8" 如果使用了和IIS集成的话需要在 8009 的端口前也加入此配置内容。<o:p> </o:p>
现在启动服务器,测试。<o:p></o:p>
</o:p></o:p>
分享到:
相关推荐
Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...
对于文件类型,可以使用`contentType`属性来限制上传文件的MIME类型。 除了这些基本的验证,还需要注意防止文件包含漏洞(File Inclusion Vulnerability)。Struts2曾经因这个问题引发过严重的安全漏洞,攻击者可以...
以上代码中,我们获取了上传文件的临时路径,验证了文件大小和类型,然后将其保存到服务器的指定位置。注意,实际操作中还需要处理可能出现的异常,以及进行必要的安全检查。 总结一下,使用 Struts 实现文件上传...
Struts2上传文件(直接用request)
-- 系统常量定义,定义上传文件字符集编码 --> <constant name="struts.i18n.encoding" value="UTF-8"> <!-- 系统常量定义,定义上传文件临时存放路径 --> <constant name="struts.multipart.saveDir" ...
文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...
`FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...
- 在后台Action中,通过 `HttpServletRequest` 的 `getPart()` 方法获取上传文件,然后保存到服务器。 综上所述,这个Java Struts2 文件上传程序实现了大文件的上传,并且带有进度条显示,提高了用户体验。开发...
1. **文件大小限制**:默认情况下,`Commons FileUpload`会限制上传文件的大小。如果需要上传大文件,需要自定义配置。 2. **安全性**:对上传的文件进行检查,防止上传恶意文件,如病毒或脚本文件。 3. **异常处理*...
uploadfy+easyui+struts+json文件上传 利用uploadfy、easyui、struts和json技术实现文件上传 其中只在action中模拟接收文件,存储文件到指定目录,但是没有跟数据库打交道。 但是这个跟数据库打交道的问题,大家很...
struts上传文件(图片/附件),希望对初学struts的同学们有帮助。如果有事么不足,请大家多指教。
这个“struts2.0上传文件源码”提供了一个完整的示例,展示了如何在Struts2.0环境中实现文件上传功能。在Web应用中,文件上传是常见的需求,例如用户可能需要上传头像、文档或者其他类型的数据。 在Struts2.0中,...
避免路径遍历攻击,确保文件存储在安全目录下,防止恶意文件的执行,以及检查上传文件的大小和类型,防止过大文件导致服务崩溃或恶意文件注入。 在本例中,提供的"updown"可能是一个包含示例代码、配置文件或测试...
3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...
默认情况下,这个拦截器可能会限制上传文件的类型为`.txt`,并且大小不超过10MB。这种限制是为了防止恶意用户上传大文件或者非文本文件,从而可能对服务器造成压力或引入安全风险。 配置文件`struts.xml`中关于文件...
2. 创建上传文件的JSP页面。 3. 编写Action类,使用Apache Commons FileUpload处理文件。 4. 验证和保存上传的文件。 5. 显示上传结果。 通过这种方式,你可以构建一个灵活且易于维护的文件上传系统。记住,文件...
Struts AJAX 文件上传是一种在Java Web开发中实现异步数据传输的技术,它结合了Struts框架和AJAX...在实际开发中,还可以结合其他技术和最佳实践,如使用第三方库如Struts2 jQuery Plugin,进一步简化文件上传的实现。