Я пишу простое приложение для бронирования авиабилетов для одной из моих домашних работ. На моем сайте бронирования авиабилетов есть логин, регистрация, поиск рейсов, отображение результатов и страницы подтверждения JSP. Я хочу вызывать сервлеты, когда пользователь пытается выполнить действие, например:
Пользователь переходит к login.jsp и нажимает кнопку «Вход», у формы есть цель / core / Login (core - это мои основные сервлеты, а Login - соответствующий сервлет, который должен обрабатывать этот запрос).
В предыдущем домашнем задании мы написали наш собственный веб-сервер, поэтому я не использовал Tomcat для развертывания serlvet ... теперь, когда мы больше не используем наш собственный веб-сервер, у меня возникли проблемы с выяснением чтобы заставить сервлеты работать в Eclipse.
Я создал динамический веб-проект в Eclipse, и он автоматически сгенерировал следующую структуру папок:
../P3
../P3/src
../P3/src/core
../P3/build
../P3/WebContent
../P3/WebContent/META-INF
../P3/WebContent/WEB-INF
Мой login.jsp имеет форму, которая при заполнении и нажатии отправляет результаты сервлету Login в моем основном пакете:
<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 и отображает его. Когда я нажимаю кнопку входа в систему, она должна отправить имя пользователя и пароль сервлету входа, но вместо этого я получаю следующую ошибку:
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.
По какой-то причине сервер не знает о сервлете ... Я прочитал пару ( первая и вторая ) статей в Интернете, объясняющих возможные проблемы, но Я все еще получаю ошибку. Я попробовал решение в первой статье, и оно не сработало; вторая статья на самом деле не применялась, поскольку файл settings.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?