【servlet3.0新特性】文件上传改进API 实例
在Servlet 3.0 中不需要导入任何第三方jar包,并且提供了很方便进行文件上传的功能;
原本文件上传时通过 common-fileupload或者SmartUpload,上传比较麻烦.
下面说明一下servlet3.0上传文件注意事项:
1. html中 <input type="file">表示文件上传控件;
2. form的 enctype="multipart/form-data";
3.在Servlet类前加上 @MultipartConfig
4.request.getPart()获得;
下面给出servlet3.0上传文件的实例代码:
fileUpload.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form method="post" enctype="multipart/form-data" action="upload"> <input type="file" id="file" name="file" /> <input type="text" id="name" name="name" /> <input type="submit" value="提交" /> </form> </body> </html>
UploadServlet
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; @WebServlet(name = "UploadServlet", urlPatterns = {"/upload"}) @MultipartConfig public class UploadServlet extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); } public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Part part = request.getPart("file"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("此文件的大小:" + part.getSize() + "<br />"); out.println("此文件类型:" + part.getContentType() + "<br />"); out.println("文本框内容:" + request.getParameter("name") + "<br />"); out.println(UploadUtil.getFileName(part) + "<br />"); out.println("</body>"); out.println("</html>"); } }
启动tomcat7.0输入URL:http://localhost:8080/Servlet3/upload 执行结果如下图:
下面附带【servlet3.0新特性】专题文件所有代码
来源:csdn//作者:admin/更新时间:2013-11-15
顶
踩
相关文章: