2016-08-03 303 views
-1

我正在爲兩種類型的用戶使用tomcat7進行註冊/登錄表單的項目,並且我創建了一切:login,registration1,registration2和每個驗證類。我在我的web.xml中遇到了一些問題,說:「從元素'servlet-name'開始找到無效的內容。我在一些目錄中擁有所有文件,除了在/ src中註冊2以外, /登錄/(所有servlet +登錄)這裏是我的代碼:在web.xml文件中使用servlet名稱的錯誤

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
    <servlet> 
    <servlet-name>login</servlet-name> 
    <servlet-class>Login</servlet-class> 
    <servlet-name>RegisterMedico</servlet-name> 
    <servlet-class>/progettoTesi/src/RegisterMedic</servlet-class> 
    <servlet-name>RegisterUser</servlet-name> 
    <servlet-class>progettoTesi/src/RegisterUser</servlet-class> 

    </servlet> 
    <servlet-mapping> 
    <servlet-name>login</servlet-name> 
    <url-pattern>progettoTesi/WebContent/login</url-pattern> 
    <servlet-name>RegisterMedic</servlet-name> 
    <url-pattern>progettoTesi/src/RegisterMedic</url-pattern> 
    <servlet-name>RegisterUser</servlet-name> 
    <url-pattern>progettoTesi/src/RegisterUser</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 

我不明白我的錯誤是:?我的servlet的名稱是正確的這是一個Java問題,我怎樣才能解決這個問題?

回答

2

你試圖在同一<servlet>標籤中定義多個servlet和未去上班,給每個servlet自己的<servlet><servlet-mapping>標籤。

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
    <servlet> 
    <servlet-name>login</servlet-name> 
    <servlet-class>Login</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>RegisterMedico</servlet-name> 
    <servlet-class>RegisterMedic</servlet-class> 
    </servlet> 
    <servlet> 
    <servlet-name>RegisterUser</servlet-name> 
    <servlet-class>RegisterUser</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>login</servlet-name> 
    <url-pattern>/login</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>RegisterMedic</servlet-name> 
    <url-pattern>/RegisterMedic</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>RegisterUser</servlet-name> 
    <url-pattern>/RegisterUser</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 

或者,您可以在您的servlet類上使用@WebServlet批註,因此您不需要在web.xml中配置它們。示例:@WebServlet annotation with Tomcat 7

另外url-pattern和servlet-class是非常錯誤的。 servlet類應該是完全限定的類名(包+類名)。 url模式實際上是必須「映射」到servlet的url中的模式。例如:url-pattern「/ beep」會映射到「http://localhost:8080/beep」。

+0

真的非常感謝!但是現在,無論什麼時候我把東西放在我的servlet中,我都會得到404 HTTP狀態,說我找不到/ indexAvanz ecc ecc。這是一個與servlets有關的問題嗎?我發佈我的註冊代碼 – Feanor

+0

@Feanor現在我看它的servlet類和url-pattern也是非常錯誤的。 – Gimby

+0

@Feanor請不要發佈後續問題作爲答案,這不是stackoverflow的工作原理。你應該刪除它。我用固定的類名和url-pattern編輯了我的答案。 – Gimby

相關問題