Вам необходимо переопределить метод real HttpServlet#doPost()
, чтобы не добавлять другой метод, который не будет вызываться контейнером сервлетов.
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Do your job here.
}
И вам нужно сопоставить этот сервлет в web.xml
с известным шаблоном URL.
<servlet>
<servlet-name>modification</servlet-name>
<servlet-class>com.example.Modification</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>modification</servlet-name>
<url-pattern>/modification</url-pattern>
</servlet-mapping>
С указанным выше <url-pattern>
сервлет будет прослушивать URL http://example.com/context/modification.
Наконец, измените URL-адрес действия формы HTML в вашем JSP, чтобы он совпадал с URL-адресом сервлета.
<form action="modification" method="post">
Смотри также:
Не имеет отношения к конкретному вопросу / проблеме, обратите внимание, что вам все еще нужно изменить код сервлета, чтобы отобразить некоторую страницу результатов в виде JSP. Э.Г.
request.getRequestDispatcher("/WEB-INF/result.jsp").forward(request, response);
Кроме того, метод main()
внутри сервлета не имеет смысла, удалите его. И последнее, но не менее важное: ваш подход SQL чувствителен к атакам SQL-инъекций . Learn PreparedStatement
.