type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
com.java.file.FileServlet.doPost(FileServlet.java:37)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs
下面是我的servlet
package com.java.file;import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;public class FileServlet extends HttpServlet {
private FileManager fileManager = new FileManager();
private FileModle fileModle;
private String action = "";
private String message = "";
private int fileId; public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.action = request.getParameter("fileAction");
if (request.getParameter("fileId") != null) {
try {
this.fileId = Integer.parseInt(request.getParameter("fileId"));
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
String path = request.getSession().getServletContext().getRealPath(
"/upload");
if (action.equals("deleteFiles")) {
fileManager.deletFile(fileId, path);
System.out.print("<script language=javascript>alert('删除文件操作成功!');"
+ "window.location.href='admin/show_files.jsp';</script>");
} else if (action.equals("addFiles")) {
//this.addFile(request, response);
request.setAttribute("message", message);
} else if (action.equals("allFiles")) {
fileManager.getAllFile();
} else if (action.equals("oneFile")) {
fileManager.getFile(fileId);
}
} public void addFile(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
String fileTypes[] = { "rar", "zip", "doc", "xls", "ppt", "txt" };
String type = null;
long maxsize = 10 * 1024 * 1024;
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss", Locale.US);
String now = new String(formatter.format(date).getBytes("iso-8859-1"));
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMddhhmmss",
Locale.US);
String filetime = new String(formatter2.format(date).getBytes(
"iso-8859-1"));
SmartUpload su = new SmartUpload();
su.setMaxFileSize(maxsize);
try {
su.initialize(this.getServletConfig(), request, response);
su.upload();
Files files = su.getFiles();
for (int i = 0; i < files.getCount(); i++) {
File singleFile = files.getFile(i);
type = singleFile.getFileExt();
for (int j = 0; j < fileTypes.length; j++) {
if (fileTypes.equals(type)) {
if (!singleFile.isMissing()) {
String downName = su.getRequest().getParameter("titles");
String types = su.getRequest().getParameter("class");
String userName = su.getRequest().getParameter("bname");
String brief = su.getRequest().getParameter("brief");
singleFile.saveAs("../upload/"+downName, File.SAVEAS_VIRTUAL);
}
}
}
} } catch (SmartUploadException e1) {
e1.printStackTrace();
}
/*
 * if (fileName != null || !fileName.equals("")) { String names =
 * filetime + "." + postName;// 如果别名为空则已上传时间命名 fileModle = new
 * FileModle(); fileModle.setFileName(fileName);
 * fileModle.setUserName(userName); fileModle.setFileSize(fileSize);
 * fileModle.setCount(0); fileModle.setUpTime(date);
 * fileModle.setFileType(postName); fileManager.addFile(fileModle);
 *  }
 */
}
}