2012-07-01 60 views
0

繼我的上一篇文章here後,我已將所有源文件刪除到一個名爲model的包中,現在該項目拒絕加載,同時執行http://localhost:8080/MyFirstServlet試圖打開一個簡單的JSP文件會產生HTTP狀態500

我懷疑罪魁禍首是web.xml,這裏的文件:

web.xml中:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>MyFirstServlet</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
    <description></description> 
    <display-name>LoginServlet</display-name> 
    <servlet-name>LoginServlet</servlet-name> 
    <servlet-class>model.LoginServlet</servlet-class> 
</servlet> 


    <servlet-mapping> 
    <servlet-name>LoginServlet</servlet-name> 
    <url-pattern>/model/LoginServlet</url-pattern> 
    </servlet-mapping> 
</web-app> 

    [1]: https://stackoverflow.com/questions/11282231/jsp-page-wont-move-the-another-page-after-user-enters-the-input/11283006#11283006 

這是index.jsp的:

<%@ page language="java" contentType="text/html; charset=windows-1255" 
    pageEncoding="windows-1255"%> 
<!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=windows-1255"> 
<title>Insert title here</title> 
</head> 
<body> 
<form action="model/LoginServlet" method="POST"> 
     First Name: <input type="text" name="firstName" size="20"><br> 
     Last Name: <input type="text" name="lastName" size="20"> 
     <br><br> 
     <input type="submit" value="Submit"> 
</form> 

</body> 
</html> 

這是項目層級:

hierarchy

當我執行http://localhost:8080/MyFirstServlet,達到此:

enter image description here

我進入firstsecond到文本字段,然後得到這個:

enter image description here

我已經試圖解決它,但沒有做到,所以我會很感激任何建議,謝謝:)

回答

1

你形成了動作要

<form action="model/LoginServlet" /> 

和您的登錄的servlet應該正確定義包。

package model; 

而且你的web.xml文件必須通過完全合格的名稱聲明這個servlet類

model.LoginServlet 

你的servlet必須擴展HttpServlet的。

如果您確定以上所有內容均正確無誤,並且仍然無效。然後,您可能需要在eclipse中爲此項目檢查您的構建路徑設置。

1
<servlet> 
    <description></description> 
    <display-name>LoginServlet</display-name> 
    <servlet-name>LoginServlet</servlet-name> 
    <servlet-class>model.LoginServlet</servlet-class> 
</servlet> 

您錯過了servlet-class的包。

+0

它仍然不起作用,任何其他的想法可能?謝謝 – ron

+0

如果這仍然不起作用,你應該有一個新的不同的堆棧跟蹤。否則,您的新web.xml將不會正確部署,並且仍會引用舊的。 –

0

stacktrace清楚地顯示錯誤是什麼,ClassNotFoundException表示servlet容器無法在web.xml中找到指定的類。

+0

我可以看到,但我該如何解決? – ron

+0

請清理您的Servlet,刪除警告/不必要的引用包,然後嘗試通過停止tomcat並部署然後啓動服務器來重新部署所有內容。如果你仍然無法工作,請告訴我。 – amitprot

0

的代碼LoginServlet.java第一行應該是

package model; 
+0

我已經寫過,沒有幫助。 10x – ron

+0

而不是action =「model/LoginServlet」,請嘗試使用action =「/ model/LoginServlet」 – rickz

+0

我有,它沒有幫助。 – ron

相關問題