简单struts2文件上传
Posted ComputerNotes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单struts2文件上传相关的知识,希望对你有一定的参考价值。
点击↑ ↑ ↑"JavaStudyNotes"↑ ↑ ↑
Java基础 | 数据库 | 新媒体运营 | 学习视频 | 学习资料下载
现在是资源共享的时代,同时也是知识共享的时代
本人声明
第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。
可以直接用struts提供的项目中lib文件
第二步:把form表的enctype设置为: "multipart/form-data",如下:
第三步:在Action类中添加一下属性,属性蓝色部分对应于表单中文件字段的名称:
这里省略了属性的getter/setter方法
下面是struts.xml的配置
web.xml的配置
这里我也是直接参考struts所提供的项目文件中的web.xml。去掉头尾,只留下<filter>过滤器即可。另外也可以添加欢迎页index.jsp.
index.jsp文件
upload.jsp文件
下面运行tomcat,首先会进入欢迎页。
跳转如下界面
添加你要上传的文件。点击upload文件即上传成功
文件上传的.jar
表单中的上传的名字要和action类中定义的相同
enctype的属性
struts2当中定义的一些常量信息
1. <!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
2. <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是 action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,) 隔开。 -->
<constant name="struts.action.extension" value="do"/>
3. <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用), 开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false"/>
4. <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"/>
5.<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="true" />
6. <!-- 默认的视图主题 -->
<constant name="struts.ui.theme" value="simple" />
7. <!– 与spring集成时,指定由spring负责action对象的创建 -->
<constant name="struts.objectFactory" value="spring" />
8.<!–该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
9.<!--上传文件的大小限制-->
<constant name="struts.multipart.maxSize"value=“10701096"/>
qq交流群和小编微信(欢迎关注共同进步)
获得java学习资源
以上是关于简单struts2文件上传的主要内容,如果未能解决你的问题,请参考以下文章