2012-11-30 70 views
4
 
type Exception report 

message Servlet execution threw an exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Servlet execution threw an exception 


root cause 

java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException 
    java.lang.ClassLoader.defineClass1(Native Method) 
    java.lang.ClassLoader.defineClassCond(Unknown Source) 
    java.lang.ClassLoader.defineClass(Unknown Source) 
    java.security.SecureClassLoader.defineClass(Unknown Source) 
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904) 
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    Hello.doGet(Hello.java:42) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 


root cause 

java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    java.lang.ClassLoader.defineClass1(Native Method) 
    java.lang.ClassLoader.defineClassCond(Unknown Source) 
    java.lang.ClassLoader.defineClass(Unknown Source) 
    java.security.SecureClassLoader.defineClass(Unknown Source) 
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904) 
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    Hello.doGet(Hello.java:42) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 

note注意根源的完整堆栈跟踪在Apache Tomcat/7.0.33日志中可用。Tomcat7 HTTP状态500 - Servlet执行引发异常

和我的编码这里

import java.io.IOException; 

import javax.servlet.ServletException; 

import javax.servlet.http.HttpServlet; 

import javax.servlet.http.HttpServletRequest; 

import javax.servlet.http.HttpServletResponse; 

import java.io.*; 

import java.sql.*; 

import net.sf.json.JSONArray; 

import net.sf.json.JSONObject; 
/** 
* Servlet implementation class Getting_data 
*/ 

public class Hello extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public Hello() { 

    } 
     public void doGet(HttpServletRequest req, HttpServletResponse res) 
     throws ServletException, IOException 
     { 

      res.setContentType("text/html"); 
     PrintWriter pw = res.getWriter(); 
     Connection con; 
     Statement stmt; 
     ResultSet rs = null; 
     try{ 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     con = DriverManager.getConnection("jdbc:odbc:Emp_info"); 
     stmt = con.createStatement(); 
     String query = "select * from Emp_table";// where employee_name='"+emp_name+"' or department='"+emp_dept+"' or email='"+email+"' order by employee_name"; 
     System.out.println("query " + query); 
     rs = stmt.executeQuery(query); 
     pw.println("Id"+"Name"+"Address"+"<br>"); 
     JSONArray arrayObj=new JSONArray(); 
     JSONArray arrayObj1=new JSONArray(); 
     JSONObject responseData = new JSONObject(); 
     while(rs.next()) 
     { 
     //pw.println(rs.getString(1) + " " + rs.getString(2) + "<br>"); 
     String name = rs.getString(1); 
     String name1 = rs.getString(2); 
     arrayObj.add(new String(name)); 
     arrayObj1.add(new String(name1)); 
     } 
     responseData.put("rows", arrayObj); 
     responseData.put("data", arrayObj); 
     pw.print(responseData); 
     } 


     catch (Exception e){ 
     pw.println(e); 
     } 
     } 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
    } 

} 
+0

我使用Eclipse和tomcat7.0.3 –

+2

听起来像是你不提到” t在你的类路径中有apache commons jar文件,请检查它 – 2012-11-30 04:59:25

+0

我已经配置了我的类路径commons3.1.jar文件 –

回答

2

假设你使用Eclipse和配置为动态Web项目右键项目点击你的项目 - >选择configure build path - >现在click on add jars button - >和select the Gson jar - >点击OK

Republish该项目和restart该服务器。

否则jar添加到WEB-INF\lib directory战争中

或者直接进入在tomcat部署的位置,但在同一个目录中

相关问题