tomcat7里面自带的servlet3.0.jar,支持很多新特性,例如,annotation配置servlet,上传,异步等等。。。。如果你的tomcat版本低于7的话,单独在项目中引入servlet3.0.jar的话,有可能会出错,具体没研究过,可能是不兼容吧。所以要使用s ...
tomcat7里面自带的servlet3.0.jar,支持很多新特性,例如,annotation配置servlet,上传,异步等等。。。。
如果你的tomcat版本低于7的话,单独在项目中引入servlet3.0.jar的话,有可能会出错,具体没研究过,可能是不兼容吧。所以要使用servlet3.0新特性的话,尽量使用tomcat7
不多说了,贴上代码
@WebServlet(name = "uploadServlet", urlPatterns = "/uploadServlet")@MultipartConfigpublic class ServletUpload extends HttpServlet { private static final long serialVersionUID = 2527441790014487640L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) { doPost(request, response); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) { try { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); Collection<Part> parts = request.getParts(); if (null == parts) { // 抛出异常 } for (Part part : parts) { String header = part.getHeader("content-disposition"); String fileName = getFileName(header); part.write("d:/" + fileName); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ServletException e) { e.printStackTrace(); } } /** * 获得文件名 fileName-----取得上传文件的后缀+uuid * * @param header * @return */ private String getFileName(String header) { String suffix = header.substring(header.lastIndexOf("."), header.length() - 1); String fileName = UUID.randomUUID().toString().replace("-", ""); return fileName + suffix; }}
原标题:利用servlet3.0上传,纯原生上传,不依赖任何第三方包
关键词:上传
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。