拦截器栈在<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. Bootstrap01

    Bootstrap01内容概要 一.使用Bootstrap的步骤 1.下载Bootstrap类库,包含三个部分,fonts,css,Bootstrap 2.导入项目中,在头部引入JQ,css和Boot ...

  2. Angular4 自制华容道拼图(可以升级难度、关卡、更换图片)

    前端工程师新手一枚,之前一直做些小设计,以及静态页面的编写工作.刚刚接触 Angular 没有多久,四个月前对于 js 也只是会写 alert 之流,现在进步算是很大,下面是自制的华容道拼图(可以升级 ...

  3. PE 学习之路 —— DOS 头、NT 头

    1. 前述 可执行文件的格式是操作系统本身执行机制的反映,理解它有助于对操作系统的深刻理解,掌握可执行文件的数据结构及其一些机理,是研究软件安全的必修课.`PE(Portable Executable ...

  4. Hive HQL基本操作

    一. DDL操作 (数据定义语言) 具体参见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 其实就是我们在创建 ...

  5. BugFree后台统计Bug信息

    以下为二维表信息 //统计严重等级Bug SELECT severity,count(severity) FROM `bf_bugview` where product_id=476 GROUP BY ...

  6. 图 ADT接口 遍历运算 常规运算 邻接矩阵实现

    Graph.h   (图的结构, 遍历, 常规操作接口) /*定义图的最大定点数, 它要大于等于具体图的顶点树n*/ #define MaxVertexNum 12 /*定义图的最大边数,它要大于等于 ...

  7. Scala数组操作

    数组操作 初始化固定长度的数组 // 初始化长度为10的数组 val array = new Array[Int](10) // 初始化创建含有hello与Scala的数组 val s = Array ...

  8. 20155220吴思其 实验2 Windows口令破解

    实验目的: 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windows 实验工具 LC5 SuperDic 实验原理 口令破解方法 ...

  9. 20155332 2006-2007-2 《Java程序设计》第2周学习总结

    20155332 2006-2007-2 <Java程序设计>第2周学习总结 教材学习内容总结 在JAVA中分为基本类型和类类型两大类型系统. JAVA中的基本类型主要分为如下几类: 1. ...

  10. 微信小程序:页面跳转时传递数据到另一个页面

    一.功能描述 页面跳转时,同时把当前页面的数据传递给跳转的目标页面,并在跳转后的目标页面进行展示 二.功能实现 1. 代码实现 test1页面 // pages/test1/test1.js Page ...