您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

Struts2学习笔记

来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 10:59 点击:

1.   Struts2文件上传
1.1表单三要素
  1)表单必须以POST方式提交,因为GET方式提交会有大小的限制(大约2000个字符),对POST,无大小限制要求。

  2)表单必须加入enctype="multipart/form-data"表示上传的文件,以随着请求体,经过编码后,一同传入服务器。

  3)每个表单项,必须取一个名字,因为服务端便于能过名字收集信息。

这里使用Struts2的标签:

      <s:form action="upload"method="post"enctype="multipart/form-data">

          <s:textfieldlabel="用户名"name="username"/>

          <s:filelabel="上传文件"name="upload"/>

          <s:submitvalue="提交"/>

      </s:form>

1.2框架自身有fileUpload文件上传拦截器
1)在默认栈中,有一个fileUpload文件上传拦截器,无文件下载拦截器(要程序员自己处理)。org.apache.struts2.interceptor.FileUploadInterceptor(框架的拦截器)

 

2)在默认情况下,fileUpload拦截器只能上传不超过2M(默认)的数据,而且struts2框架的上传拦截器底层就是使用jakarta common fileupload开源组件来完成上传的,和传统Web应用上传一样。

 

1.3 fileUpload拦截器,自动注入三个参数
    privateFile upload;//上传临时文件(fileUpload拦截器传入的参数)

       privateString uploadContentType;//上传文件的类型(fileUpload拦截器传入的参数)

    privateString uploadFileName;//上传文件的真实文件名(fileUpload拦截器传入的参数)

注意:upload和表单项<s:file>中的name属性一致;upload拼上 contentType 首字母c要大写。

 

1.4上传文件细节
1)上传成功的时候临时文件要删除

//关闭资源,并删除临时文件,应在finally中处理的

          if(is !=null) is.close();

          if(os !=null) os.close();

          if(upload.exists())upload.delete();

2)上传文件总大小限制(上传多个文件时加起来的大小)(框架默认是2M)

 在struts.xml中配置:<constantname="struts.multipart.maxSize" value="20971520"/>

或在struts.properties中配置struts.multipart.maxSize=20971520

超过限制抛异常:

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException

 

3)上传文件单个大小限制

  <!-- 设置[单]个上传文件不得超过5M -->

  <param name="maximumSize">5242880</param>

 

 

4)上传文件扩展名限制

      <!--设置上传文件的扩展名-->

       <paramname="allowedExtensions">.jpg,.txt</param>

 

5)上传文件类型限制

       <!--设置上传文件的类型-->

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • JSP与Servlet
  • 自己动手写MiniBBS系列(基本篇)之用户登录
  • JSP取当前日期
  • JDBC 入门(一)
  • 打开一个jsp页面默认查询所有数据,调用action
  • 使用JSP标签库验证用户的输入(2)完
  • WIN98/2000下的jsp服务器
  • 自定义JSP标签(tag)浅议
  • Struts学习傻瓜式入门篇
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1