Вам нужен метод doGet как:
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hola</title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("</body>");
out.println("</html>");
}
Вы можете увидеть this ссылку для простого сервлета hello world
Обычно вы передаете запрос в JSP для отображения. JSP - это технология представления, которая предоставляет шаблон для написания обычного HTML/CSS/JS и обеспечивает возможность взаимодействия с внутренним кодом/переменными Java с помощью taglibs и EL. Вы можете управлять потоком страницы с помощью таких теглибов, как JSTL. Вы можете установить любые данные бэкенда в качестве атрибута в любой области видимости запроса, сессии или приложения и использовать EL (вещи ${}
) в JSP для доступа/отображения к ним.
Пример запуска:
@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String message = "Hello World";
request.setAttribute("message", message); // This will be available as ${message}
request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
}
}
А /WEB-INF/hello.jsp
выглядит так:
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2370960</title>
</head>
<body>
<p>Message: ${message}</p>
</body>
</html>
При открытии http://localhost:8080/contextpath/hello в браузере будет показано
Message: Hello World
вот это.
Это избавляет Java-код от нагромождения HTML и значительно улучшает сопровождаемость. Чтобы больше узнать и попрактиковаться в работе с сервлетами, перейдите по следующим ссылкам.
Просмотрите также вкладку "Частые" всех вопросов с тегом [servlets], чтобы найти часто задаваемые вопросы.