Я имею простую программу с:Я не понимаю, как web.xml работы/должен работать при использовании сервлетов
Вход
процесса
Результат
В качестве сервлетов и фильтра:
- AuthentifFilter
Это мой .xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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"
version="2.4">
<display-name>PDPJ Servlet Application</display-name>
<description>
Not in english so skipping this
</description>
<listener>
<listener-class>listeners.InitServlet</listener-class>
</listener>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ProcessingServlet</servlet-name>
<servlet-class>servlet.ProcessingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ProcessingServlet</servlet-name>
<url-pattern>/PDPJ_-_Servlet_-_V4/process/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ResultsServlet</servlet-name>
<servlet-class>servlet.ResultsServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ResultsServlet</servlet-name>
<url-pattern>/process/results</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>1200</session-timeout>
</session-config>
<filter>
<filter-name>AuthFilter</filter-name> <!-- mandatory -->
<filter-class>filter.AuthentificationFilter</filter-class> <!-- mandatory -->
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/PDPJ_-_Servlet_-_V4/process/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
</web-app>
Теперь обработка сервлет имеет URL-адрес из "/ PDPJ_- Servlet -_V4/процесс /", используемый для быть просто «/ process /».
Вещь, после входа в систему, адрес должен выглядеть так: http://localhost:8080/PDPJ_-_Servlet_-_V4/process/?username=admin&password=admin
и он работает для ввода вручную, однако, если я просто нажму кнопку отправки, URL станет http://localhost:8080/process/?username=admin&password=admin
, которого я просто не получу.
Вот форма:
PrintWriter pw = resp.getWriter();
pw.println("<html><head></head><body>");
pw.println("<form action=\"/process/\"> " +
"Username:<input type=\"text\" name=\"username\"/><br/> " +
"Password:<input type=\"password\" name=\"password\"/><br/> " +
"<input type=\"submit\" value=\"login\"> " +
"</form> ");
pw.println("</body></html>");
Может кто-то указать на то, что я не хватает?
EDIT Кроме того, если .xml содержат/PDPJ_- Servlet -_V4/или я могу сказать, что я хочу «относительный путь» или что-то подобное?
Домашнее задание предназначено только для сервлета, без jsp. После этого Jsp. Спасибо, но не могли бы вы также привести пример того, как он должен работать? – Kalec
@Kalec Пример чего? Я сказал, что ведущая косая черта делает ее абсолютной ... так что сделать ее относительной ... удалить ведущую косую черту. –
Английский не мой первый язык, я не понимаю, ведущий является первым или последним? – Kalec