PDA

View Full Version : [Help]Về lỗi: HTTP Status 500 - Error instantiating servlet



minhhn0205
03-05-2015, 12:27
Hi,

Mình mới làm quen với servlet thì bị lỗi như bên dưới mặc dù search hướng giải quyết trên google rồi mà mình vẫn chưa giải quyết được, vì ko biết nguyên nhân lỗi, mong các bạn giúp đỡ!!!
HTTP Status 500 - Error instantiating servlet class DemoServ

Link project: http://www.mediafire.com/download/b3htc8pmrxpbii2/ServletDemo1.zip

1.File index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<form action="Welcome" method="get">
Enter your name: <input type="text" name="name"><br>

<input type="submit" value="Submit">
</form>

</body>
</html>

2.File web.xml

<web-app>

<servlet>
<servlet-name>servletdemo</servlet-name>
<servlet-class>DemoServ</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>servletdemo</servlet-name>
<url-pattern>/Welcome</url-pattern>
</servlet-mapping>

</web-app>

3.File DemoServ.java

package servlet.demo;

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 DemoServ extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
PrintWriter pw = response.getWriter();
pw.println("Welcome: <b>" + name + "</b>");
}


}

4.Message lỗi:


HTTP Status 500 - Error instantiating servlet class DemoServ

type Exception report

message Error instantiating servlet class DemoServ

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

exception

javax.servlet.ServletException: Error instantiating servlet class DemoServ
org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve. invoke(AbstractAccessLogValve.java:610)
org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:518)
org.apache.coyote.http11.AbstractHttp11Processor.p rocess(AbstractHttp11Processor.java:1091)
org.apache.coyote.AbstractProtocol$AbstractConnect ionHandler.process(AbstractProtocol.java:668)
org.apache.coyote.http11.Http11NioProtocol$Http11C onnectionHandler.process(Http11NioProtocol.java:22 3)
org.apache.tomcat.util.net.NioEndpoint$SocketProce ssor.doRun(NioEndpoint.java:1517)
org.apache.tomcat.util.net.NioEndpoint$SocketProce ssor.run(NioEndpoint.java:1474)
java.util.concurrent.ThreadPoolExecutor.runWorker( Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
org.apache.tomcat.util.threads.TaskThread$Wrapping Runnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)

root cause

java.lang.ClassNotFoundException: DemoServ
org.apache.catalina.loader.WebappClassLoaderBase.l oadClass(WebappClassLoaderBase.java:1305)
org.apache.catalina.loader.WebappClassLoaderBase.l oadClass(WebappClassLoaderBase.java:1157)
org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve. invoke(AbstractAccessLogValve.java:610)
org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:518)
org.apache.coyote.http11.AbstractHttp11Processor.p rocess(AbstractHttp11Processor.java:1091)
org.apache.coyote.AbstractProtocol$AbstractConnect ionHandler.process(AbstractProtocol.java:668)
org.apache.coyote.http11.Http11NioProtocol$Http11C onnectionHandler.process(Http11NioProtocol.java:22 3)
org.apache.tomcat.util.net.NioEndpoint$SocketProce ssor.doRun(NioEndpoint.java:1517)
org.apache.tomcat.util.net.NioEndpoint$SocketProce ssor.run(NioEndpoint.java:1474)
java.util.concurrent.ThreadPoolExecutor.runWorker( Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
org.apache.tomcat.util.threads.TaskThread$Wrapping Runnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)

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

Apache Tomcat/8.0.21

minhhn0205
03-05-2015, 14:03
Sáng giờ mình cũng tìm hiểu, và biết nguyên nhân là do sai path servlet,
nhưng mình đã thêm vào là:



<servlet>
<servlet-name>servletdemo</servlet-name>
<servlet-class>servlet.demo.DemoServ</servlet-class>
</servlet>


thì nó ra lỗi :


HTTP Status 404 - /Welcome

type Status report

message /Welcome

description The requested resource is not available.

Apache Tomcat/8.0.21


Không biết mình thiếu sót chỗ nào nữa :(

minhhn0205
03-05-2015, 15:04
Sau khi tắt Eclipse Run lại thì mình giải quyết được rồi ;) ;)
--Xin Closed--