Я действительно пытаюсь понять, почему я не могу добраться до своего сервлета при отправке моей формы. Я попытался изменить путь в xml несколько раз и отредактировал код сервлета, но мой браузер все еще не может найти мой сервлет при отправке формы.Не удается найти сервлет в причале
Вот web.xml:
<?xml version="1.0"?>
<web-app>
<servlet>
<servlet-name>quizServlet</servlet-name>
<servlet-class>quiz</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>quizServlet</servlet-name>
<url-pattern>/quiz</url-pattern>
</servlet-mapping>
</web-app>
Я также попытался имея form3/викторина быть URL-шаблон.
Вот простой сервлет:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class quiz extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
String grade = request.getParameter("grade");
out.println("grade=" + grade);
out.println("</body></html>");
out.close();
}
}
А вот HTML:
<html>
<body>
Quiz
<form method='post' action='quiz'>
grade<input type='text' name='grade'>
<input type='submit'></form>
</body>
</html>
index.html содержится в WebApps/simpleForms/form3, web.xml в WebApps/simpleForms/form3/WEB-INF и quiz.java находится в файлах webapps/simpleForms/form3/WEB-INF/и скомпилируется.
Что произойдет, если вы попытаетесь нажать 'http: // localhost: 8080/simpleForms/quiz'? –
У вашего 'web.xml' нет специфицированной версии или xsd/dtd, это может привести к неопределенному режиму поведения сервлета. Названия ваших классов также не соответствуют спецификации (рекомендуется использовать пакет И класс, начинающийся с буквы capitol). –