简体   繁体   English

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

[英]HTTP Status 500 - Error instantiating servlet in eclipse maven

I am trying to run a simple servlet in maven using eclipse. 我试图使用eclipse在maven中运行一个简单的servlet。 But getting error 500. Please see what I am doing wrong. 但得到错误500.请看我做错了什么。 Main concern is how to run a servlet in maven as I am not familiar with maven . 主要关注的是如何在maven中运行servlet,因为我不熟悉maven。

index.jsp 的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 class) 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 and directory structure- see attached image web.xml和目录结构 - 参见附图 在此输入图像描述

error stack 错误堆栈

     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)

src/main/resources is for placing properties files (or static resources), So the server could NOT find class files, so you need to create the Java source files under src/main/java folder. src/main/resources用于放置properties文件(或静态资源),因此服务器找不到类文件,因此需要在src/main/java文件夹下创建Java源文件。

Also, make sure that the .class files are generated and available in the Server classpath (ie, under WEB-INF/classes ), which will resolve the above java.lang.ClassNotFoundException 此外,确保生成.class文件并在Server类路径中可用(即,在WEB-INF/classes ),这将解决上述java.lang.ClassNotFoundException

创建一个源文件夹src/main/java并在那里移动java源文件

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

相关问题 Spring MVC。 HTTP状态500-实例化Servlet时出错 - Spring MVC. HTTP Status 500 - Error instantiating servlet HTTP状态500-由DeploymentDescriptorLoadException引起的实例化Servlet类错误 - HTTP Status 500 - Error instantiating servlet class caused by DeploymentDescriptorLoadException HTTP 状态 500 - 实例化 servlet 时出错 class pkg.coreServlet - HTTP Status 500 - Error instantiating servlet class pkg.coreServlet HTTP 状态 500 - 实例化 servlet 类 servlets.LoginServlet 时出错 - HTTP Status 500 - Error instantiating servlet class servlets.LoginServlet HTTP状态500-实例化servlet类com.DataFetch时出错 - HTTP Status 500 - Error instantiating servlet class com.DataFetch HTTP 状态 500 - 在用户注册中实例化 servlet 类时出错 - HTTP Status 500 - Error instantiating servlet class in user registration HTTP 状态 500 – 实例化 servlet class [NewServlet] 的内部服务器错误 - HTTP Status 500 – Internal Server Error instantiating servlet class [NewServlet] Java Servlet - 实例化 servlet 类的 HTTP 状态 500 错误 - Java Servlets - HTTP Status 500 Error instantiating servlet class HTTP状态500-实例化Servlet类LoginServlet时出错 - HTTP Status 500 - Error instantiating servlet class LoginServlet HTTP 状态 500 - 实例化 servlet 类 com.Model 时出错 - HTTP Status 500 - Error instantiating servlet class com.Model
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM