拦截器栈在<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. 搭建php服务器网站

    一.Apache安装 yum install httpd启动systemctl start httpd.service #启动systemctl stop httpd.service #停止syste ...

  2. HIVE基本语法以及HIVE分区

    HIVE小结 HIVE基本语法 HIVE和Mysql十分类似 建表规则 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name da ...

  3. 第六节 Go数据结构之集合

    一.什么是集合 集合就是不同对象的无序聚集.那么链表和集合有什么关系呢?我们来变个魔术.如下图是各种颜色组成的链表: 下面我们一步步把链表变成集合. 第一步砍去链接 第二步去掉重复 第三步放到一个框里 ...

  4. cygwin下安装NCL

      1.安装cygwin 到cygwin官网https://www.cygwin.com/下载安装程序,setup-x86.exe,注意能下载这个安装程序, setup-x86_64.exe64位不支 ...

  5. 初识Symbol

    Symbol作用域 Symbol,是ES6语法中新增的,值是由Symbol函数调用产生的. var s1 = Symbol(); console.log(s1); // Symbol console. ...

  6. Linux入门进阶第二天——软件安装管理(上)

    一.大纲介绍 这里介绍的仅仅是两大家族之一的RPM,关于Debian家族的DPKG,请参考:http://justcoding.iteye.com/blog/1937171 二.简介 软件包分类: 源 ...

  7. 安装虚拟机&Linux命令学习

    安装虚拟机&Linux命令学习 基于VirtualBox虚拟机安装Ubuntu 1.下载安装VirtualBox 根据自己电脑(32位操作系统)的实际情况,我在网上找了相应的VirtualBo ...

  8. 多级反馈序列c语言模拟实现

    多级反馈队列调度算法: 1.设置多个就绪队列,并给队列赋予不同的优先级数,第一个最高,依次递减. 2.赋予各个队列中进程执行时间片的大小,优先级越高的队列,时间片越小. 3.当一个新进程进入内存后,首 ...

  9. mysql导入报错【The MySQL server is running with the --event-scheduler=DISABLED】

    一.问题: 在进行mysql操作导入库的时候,报出了[The MySQL server is running with the --event-scheduler=DISABLED] 查看后台日志是事 ...

  10. Java——RMI

    之前分布式系统调用用的是比较老的EJB,当时还是作为服务调用方,去调用别的系统的服务.最近发现新公司里面,用的是RMI,查了下发现EJB的底层实现就是RMI,也算是熟悉了... 一,使用JDK 中的R ...