• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > JSP组件commons-fileupload实现文件上传

JSP组件commons-fileupload实现文件上传

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了jsp文件上传组件,jsp组件,jsp 上传组件,jsp是客户端组件,jsp实现文件上传等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例为大家分享了JSP使用commons-fileupload实现文件上传代码,供大家参考,具体内容如下

1、准备:

将commons-fileupload-1.1.zip和commons-io-1.1.zip复制到"\WEB-INF\lib"目录下

2、首先是Servlet:FileUpload.java

package servlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FileUpload extends HttpServlet {
 
 private String uploadPath="E:\\addnetFile\\";//要上传文件的目录
 private File tempPath=new File("E:\\tempFile\\");//存放上传的文件的目录
 
 public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 response.setContentType("text/html;charset=GB2312");
 response.setCharacterEncoding("gb2312");
 PrintWriter out=response.getWriter();
 out.println("请求内容的长度为:"+request.getContentLength());
 out.println("请求内容的类型为:"+request.getContentType());
 
 DiskFileItemFactory factory=new DiskFileItemFactory();
 factory.setRepository(tempPath);
 factory.setSizeThreshold(4096);
 
 ServletFileUpload upload=new ServletFileUpload(factory);
 upload.setSizeMax(1000000);
 List<?> fileitems=null;
 try{
  fileitems=upload.parseRequest(request);
  Iterator<?> iterator=fileitems.iterator();
  String regex=".+\\\\(.+)$";
  String[] errortype={".exe",".com",".cgi",".asp"};
  Pattern p=Pattern.compile(regex);
  while(iterator.hasNext()){
  FileItem item=(FileItem) iterator.next();
  if(!item.isFormField()){
   String name=item.getName();
   long size=item.getSize();
   if(name==null||name.equals("")&&size==0)
   continue;
   Matcher m=p.matcher(name);
   if(m.find()){
   for(int temp=0;temp<errortype.length;temp++){
    if(m.group(1).endsWith(errortype[temp]))
    throw new IOException(name+":wrong type");
   }
   try{
    item.write(new File(tempPath,m.group(1)));
    out.println(name+" "+size+"<br/>");
    out.println("上传成功");
   }catch(Exception e){
    out.println("333"+e);
   } 
   }
   else{
   throw new IOException("fail to upload");
   }
   
  }
  }
 }catch(IOException e){
  out.println("222"+e);
 }
 catch(FileUploadException e1){
  e1.printStackTrace();
  out.println("111"+e1);
 }
 }

 public void init() throws ServletException {
 if(!new File(uploadPath).isDirectory())
  new File(uploadPath).mkdir();
 if(!tempPath.isDirectory())
  tempPath.mkdir();
 }
 
 public void destroy(){
 super.destroy();
 }

}
</div>

3、其次是html:Uploadfile.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>Uploadfilel.html</title>
 
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="this is my page">
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  
  <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

 </head>
 
 <body>
  <form action="/Firstjsp/servlet/FileUpload" method="post" enctype="multipart/form-data" name="form1">
  <input type="file" name="file"/>
  <input type="submit" name="submit" value="upload"/>
  </form>
  <form action="/Firstjsp/servlet/FileUpload" method="post" enctype="multipart/form-data" name="uploadform">
  <table>
  <tr>
   <td>
   文件1:<input type="file" name="X" size="40"/>
   </td>
  </tr>
  <tr>
   <td>
   文件2:<input type="file" name="Y" size="40"/>
   </td>
  </tr>
  <tr>
   <td>
   文件3:<input type="file" name="Z" size="40"/>
   </td>
  </tr>
  </table>
  <input type="submit" name="upload" value="开始上传"/> 
  </form>
 </body>
</html>
</div>

4、最后是配置web.xml

<servlet>
  <description>This is the description of my J2EE component</description>
  <display-name>This is the display name of my J2EE component</display-name>
  <servlet-name>FileUpload</servlet-name>
  <servlet-class>servlet.FileUpload</servlet-class>
 </servlet>
<servlet-mapping>
  <servlet-name>FileUpload</servlet-name>
  <url-pattern>/servlet/FileUpload</url-pattern>
</div>

首先运行html,servlet处理上传请求

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JSP组件commons-fileupload实现文件上传
  • 在jsp程序中使用com组件
  • JSP的9种基本内置组件

相关文章

  • 2017-05-11四、处理表单数据
  • 2017-05-11jsp留言板源代码二: 给jsp初学者.
  • 2017-05-11Jsp结合XML+XSLT将输出转换为Html格式
  • 2017-05-11jsp获取action传来的session和session清空以及判断
  • 2017-05-11EJB 3.0开发指南之多表映射
  • 2017-05-11JSP入门教程(4)
  • 2017-05-11JSP教程(一)
  • 2017-05-11JSP和JSTL获取服务器参数示例
  • 2017-05-11用JSP生成静态页面
  • 2017-05-11Hibernate 的原理与配置

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JSP中内建exception对象时出现500错误的解决方法
    • jsp计数器代码
    • JSP模板应用指南(上)
    • 五种 JSP页面跳转方法详解
    • JSP通用高大上分页代码(超管用)
    • 六、访问CGI变量
    • 安装resin+mysql+IIS+JDK的总结
    • Jsp中的table多表头导出excel文件具体实现
    • jsp编程去除空白行的方法
    • JSP用过滤器解决request getParameter中文乱码问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有