在线等 急! 报错javax.servlet.ServletException: java.lang.NoSuchMethodError:
请看一下报错:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:274)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
org.apache.jsp.login_jsp._jspInit(login_jsp.java:22)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
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.13 logs.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.13
我的数据库:mysql5.0,以及所有的JSP页面 都用“gbk”,我的上传代码:uploadFileServlet.java 代码如下,请问问题出在哪?怎么改?:
package pageconnection;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
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;
import com.jdbc.Jdbc;
public class UploadFileServlet extends HttpServlet{
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String type = "" ;
String titleName ="" ;
String fileName = "";
Jdbc jdbc ;
String path ="";
request.setCharacterEncoding("gbk");
path = request.getRealPath("/image/");
// path = path.trim() ;
//path = "d:/tempImage" ;
// path = "E:\\java\\workspace2\\page\\WebContent\\image" ;
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(path));
factory.setSizeThreshold(1024 * 1024);
ServletFileUpload upload = new ServletFileUpload(factory);
try
{
List<FileItem>list = upload.parseRequest(request);
for(FileItem item:list){
if(item.isFormField()){
String name = item.getFieldName();
String value = item.getString();
// String str = new String(request.getParameter("title").getBytes("ISO-8859-1"),"UTF-8");
String value2 = new String(value.getBytes("ISO-8859-1"),"gbk") ;
request.setAttribute(name, value2);
System.out.println(value);
}
else{
String name = item.getFieldName();
String value = item.getName();
System.out.println(value);
File tempFile = new File(item.getName());
fileName = tempFile .getName() ;
request.setAttribute(name, fileName);
System.out.println(fileName);
OutputStream os = new FileOutputStream(new File(path,fileName));
InputStream is = item.getInputStream();
byte[] buffer = new byte[4096];
int length = 0;
while((length = is.read(buffer))>0){
os.write(buffer,0,length);
}
os.close();
is.close();
}
}
}
catch(Exception e){
e.printStackTrace();
}
jdbc = new Jdbc() ;
type = (String)request .getAttribute("select1") ;
titleName = (String )request.getAttribute("titlename");
System.out.println(titleName);
//fileName = type + fileName ;
jdbc .insertNewImage(fileName, titleName, type,new Date().toLocaleString()) ;
request.getRequestDispatcher("/pages/admin/result.html").forward(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
doPost(request, response) ;
}
}