简体   繁体   English

Java Web应用程序-Servlet问题

[英]Java Web Application - Servlet Problem

I have servlet that does the following: 我有执行以下操作的servlet:

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());

Whenever I reach the last tomcat apache "crashes" with the following error message: 每当我到达最后一个tomcat apache“崩溃”时,都会出现以下错误消息:

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)

Please Help Thanks! 请帮忙谢谢!

When including jaxrpc.jar in the WEB-INF/lib folder I get following error: 在WEB-INF / lib文件夹中包含jaxrpc.jar时,出现以下错误:

root cause 根本原因

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.Web java.lang.NoClassDefFoundError:org / apache / axis / AxisFault 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.Web appClassLoader.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) appClassLoader.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)

root cause 根本原因

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.SecureClas 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(本机方法)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.SecureClas sLoader.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) sLoader.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 version and JDK / JRE version would be helpful. Tomcat版本和JDK / JRE版本会有所帮助。

It looks like your webapp is missing some required jars from WEB-INF/lib; 看来您的webapp缺少WEB-INF / lib中的某些必需jar; in particular the jaxrpc jar. 特别是jaxrpc jar。

The server tells you that you're missing a library, the one that contains javax.xml.rpc.ServiceException . 服务器告诉您缺少一个库,该库包含javax.xml.rpc.ServiceException

However, the code you gave don't seem to use this class, so I think your problem isn't related to your Servlet. 但是,您提供的代码似乎没有使用此类,因此我认为您的问题与Servlet无关。

Looks to me as though somewhere along the line there's an Apache Axis dependency which needs to be addressed in your app's build path. 在我看来,似乎在某个地方存在Apache Axis依赖关系,需要在您应用程序的构建路径中解决该依赖关系。 Chances are, this is in the error handling for your JAXRPC calls. 很有可能,这是在JAXRPC调用的错误处理中。

The reason why you're getting the 2nd exception: 得到第二个异常的原因:

java.lang.NoClassDefFoundError: org/apache/axis/AxisFault java.lang.NoClassDefFoundError:org / apache / axis / AxisFault

It's because you've included javax.xml.rpc.ServiceException . 这是因为您包含了javax.xml.rpc.ServiceException I'm assuming you're using Axis else you're wouldn't be getting AxisFault . 我假设您正在使用Axis,否则您将不会得到AxisFault There are some jars that are missing. 有一些罐子不见了。

If you want AxisFault to disappear, copy the axis.jar (assuming you're running the old axis 1) to the WEB-INF/lib folder. 如果希望AxisFault消失,则将axis.jar (假设您正在运行旧轴1)复制到WEB-INF/lib文件夹。

sorry for the late reply..this may help someone in future.. 很抱歉,您的回复很晚。

java.lang.ClassNotFoundException: javax.xml.rpc.ServiceException It says it cant found the javax.xml.rpc jar. java.lang.ClassNotFoundException:javax.xml.rpc.ServiceException它说找不到javax.xml.rpc jar。 Please add the dependency to your POM file. 请将依赖项添加到您的POM文件中。

<dependency>
    <groupId>  javax.xml.rpc  </groupId>
    <artifactId>  javax.xml.rpc-api  </artifactId>
    <version>  1.1.1  </version>
</dependency>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM