拦截器栈在<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. Redis底层数据类型

    Redis主要数据结构:简单动态字符串(SDS).双端链表.字典.跳跃表.整数集合.压缩列表和快速列表: 一.简单动态字符串(SDS): Redis没有直接使用C语言中的传统的字节数组保存字符串,而是 ...

  2. 将Windows 7安装到移动固态硬盘(U盘)

    由于工作的原因,有时需要用两台电脑工作,而搞开发的人大多又是追求计算机性能的人,所以笔记本电脑自然不轻,更何况两台. 两台电脑折磨我半年多,终于下定决心将个系统安装到移动固态硬盘中,背一台无硬盘电脑加 ...

  3. Flume(5)-Ganglia监控

    一. 安装Ganglia 1. 安装httpd服务与php sudo yum -y install httpd php 2. 安装其他依赖 sudo yum -y install rrdtool pe ...

  4. Python面向对象总结及类与正则表达式

    Python3 面向对象 一丶面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 方法:类中定义的函数. 类变 ...

  5. Leecode刷题之旅-C语言/python-263丑数

    /* * @lc app=leetcode.cn id=263 lang=c * * [263] 丑数 * * https://leetcode-cn.com/problems/ugly-number ...

  6. ubuntu下tensorflow安装

    1,安装驱动,cuda,cudnn,参考本人上一篇博客http://www.cnblogs.com/zxg-DL/p/9023601.html 2,安装tensorflow   接下来是关于Tenso ...

  7. 关于NODEJS性能测试和优缺点总结

    最近公司开发了一套新产品,采用nodejs前端+Java后端框架,为完全的前后端分离结构,以下为相关信息. 软件及功能: 软件 功能 Nginx 负责反向代理和负载均衡 Nodejs 前端代码 JDK ...

  8. 20155227 2016-2017-2 《Java程序设计》第十周学习总结

    20155227 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 Java的网络编程 网络编程 就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所 ...

  9. 2017-2018-1 20155307 《信息安全系统设计基础》第san周学习总结

    2017-2018-1 20155307 <信息安全系统设计基础>第三周学习总结 教材学习内容总结 无符号数和有符号数的特性,数字如何表示,IEEE标准,浮点数格式.(我感觉我把课下测试做 ...

  10. [FJOI2014]最短路径树问题 长链剖分

    [FJOI2014]最短路径树问题 LG传送门 B站传送门 长链剖分练手好题. 如果你还不会长链剖分的基本操作,可以看看我的总结. 这题本来出的很没水平,就是dijkstra(反正我是不用SPFA)的 ...