Java Web 应用程序 - Servlet 问题

Java Web 应用程序 - Servlet 问题

问题描述:

我有执行以下操作的 servlet:

I have servlet that does the following:

public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        request.getAttribute("username");
        request.getAttribute("password");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        LoginManager lm = new LoginManager(username.trim(), password.trim());

每当我到达最后一个 tomcat apache崩溃"并显示以下错误消息时:

Whenever I reach the last tomcat apache "crashes" with the following error message:

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceException
    servlets.LoginServlet.doPost(LoginServlet.java:20)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.ClassNotFoundException: javax.xml.rpc.ServiceException
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)
    servlets.LoginServlet.doPost(LoginServlet.java:20)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

请帮忙谢谢!

在 WEB-INF/lib 文件夹中包含 jaxrpc.jar 时,出现以下错误:

When including jaxrpc.jar in the WEB-INF/lib folder I get following error:

根本原因

java.lang.NoClassDefFoundError:组织/阿帕奇/轴/AxisFaultjava.lang.ClassLoader.defineClass1(本机方法)java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)java.lang.ClassLoader.defineClass(ClassLoader.java:616)java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778)org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)java.lang.ClassLoader.defineClass1(本机方法)java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)java.lang.ClassLoader.defineClass(ClassLoader.java:616)java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778)org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)servlets.LoginServlet.doPost(LoginServlet.java:20)javax.servlet.http.HttpServlet.service(HttpServlet.java:641)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

java.lang.NoClassDefFoundError: org/apache/axis/AxisFault java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) servlets.LoginServlet.doPost(LoginServlet.java:20) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

根本原因

java.lang.ClassNotFoundException:org.apache.axis.AxisFaultorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)java.lang.ClassLoader.defineClass1(本机方法)java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)java.lang.ClassLoader.defineClass(ClassLoader.java:616)java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778)org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)java.lang.ClassLoader.defineClass1(本机方法)java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)java.lang.ClassLoader.defineClass(ClassLoader.java:616)java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778)org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)servlets.LoginServlet.doPost(LoginServlet.java:20)javax.servlet.http.HttpServlet.service(HttpServlet.java:641)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

java.lang.ClassNotFoundException: org.apache.axis.AxisFault org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) servlets.LoginServlet.doPost(LoginServlet.java:20) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Tomcat 版本和 JDK/JRE 版本会有所帮助.

Tomcat version and JDK / JRE version would be helpful.

看起来您的 web 应用程序缺少来自 WEB-INF/lib 的一些必需的 jar;特别是 jaxrpc jar.

It looks like your webapp is missing some required jars from WEB-INF/lib; in particular the jaxrpc jar.