Я некоторое время боролся с этим веб-xml-файлом для Tomcat.
<context-param>
<param-name>name</param-name>
<param-value>Bob</param-value>
</context-param>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
Я знаю, что этот файл читается, потому что когда я тестирую с помощью
public class TestServlet extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res){
res.setContentType("text/html");
String name = getServletContext().getInitParameter("name");
PrintWriter out = null;
try{
out = res.getWriter();
}catch(Exception e){}
out.println("<html><head></head><body><img src=\"/twitter.png\"><p>Hi my name is " + name + "</p></body></html>");
}
}
Я могу прочитать имя, которое я поместил в параметр контекста. Мой вопрос к вам, ребята, как мне создать сопоставление URL-адресов, чтобы мне не приходилось проходить через /servlet/ для доступа к моим сервлетам в URL-адресе? Когда я пытаюсь создать URL-шаблон, например
/test/*, я не могу получить доступ к сервлету, даже если я скажу веб-сайт/тест/TestServlet. Я получаю ошибку 404 Not Found в браузере