JAVA servlet上传单个文件

时间:2019-12-31 11:01:32 类型:JAVA
字号:    
@WebServlet("/UpSingle")
@MultipartConfig
public class UpSingle extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public UpSingle() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//doGet(request, response);
		try {
			//获取上传的文件
			Part part = request.getPart("files");
			System.out.println(part);
			//获取上传的文件名
			String submittedFileName = part.getSubmittedFileName();
			//得到文件名的扩展名
			String ext = submittedFileName.substring(submittedFileName.lastIndexOf("."));

			//获取上传文件的目录
			String root = request.getServletContext().getRealPath("/") +  "upload" + File.separator;
			// 如果目录不存在则创建
	        File uploadDir = new File(root);
	        if (!uploadDir.exists()) {
	            uploadDir.mkdir();
	        }
			String filename = root + UUID.randomUUID().toString().replace("-", "") + ext;
			System.out.println("测试产生新的文件名:" + filename);
			//上传文件到指定目录
			part.write(filename);
			request.setAttribute("info", "上传文件成功");
		}
		catch(Exception e) {
			System.out.println(e.getMessage());
		}
		request.getRequestDispatcher("/success.jsp").forward(request,response);
	}

}


<