小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java Web 文件上傳

 程序猿之家 2015-03-18

http://www.cnblogs.com/hongten/archive/2011/07/26/2117340.html

 

  在我們的web開發(fā)中,很多的時候都需要把本機的一些文件上傳到web服務器上面去


如:一個BBS系統(tǒng),當用戶使用這是系統(tǒng)的時候,能把本機的一些圖片,文檔上傳到服務器


上面去。然后其他用戶可以去下載這些文件,那么這樣的話,我們可以自己編程實現(xiàn)文件的上傳


但是更好的方式是使用一些已有的組件幫助我們實現(xiàn)這種上傳功能。



--------------------------------------------------------------------------------------------------



  常用的上傳組件:  


    Apache 的 Commons FileUpload


    JavaZoom的UploadBean


    jspSmartUpload


--------------------------------------------------------------------------------------------------


FileUpload下載地址:


  http://commons./fileupload/


  下載:commons-fileupload-1.2.2-bin.zip    得到:commons-fileupload-1.2.2.jar


  http://commons./io/


  下載:commons-io-1.4-bin.zip       得到:commons-io-1.4.jar


--------------------------------------------------------------------------------------------------


upload.jsp


代碼;


<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<html>
<head>
<title>using commons Upload to upload file </title>
</head>
<style>
* { font-family: "宋體"; font-size: 14px }
</style>
<body>
<p align="center"> 請您選擇需要上傳的文件</p>
<form id="form1" name="form1" method="post" action="servlet/fileServlet" enctype="multipart/form-data">
 <table border="0" align="center">
  <tr>
   <td>上傳人:</td>
   <td>
    <input name="name" type="text" id="name" size="20" ></td>
  </tr>  
  <tr>
   <td>上傳文件:</td>
   <td><input name="file" type="file" size="20" ></td>
  </tr>    
  <tr>   
   <td></td><td>
    <input type="submit" name="submit" value="提交" >
    <input type="reset" name="reset" value="重置" >
   </td>
  </tr>
 </table>
</form>
</body>
</html>


--------------------------------------------------------------------------------------------------



FileUploadServlet.java


代碼:


/**
 *
 */
package com.b510.example;


import java.io.File;
import java.io.IOException;
import java.util.*;



import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
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.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


/**
 *
 * @author XHW
 *
 * @date 2011-7-26
 *
 */
public class FileUploadServlet extends HttpServlet {


 private static final long serialVersionUID = -7744625344830285257L;
 private ServletContext sc;
 private String savePath;


 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doPost(request, response);
 }
 


 public void init(ServletConfig config) {
  // 在web.xml中設置的一個初始化參數
  savePath = config.getInitParameter("savePath");
  sc = config.getServletContext();
 }
 
 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  request.setCharacterEncoding("UTF-8");
  DiskFileItemFactory factory = new DiskFileItemFactory();
  ServletFileUpload upload = new ServletFileUpload(factory);
  try {
   List items = upload.parseRequest(request);
   Iterator itr = items.iterator();
   while (itr.hasNext()) {
    FileItem item = (FileItem) itr.next();
    if (item.isFormField()) {
     System.out.println("表單參數名:" + item.getFieldName() + ",表單參數值:" + item.getString("UTF-8"));
    } else {
     if (item.getName() != null && !item.getName().equals("")) {
      System.out.println("上傳文件的大小:" + item.getSize());
      System.out.println("上傳文件的類型:" + item.getContentType());
      // item.getName()返回上傳文件在客戶端的完整路徑名稱
      System.out.println("上傳文件的名稱:" + item.getName());


      File tempFile = new File(item.getName());


 ?。蟼魑募谋4媛窂?/span>
      File file = new File(sc.getRealPath("/") + savePath, tempFile.getName());
      item.write(file);
      request.setAttribute("upload.message", "上傳文件成功!");
     }else{
      request.setAttribute("upload.message", "沒有選擇上傳文件!");
     }
    }
   }
  }catch(FileUploadException e){
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
   request.setAttribute("upload.message", "上傳文件失??!");
  }
  request.getRequestDispatcher("/uploadResult.jsp").forward(request, response);
 }
}


--------------------------------------------------------------------------------------------------



uploadResult.jsp


代碼;


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    <title>uploadResult</title>
   
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->


  </head>
 
  <body>
  ${requestScope['upload.message'] }
    <a href="/upload/uploadFile.jsp">上傳文件</a>
  </body>
</html>



--------------------------------------------------------------------------------------------------




web.xml


代碼:


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java./xml/ns/javaee"
 xmlns:xsi="http://www./2001/XMLSchema-instance"
 xsi:schemaLocation="http://java./xml/ns/javaee
 http://java./xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>FileUploadServlet</servlet-name>
    <servlet-class>com.b510.example.FileUploadServlet</servlet-class>


  <!--設置初始化參數-->
    <init-param>
     <param-name>savePath</param-name>
     <param-value>uploads</param-value>
    </init-param>
  </servlet>


  <servlet-mapping>
    <servlet-name>FileUploadServlet</servlet-name>
    <url-pattern>/servlet/fileServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
    <welcome-file>uploadFile.jsp</welcome-file>
  </welcome-file-list>
</web-app>











    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多