现在的位置: 首页 > 综合 > 正文

Fielload 自己调试 源码 –>调bug能力搞定

2013年08月12日 ⁄ 综合 ⁄ 共 3215字 ⁄ 字号 评论关闭

package cstnet.controller;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jxl.read.biff.BiffException;

import cstnet.model.ExcelRead;
import cstnet.model.DBManager;

import org.apache.commons.fileupload.DiskFileUpload;  
import org.apache.commons.fileupload.FileItem; 
import org.apache.commons.fileupload.*; 
import org.apache.commons.fileupload.FileItemFactory;  
import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
import org.apache.commons.fileupload.servlet.ServletFileUpload; 

/**
 * Servlet implementation class importServlet
 */
public class importServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public importServlet() {
        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

System.out.println("这里是importServlet逻辑处理部分");

// 接收文件路径--->调用各种Model: 连接DB-->读取Excel-->插入DB中!




String filePath = request.getParameter("filename");
System.out.println("上传文件名称: "+filePath);
// ExcelRead read = new ExcelRead();
// try {
// String path= request.getContextPath()+File.separator+"WEB-INF"+File.separator;
// read.readExcel("d:/test.xls", 0);
// } catch (BiffException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//--------------------------------Fileupload
可能需要把包放入lib里
request.setCharacterEncoding("UTF-8");
// 构建上传路径
String basePath = getServletContext().getRealPath("/Upload");
System.out.println("path=" + basePath);

// 文件上傳部分
boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if (isMultipart == true) {
try {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);

// 得到所有的表单域,它们目前都被当作FileItem
List<FileItem> fileItems = upload.parseRequest(request);
Iterator<FileItem> iter = fileItems.iterator();

// 依次处理每个表单域
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();

if (item.isFormField()) {
// 如果item是正常的表单域
String name = item.getFieldName();
String value = item.getString("utf-8");
System.out.print("表单域名为:" + name + "表单域值为:" + value);
} else {
// 如果item是文件上传表单域

// 获得文件名及路径
String fileName = item.getName();
String fileType = item.getContentType();
System.out.println("上传文件的名称:" + fileName + "文件类型:"
+ fileType);
if (fileName != null) {
File fileOnServer = new File(basePath, item.getName());

item.write(fileOnServer);

System.out.println("文件" + fileOnServer.getName()
+ "上传成功");
// }
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("the enctype must be multipart/form-data");
}



//--------------------------------Fileupload

// request.getRequestDispatcher("success.jsp").forward(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
*      response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

this.doGet(request, response);
}

}

抱歉!评论已关闭.