У меня сервлет AddUserServlet:
public class AddUserServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
final String name = req.getParameter("name");
final String login = req.getParameter("login");
final String email = req.getParameter("email");
System.out.println(name);
System.out.println(login);
System.out.println(email);
}
}
Это мой web.xml:
<!--root menu, index.jsp-->
<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>ru.pravvich.servlets.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--Вот этот не мапится.-->
<servlet>
<servlet-name>AddUserServlet</servlet-name>
<servlet-class>ru.pravvich.servlets.AddUserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddUserServlet</servlet-name>
<url-pattern>/addition</url-pattern>
</servlet-mapping>
Находясь по аддресу http://localhost:8080/items/addition.jsp я получаю addition.jsp страницу:
<body>
<form method="post" action="AddUserServlet">
<input type="text" placeholder="name" name="name"><br>
<input type="text" placeholder="login" name="login"><br>
<input type="text" placeholder="email" name="email"><br>
<input type="submit" value="Добавить">
</form>
</body>
Но при отправке формы получаю HTTP Status [405] – [Method Not Allowed] вместо моих входящих значений.
Но когда я <url-pattern>/addition</url-pattern> меняю на <url-pattern>/</url-pattern> то все работает. Но у меня к корню примапен другой сервлет и он мне нужен.
Подскажите пожалуйста, как мне примапить еще и AddUserServlet так чтобы он работал с addition.jsp и получал данные от него? Буду очень признателен за любые подсказки...
Укажите в form в action URL, а не имя сервлета.
<body>
<form method="post" action="addition">
<input type="text" placeholder="name" name="name"><br>
<input type="text" placeholder="login" name="login"><br>
<input type="text" placeholder="email" name="email"><br>
<input type="submit" value="Добавить">
</form>
</body>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости