基于servlet3.0的文件上传

原创 2016年05月30日 11:36:49

jsp页面关键代码

<body>
    <form action="uploadServlet" method="post" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="提交">
  </form>
  </body>






处理上传文件的Servlet完整代码

package com.oraclewdp.action;



import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Enumeration;


import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;




@MultipartConfig
@WebServlet(name="uploadServlet",urlPatterns="/uploadServlet")
public class uploadServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
String savePath=req.getServletContext().getRealPath("\\upload");
Collection<Part> parts=req.getParts();
if(parts.size()==1){
Part part=req.getPart("file");
String header=part.getHeader("Content-Disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}else{
for (Part part : parts) {
String header=part.getHeader("content-disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}
}
PrintWriter out=resp.getWriter();
out.println("上传成功");
out.flush();
}

public String getFileName(String header) {
String[] tempArr1=header.split(";");
String[] tempArr2=tempArr1[2].split("=");
String fileName=tempArr2[1].substring(tempArr2[1].lastIndexOf("\\")+1).replaceAll("\"", "");
return fileName;
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.service(req, resp);
}

@Override
public void destroy() {
super.destroy();
}

}

servlet3.0文件上传 01.zip

  • 2014年07月03日 09:35
  • 432KB
  • 下载

servlet3.0文件上传 02.zip

  • 2014年07月03日 09:46
  • 432KB
  • 下载

Servlet 3.0笔记之超方便的文件上传支持

在以前,处理文件上传是一个很痛苦的事情,大都借助于开源的上传组件,诸如commons fileupload等。现在好了,很方便,便捷到比那些组件都方便至极。以前的HTML端上传表单不用改变什么,还是一...

Servlet 3.0笔记之超方便的文件上传支持

Servlet 3.0笔记之超方便的文件上传支持 在以前,处理文件上传是一个很痛苦的事情,大都借助于开源的上传组件,诸如commons fileupload等。现在好了,很方便,便捷到比那些组件...

Servlet 3.0用标记方式实现的文件上传类

Servlet 3.0新特性提供了一些便利的配置,例如:web项目中不再需要web.xml.转用一些serlet的注解就可以实现原来的servlet配置功能。 下面的例子就是用标记来实现一个...

Servlet 3.0 的文件上传功能

利用Servlet 3.0 的新特性可以轻松实现从客户端上传文件到服务器的功能。 原理:     首先介绍HttpServletRequest类中包含的涉及到文件上传的2个函数:     ① Par...

基于Servlet3.0的文件上传

在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileupload组件,在Servlet3.0中提供了对文件上传的原生支持,我们不...

Servlet 3.0笔记之超方便的文件上传支持

在以前,处理文件上传是一个很痛苦的事情,大都借助于开源的上传组件,诸如commons fileupload等。现在好了,很方便,便捷到比那些组件都方便至极。以前的HTML端上传表单不用改变什么,还是一...

Servlet 3.0文件上传支持

Servlet 3.0笔记之超方便的文件上传支持 在以前,处理文件上传是一个很痛苦的事情,大都借助于开源的上传组件,诸如commons fileupload等。现在好了,很方便,便捷到比那些组件...

Servlet 3.0新特性——文件上传接口

Servlet 3.0之前的版本中,文件上传是个挺让人头疼的问题,虽然有第三方框架来实现,但使用也还是比较麻烦,在Servlet 3.0中,这些问题将不复存在,Servlet 3.0对文件上传提供了直...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于servlet3.0的文件上传
举报原因:
原因补充:

(最多只允许输入30个字)