Я пытаюсь отобразить результат функции Java на HTML-странице, используя сервлет Java и Tomcat.
Я на Linux Mint 19.1 Cinnamon и использую apache-tomcat-8.5.38
Моя проблема в том, что когда я пытаюсь отобразить сервлет в файл web.xml, кажется, что он не работает:
вот мой файл web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app >
<servlet>
<servlet-name>SearchEngineServlet</servlet-name>
<servlet-class>SearchEngine</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SearchEngineServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
</web-app>
вот мой файл index.html:
<!DOCTYPE html>
<html>
<head>
<title>Search Engine</title>
</head>
<body>
<div>
<a href="search">Click to call Servlet</a>
<form action="servlet/search" method="post">
<input type="text" name="s">
<input type="submit" value="Submit">
</form>
</div>
</body>
</html>
и вот мое приложение с именем SearchEngine.java:
public class SearchEngine extends HttpServlet {
private String mymsg;
@Override
public void init() throws ServletException
{
mymsg = "Http Servlet Demo";
}
@Override
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException
{
PrintWriter out = response.getWriter();
out.println("<h1>" + mymsg + "</h1>");
}
}
А мои файлы здесь:
web.xml -> /home/cubouyaka/web/apache-tomcat-8.5.38/webapps/SearchEngine/WEB-INF/web.xml
SearchEngine.java -> /home/cubouyaka/web/apache-tomcat-8.5.38/webapps/SearchEngine/WEB-INF/src/SearchEngine.java
index.html -> /home/cubouyaka/web/apache-tomcat-8.5.38/webapps/SearchEngine/index.html
Тогда я могу получить доступ к index.html, но когда я пытаюсь щелкнуть ссылку, чтобы использовать сервлет, я получил сообщение об ошибке, не сообщающее о том, что /home/cubouyaka/web/apache-tomcat-8.5.38/webapps/ SearchEngine / servlet / search не существует, но я сделал сопоставление в файле web.xml, поэтому не понимаю, почему я получаю эту ошибку.
Может ли кто-нибудь помочь мне, пожалуйста, я потерял так много времени, пытаясь это исправить ..