我正在爲我的作業寫一個簡單的航班預訂應用程序。我的航班預訂網站有登錄,註冊,航班搜索,結果顯示和確認JSP頁面。我想在用戶嘗試執行某個操作時調用servlet,例如:瞭解如何在Eclipse中運行servlet
用戶轉到login.jsp並單擊登錄按鈕,表單中有一個target/core/Login(核心是我的核心servlet和登錄是應該處理該請求的相應servlet)。
在之前的作業中,我們編寫了自己的Web服務器,所以我沒有使用Tomcat來部署serlvet ...現在我們不再使用我們自己的Web服務器了,我在計算時遇到了一些麻煩如何讓servlet在Eclipse中運行。
我在Eclipse中創建動態Web項目,它會自動生成以下文件夾結構:
../P3
../P3/src
../P3/src/core
../P3/build
../P3/WebContent
../P3/WebContent/META-INF
../P3/WebContent/WEB-INF
我的login.jsp具有時填寫並點擊結果提交給在登錄servlet的形式我核心包:
<form name="input" action="src/core/Login" method=GET>
Username: <input type="text" name="userName" />
<br>
Password: <input type="password" name="password" />
<br>
<input type="submit" value="Login" />
</form>
Eclipse中有一個內置的瀏覽器,所以當我運行的login.jsp加載它在Eclipse瀏覽器並顯示它。當我點擊登錄按鈕它應該發送的用戶名和密碼登錄的servlet,但我得到了下面的錯誤,而不是:
HTTP Status 404 - /P3/src/core/Login
--------------------------------------------------------------------------------
type Status report
message /P3/src/core/Login
description The requested resource (/P3/src/core/Login) is not available.
出於某種原因,服務器不知道有關servlet ...我已經閱讀了一些文章(first和second)在線解釋可能出現的問題,但我仍然遇到了錯誤。我在第一篇文章中嘗試瞭解決方案,但沒有成功;第二篇文章並沒有真正適用,因爲server.xml文件已經包含了正確的標誌和目錄。
這裏是我的WEB-INF/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>P3</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Registration</display-name>
<servlet-name>Registration</servlet-name>
<servlet-class>core.Registration</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Registration</servlet-name>
<url-pattern>/Registration</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>Register</display-name>
<servlet-name>Register</servlet-name>
<servlet-class>core.Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/Register</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>Login</display-name>
<servlet-name>Login</servlet-name>
<servlet-class>core.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
</web-app>
應該設置我的項目,所以它正確地在Eclipse中部署如何?
OOOOOH! servlet映射! HAH確定http:// localhost:8080/P3 /登錄工作! – Kiril 2010-02-28 20:18:26
你已經在'/ Login'上映射了servlet。因此,URL應該是「http:// localhost:8080/P3/Login」。因此,您需要將表單操作設置爲'action =「Login」'。 – BalusC 2010-02-28 20:19:28
你總是看起來很容易^^! :) – Kiril 2010-02-28 20:21:10