![](/img/trans.png)
[英]HTTP Status 500 - Error instantiating servlet class com.sar.pkg.MyServlet
[英]HTTP Status 500 - Error instantiating servlet class pkg.coreServlet
我正在創建簡單的 servlet 並將其部署在 tomcat 服務器中,但出現以下錯誤:
HTTP 狀態 500 - 實例化 servlet 時出錯 class pkg.coreServlet
tomcat服務器上的文件結構:
webapps
|
- aarya
|
- WEB-INF
|
-web.xml
-src(folder)
|
-pkg
|
-coreServlet.class
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>aaryaservlet</servlet-name>
<servlet-class>pkg.coreServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>aaryaservlet</servlet-name>
<url-pattern>/coreServlet</url-pattern>
</servlet-mapping>
</web-app>
coreServlet.java:
package pkg;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class coreServlet extends HttpServlet
{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
PrintWriter out = res.getWriter();
res.setContentType("text/html");
out.println("this is First servlet Example ");
}
}
url 我給出的是http://localhost:8080/aarya/coreServlet
我嘗試重新啟動 tomcat 但我遇到了同樣的錯誤。 我哪里做錯了?
不要把src文件夾放在WEB-INF目錄下!!
改變
private static final long serialVersionUID = 1L;
到任何其他值,如
private static final long serialVersionUID = 102831973239L;
你也可以在eclipse中自動生成它。
這是因為應用程序中的每個 servlet 都有一個唯一的 id。而 tomcat 會導致兩個 servlet 具有相同 id 的問題......
在我的情況下,缺少private static final long serialVersionUID = 1L;
行導致相同的錯誤。 我添加了該行並且它起作用了!
您是否關閉了 web.xml 中的 < web-app > 標簽? 從您發布的內容來看,似乎缺少結束標記。
servlet 類應該在 WEB-INF/classes 而不是 WEB-INF/src 中。
在servlet 啟動/請求期間的多種情況下可能會發生上述錯誤。 希望您檢查服務器日志的完整堆棧跟蹤,如果您有tomcat,您還可以在500內部服務器錯誤頁面的html預覽中看到確切原因。
奇怪的是,如果您嘗試再次點擊請求 url,您將獲得 404 Not Found 頁面。
您還可以通過在所有類構造函數初始化塊上放置斷點來調試此問題,其對象是在 servlet 啟動/請求期間創建的。
就我而言,我沒有為 Weld CDI 注入工作加載 javaassist jar。 它顯示 NoClassDefFound 錯誤。
我在 Servlet 實例化方面遇到了問題。 我清理了這個項目,它對我有用。 在 eclipse 菜單中,轉到 Project->Clean。 它應該工作。
試試這個:)
前:-
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
后:-
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>operation.TestServlet</servlet-class>
</servlet>
請確保以下幾點:
private static final long serialVersionUID = 1L;
應該在您的班級中( <servlet-class>MyClass</servlet-class>
)。可能對尋求...的人有幫助
為我工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.