Java Web中实现文件上传(一)

来源:互联网 发布:淘宝指数是什么意思 编辑:程序博客网 时间:2024/05/21 11:08

(一)项目的结构目录

这里写图片描述

(二)源码演示

package com.TestFileUpload; import java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;/** * 处理用户上传文件请求 *   */public class FileUploadHandler extends HttpServlet {    private static final long serialVersionUID = 1L;    private final String UPLOAD_DIRECTORY = "D:/";//1.文件根目录    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        //2.如果请求包含内容        if(ServletFileUpload.isMultipartContent(request)){            try {                List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);                for(FileItem item : multiparts){                    if(!item.isFormField()){                        //3.获取选择名                        String name = new File(item.getName()).getName();                        //4.将文件写到指定位置                        item.write( new File(UPLOAD_DIRECTORY + File.separator + name));                    }                }               //4.提示文件上传成功               request.setAttribute("message", "File Uploaded Successfully");            } catch (Exception ex) {               request.setAttribute("message", "File Upload Failed due to " + ex);            }                  }else{            request.setAttribute("message","Sorry this Servlet only handles file upload request");        }          //5.跳转页面        request.getRequestDispatcher("/result.jsp").forward(request, response);    }    protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request,response);    }}
 <%@page contentType="text/html" 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>文件上传演示</title>    </head>    <body>         <div>            <h3> 选择上传的文件 </h3>            <form action="/FileUpload/Upload" method="post" enctype="multipart/form-data">                <input type="file" name="file" />                <input type="submit" value="上传" />            </form>                  </div>    </body></html>
 <%@page contentType="text/html" 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>文件上传演示</title>    </head>    <body>         <div id="result">            <h3>${requestScope["message"]}</h3>        </div>    </body></html>
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>FileUpload</display-name>  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list>  <servlet>    <description></description>    <display-name>FileUploadHandler</display-name>    <servlet-name>FileUploadHandler</servlet-name>    <servlet-class>com.TestFileUpload.FileUploadHandler</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>FileUploadHandler</servlet-name>    <url-pattern>/Upload</url-pattern>  </servlet-mapping></web-app>

输出:

这里写图片描述

原创粉丝点击