基于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
  • 下载

JavaWeb开发知识总结(annotation,Servlet3.0,文件上传,动态代理)

JavaWeb开发知识总结-annotation,Servlet3.0,文件上传,动态代理

Servlet 3.0改进的API 实现文件上传

1、Servlet 3.0 对文件上传的支持Servlet 3.0 改进了部分API,使得java web 的开发进一步得到简化。 其中两个较大的改进是: HttpServletRequest 增加...

Servlet 3.0文件上传支持

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

Servlet 3.0 的文件上传功能

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

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配置功能。 下面的例子就是用标记来实现一个...

基于Servlet3.0的文件上传

在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileupload组件,在Servlet3.0中提供了对文件上传的原生支持,我们不...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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