HTTP状态500 - 在eclipse maven中实例化servlet时出错

时间:2016-11-05 21:05:40

标签: java eclipse maven servlets

我正在尝试使用eclipse在maven中运行一个简单的servlet。但得到错误500.请看我做错了什么。主要关注的是如何在maven中运行servlet,因为我不熟悉maven。

的index.jsp

  <html>
  <body>
  <h2>Hello World!</h2>
  <form action="mylog" method="post">  
  loginID:<input type="text" name="name"/><br/>
  <input type="submit" value="login"/> 

  </form>
  </body>
  </html>

mylog.java(servlet类)

  import java.io.IOException;
  import java.io.PrintWriter;

  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;


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


   public mylog() {
    super();
    // TODO Auto-generated constructor stub
    }


     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
     }


     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
      String n = request.getParameter("name");

      PrintWriter out = response.getWriter();
      out.print(n);
      out.close();

      doGet(request, response);
    }

}

web.xml和目录结构 - 请参阅附图 enter image description here

错误堆栈

     HTTP Status 500 - Error instantiating servlet class com.issac.mylog

  type Exception report

  message Error instantiating servlet class com.issac.mylog

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

 exception

javax.servlet.ServletException: Error instantiating servlet class     com.issac.mylog
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
  org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100)
  org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
   java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Unknown Source)

root cause

 java.lang.ClassNotFoundException: com.issac.mylog
  org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
  org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
  org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100)
  org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Unknown Source)

2 个答案:

答案 0 :(得分:2)

from PyQt5 import QtWidgets class Q(QtWidgets.QLabel): def wheelEvent(self, event): print(event.pixelDelta()) app = QtWidgets.QApplication([]) w = Q() w.show() app.exec_() 用于放置src/main/resources个文件(或静态资源),因此服务器无法找到类文件,因此您需要在properties文件夹下创建Java源文件。 / p>

此外,请确保src/main/java文件在服务器类路径中生成并可用(即.class下),这将解析上述WEB-INF/classes

答案 1 :(得分:1)

创建源文件夹src/main/java并将java源文件移动到那里