拦截器栈在<package>标签内 <action>标签外配置 如上我们如果把它定义成默认拦截器的话就不需要在

<action>标签中引入,没有的话需要引入拦截器

<action>

<result name="input">/error/dbError.jsp</result>

<interceptor-ref name="myDefaultStack"></interceptor-ref>

</action>

文件上传类型错误action会直接返回input,所以不需要在action中return "input" ;

还可以在<package>标签外定义上传问价你的路径跟大小:

<constant name="struts.multipart.saveDir" value="/upload/detailed"></constant>

    <constant name="struts.multipart.maxSize" value="1024"></constant>

最最最重要的一点:上传文件的表单 必须加上:enctype="multipart/form-data" 不加必然报input错误。

下面两点没做过测试上面的一般已经够用了:

定义错误文件类型的消息提示,这个需要用到struts2的资源文件,在struts.properties文件中加入

struts.custom.i18n.resources=globalMessages

globalMessages对应着资源文件名



在源文件夹下定义资源文件globalMessages.properties,并在里面加入如下信息:

struts.messages.error.content.type.not.allowed=upload file contenttype is invalidate

以上配置完毕后,测试一下,对于非法的contentType,例如xxx.log这个文件的的contentType是pplication/octet-stream

会给出提示:upload file contenttype is invalidate

'.a'      : 'application/octet-stream',

'.ai'     : 'application/postscript',

'.aif'    : 'audio/x-aiff',

'.aifc'   : 'audio/x-aiff',

'.aiff'   : 'audio/x-aiff',

'.au'     : 'audio/basic',

'.avi'    : 'video/x-msvideo',

'.bat'    : 'text/plain',

'.bcpio' : 'application/x-bcpio',

'.bin'    : 'application/octet-stream',

'.bmp'    : 'image/x-ms-bmp',

'.c'      : 'text/plain',

'.cdf'    : 'application/x-cdf',

'.cdf'    : 'application/x-netcdf',

'.cpio'   : 'application/x-cpio',

'.csh'    : 'application/x-csh',

'.css'    : 'text/css',

'.dll'    : 'application/octet-stream',

'.doc'    : 'application/msword',

'.dot'    : 'application/msword',

'.dvi'    : 'application/x-dvi',

'.eml'    : 'message/rfc822',

'.eps'    : 'application/postscript',

'.etx'    : 'text/x-setext',

'.exe'    : 'application/octet-stream',

'.gif'    : 'image/gif',

'.gtar'   : 'application/x-gtar',

'.h'      : 'text/plain',

'.hdf'    : 'application/x-hdf',

'.htm'    : 'text/html',

'.html'   : 'text/html',

'.ief'    : 'image/ief',

'.jpe'    : 'image/jpeg',

'.jpeg'   : 'image/jpeg',

'.jpg'    : 'image/jpeg',

'.js'     : 'application/x-javascript',

'.ksh'    : 'text/plain',

'.latex' : 'application/x-latex',

'.m1v'    : 'video/mpeg',

'.man'    : 'application/x-troff-man',

'.me'     : 'application/x-troff-me',

'.mht'    : 'message/rfc822',

'.mhtml' : 'message/rfc822',

'.mif'    : 'application/x-mif',

'.mov'    : 'video/quicktime',

'.movie' : 'video/x-sgi-movie',

'.mp2'    : 'audio/mpeg',

'.mp3'    : 'audio/mpeg',

'.mpa'    : 'video/mpeg',

'.mpe'    : 'video/mpeg',

'.mpeg'   : 'video/mpeg',

'.mpg'    : 'video/mpeg',

'.ms'     : 'application/x-troff-ms',

'.nc'     : 'application/x-netcdf',

'.nws'    : 'message/rfc822',

'.o'      : 'application/octet-stream',

'.obj'    : 'application/octet-stream',

'.oda'    : 'application/oda',

'.p12'    : 'application/x-pkcs12',

'.p7c'    : 'application/pkcs7-mime',

'.pbm'    : 'image/x-portable-bitmap',

'.pdf'    : 'application/pdf',

'.pfx'    : 'application/x-pkcs12',

'.pgm'    : 'image/x-portable-graymap',

'.pl'     : 'text/plain',

'.png'    : 'image/png',

'.pnm'    : 'image/x-portable-anymap',

'.pot'    : 'application/vnd.ms-powerpoint',

'.ppa'    : 'application/vnd.ms-powerpoint',

'.ppm'    : 'image/x-portable-pixmap',

'.pps'    : 'application/vnd.ms-powerpoint',

'.ppt'    : 'application/vnd.ms-powerpoint',

'.ps'     : 'application/postscript',

'.pwz'    : 'application/vnd.ms-powerpoint',

'.py'     : 'text/x-python',

'.pyc'    : 'application/x-python-code',

'.pyo'    : 'application/x-python-code',

'.qt'     : 'video/quicktime',

'.ra'     : 'audio/x-pn-realaudio',

'.ram'    : 'application/x-pn-realaudio',

'.ras'    : 'image/x-cmu-raster',

'.rdf'    : 'application/xml',

'.rgb'    : 'image/x-rgb',

'.roff'   : 'application/x-troff',

'.rtx'    : 'text/richtext',

'.sgm'    : 'text/x-sgml',

'.sgml'   : 'text/x-sgml',

'.sh'     : 'application/x-sh',

'.shar'   : 'application/x-shar',

'.snd'    : 'audio/basic',

'.so'     : 'application/octet-stream',

'.src'    : 'application/x-wais-source',

'.sv4cpio': 'application/x-sv4cpio',

'.sv4crc' : 'application/x-sv4crc',

'.swf'    : 'application/x-shockwave-flash',

'.t'      : 'application/x-troff',

'.tar'    : 'application/x-tar',

'.tcl'    : 'application/x-tcl',

'.tex'    : 'application/x-tex',

'.texi'   : 'application/x-texinfo',

'.texinfo': 'application/x-texinfo',

'.tif'    : 'image/tiff',

'.tiff'   : 'image/tiff',

'.tr'     : 'application/x-troff',

'.tsv'    : 'text/tab-separated-values',

'.txt'    : 'text/plain',

'.ustar' : 'application/x-ustar',

'.vcf'    : 'text/x-vcard',

'.wav'    : 'audio/x-wav',

'.wiz'    : 'application/msword',

'.wsdl'   : 'application/xml',

'.xbm'    : 'image/x-xbitmap',

'.xlb'    : 'application/vnd.ms-excel',

'.xls'    : 'application/excel',

'.xls'    : 'application/vnd.ms-excel',

'.xml'    : 'text/xml',

'.xpdl'   : 'application/xml',

'.xpm'    : 'image/x-xpixmap',

'.xsl'    : 'application/xml',

'.xwd'    : 'image/x-xwindowdump',

'.zip'    : 'application/zip',

版权声明:本文为博主原创文章,未经博主允许不得转载。

struts2--文件上传类型3的更多相关文章

  1. struts2文件上传类型的过滤

    转自:http://www.2cto.com/kf/201403/282787.html 第一种解决方案: 1.手动实现文件过滤: 判断上传的文件是否在允许的范围内定义该Action允许上传的文件类型 ...

  2. struts2文件上传,文件类型 allowedTypes

    struts2文件上传,文件类型 allowedTypes 1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript ...

  3. 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】

    一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...

  4. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  5. Struts2文件上传下载

    Struts2文件上传 Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defau ...

  6. Struts2文件上传和下载(原理)

    转自:http://zhou568xiao.iteye.com/blog/220732 1.    文件上传的原理:表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:1)     ...

  7. Struts2 文件上传

    一:表单准备 ① 要想使用HTML 表单上传一个或多个文件     –须把 HTML表单的 enctype属性设置为multipart/form-data     –须把HTML 表单的method ...

  8. Struts2文件上传方式与上传失败解决方式

    首先将几个对象弄出来第一个 上传页面第二个 上传action第三个 startut2配置文件 我的文字描述不是很好,但是终归是自己写出来的,后来我在网上看到一篇关于文件上传描述的非常清楚的文章, 链接 ...

  9. JAVA Web 之 struts2文件上传下载演示(一)(转)

    JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...

  10. (八)Struts2 文件上传和下载

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 文件上传 Struts2 文件上传基于Struts2 拦 ...

随机推荐

  1. encodeURIComponent编码反斜杠 \ (正则匹配)

    记录一个小bug... 前言废话: 1. 功能需求:修改输入框的内容,获取字符串传给后端保存. 2. bug历程:刚开始直接获取value值传过去.后来测试发现%&这些特殊字符无法传递后,在前 ...

  2. redis迁移复制数据,主从关系建立实践

    装redis的机器出了点问题,需要转移数据然后初始化系统,然后我就研究了下redis的数据复制,发现了slaveof 192.168.0.1 6379这个命令,开始踩下这个坑 首先要新的服务器上进入r ...

  3. Rabbitmq(三)

    1.在服务器安装好rabbitmq后,自己配置自己用的vhost,exchange和queue的绑定 2.项目添加RabbitMqClient.dll(nuget获取)引用 3.添加helper就可以 ...

  4. Zeta--S3 Linux使用PCCAM/WEBCAM模式

    #include <ZetaCameraInterface.h> #include <ZetaMediaPlayInterface.h> using namespace zet ...

  5. windows提权之前的信息收集

    0x00 基本信息 -获取主机名:hostname或者echo %COMPUTERNAME% -获取所属域信息:systeminfo 获取环境变量:set 0x01 获取系统安装的软件信息 -导出注册 ...

  6. 如何通过SQL语句写入webshell

    在web应用场景下,经常会碰到SQL注入场景,如页面能够执行SQL语句,那么可能会有直接通过SQL语句写入webshell的风险,常见的phpmyadmin环境下,通过几个语句可以轻松将一句话木马写入 ...

  7. [转]Web登录中的信心安全问题

    1. 一个简单的HTML例子看看用户信息安全 标准的HTML语法中,支持在form表单中使用<input></input>标签来创建一个HTTP提交的属性,现代的WEB登录中, ...

  8. CRLF注入学习

    预备 <CRLF>是换行符,CRLF注入顾名思义就是把换行符写入,那么要把换行符写入到哪里呢?看看下面的http头 可以看到,每一行都包含特定的头部信息,然后以换行为标志写入其他的头部信息 ...

  9. SQL 去重 显示第一条数据 显示一条数据

    需求描述:根据某一个字段或几个字段去重来显示任一条数据,第一条或最后一条. 数据样式如下图: 尝试解决: --count(*)方法(只把条数为1条的显示出来了,超过1条全部过滤了) select * ...

  10. Linux入门进阶第四天——服务管理

    以下均基于CentOS6.3,其中有部分命令已经过时,在CentOS7中不再使用,请注意 [更新]:CentOS7改变: CentOS .0中一个最主要的改变,就是切换到了systemd.它用于替代红 ...