HTTP-статус Tomcat7 500 — выполнение сервлета вызвало исключение

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.

и мое кодирование здесь

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
    }

}

person Pandiyan Muthu    schedule 30.11.2012    source источник
comment
я использую Eclipse и tomcat7.0.3   -  person Pandiyan Muthu    schedule 30.11.2012
comment
Похоже, у вас нет файла jar apache commons в вашем пути к классу, проверьте его   -  person    schedule 30.11.2012
comment
я уже настроил свои файлы пути к классу commons3.1.jar   -  person Pandiyan Muthu    schedule 30.11.2012
comment
у вас должен быть jar в папке web-inf/lib, также необходимо убедиться, что jar имеет в нем указанный выше класс исключения, вы должны установить путь к классам для jar. если все в порядке, он должен работать нормально ..@ Я занят   -  person gks    schedule 30.11.2012
comment
все равно показывает ошибку @ATR   -  person Pandiyan Muthu    schedule 30.11.2012
comment
Пожалуйста, обратитесь к этому: stackoverflow.com/questions/6214625/ Вроде точно такая же ошибка.   -  person Gyan    schedule 30.11.2012


Ответы (1)


Предполагая, что вы используете Eclipse и проект, настроенный как динамический веб-проект, щелкните правой кнопкой мыши свой проект --> выберите configure build path --> сейчас click on add jars button --> и select the Gson jar --> нажмите OK.

Republish проект и restart сервер.

В противном случае добавьте банку WEB-INF\lib directoryвнутри войны

Или прямо в папку Deployed в tomcat, но в том же каталоге, что и упоминалось.

person Sudhakar    schedule 10.02.2013