簡體   English   中英

HTTP狀態500-實例化Servlet類LoginServlet時出錯

[英]HTTP Status 500 - Error instantiating servlet class LoginServlet

我收到以下錯誤。

    type Exception report

    message Error instantiating servlet class LoginServlet

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

    exception

    javax.servlet.ServletException: Error instantiating servlet class LoginServlet
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)

    root cause

    java.lang.ClassNotFoundException: LoginServlet
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)

    note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs.

我正在使用注釋而不是web.xml文件。 因為所有的答案都提供給帶有web.xml文件的項目。 我很難找到解決我問題的答案。 下面給出了我的login.jsp頁面和LoginServlet類代碼。

login.jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>APIS</title>
    <link rel="stylesheet" href="public/css/bootstrap.min.css">
    <link rel="stylesheet" href="public/css/style.css">
    <%@page import= "com.servlet.LoginServlet" %>

    </head>
    <body>

    <ul class="nav navbar-nav">
                <li><a href="index.jsp"><span class="glyphicon glyphicon-home"></span>&nbsp;&nbsp;&nbsp;Home</a></li>
                <li  class="active"><a href="login.jsp"><span class="glyphicon glyphicon-lock"></span>&nbsp;&nbsp;&nbsp;Login</a></li>
                <%

                                        if (session.getAttribute("agencyname") != null) {

                                            if (session.getAttribute("agencyname").toString().equals("slc")) {
                                    %>
                                <li><a href="register.jsp"><span class="glyphicon glyphicon-user"></span>&nbsp;&nbsp;&nbsp;New Register</a></li>

                                <%
                                    }


                                %>
                                <li><a href="resetPassword.jsp"><span class="glyphicon glyphicon-refresh"></span>&nbsp;&nbsp;&nbsp;Reset Password</a></li>
                                <%
                                        }

                                %>

              </ul>


              <form class="login-form" action="LoginServlet" method="post">
              <h2 class="form-signin-heading" style="margin-left:20px;margin-bottom:30px;">Sign In</h2>
              <div class="form-group">
                  <input type="text" class="form-control" id="exampleInputEmail1" placeholder="UserName" name="UserName">
              </div>
              <div class="form-group">
                  <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password" name="Password">
              </div>
              <input type="submit" class="btn btn-success btn-block" value="Submit">
         </form>

    </body>

    <script src="public/js/jquery.min.js"></script>
    <script src="public/js/bootstrap.min.js"></script>

    </html>

LoginServlet類

    package com.servlet;

    import com.controller.UserDAO;
    import com.model.OgaUser;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;


    @WebServlet(name = "LoginServlet", urlPatterns = {"/LoginServlet"})
    public class LoginServlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet LoginServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet LoginServlet at " + request.getContextPath() + "</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);


}


@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);

    System.out.println("******************************");
    System.out.println("In doPost method");

    String username = request.getParameter("UserName");
    String password = request.getParameter("Password");
    //OgaUser ou = new OgaUser();

    String loginResult = UserDAO.login(username, password);
    if (loginResult != null) {

        HttpSession session = request.getSession();
        if (loginResult.equalsIgnoreCase("slc")) {
            session.setAttribute("agency", "slc");
            session.setAttribute("username","Harsha");
            response.sendRedirect("index.jsp");
        } else {
            response.sendRedirect("index.jsp");
        }
    } else {

    }

}


    @Override
    public String getServletInfo() {
    return "Short description";
    }// </editor-fold>

    }

它的ClassNotFoundException問題。 “ java.lang.ClassNotFoundException:LoginServlet”。 確保已將包含LoginServlet的jar文件放在類路徑中,該路徑通常是WEB-INF / classes和/或WEB-INF / lib

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM