Как создать ответ HTML в сервлете Java?
Создание HTML-ответа в Java-сервлете
Ответ 1
Обычно вы отправляете запрос на JSP для отображения. JSP - это технология просмотра, которая предоставляет шаблон для написания простого ванильного HTML/CSS/JS внутри и обеспечивает возможность взаимодействия с базовым кодом Java/переменными с помощью taglib и EL. Вы можете контролировать поток страниц с помощью taglib, например JSTL. Вы можете установить любые данные в качестве атрибута в любой области запроса, сеанса или приложения и использовать EL (объекты ${}
) в JSP для доступа/отображения их.
Пример Kickoff:
@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 и значительно улучшает ремонтопригодность. Чтобы учиться и практиковать больше с сервлетами, перейдите по ссылкам ниже.
- Вики-страница наших сервлетов
- Как работают сервлеты? Создание, сеансы, общие переменные и многопоточность
- doGet и doPost в сервлетах
- Вызов сервлета из JSP файла при загрузке страницы
- Как перенести данные из JSP в сервлет при отправке HTML-формы
- Показать JDBC ResultSet в HTML на странице JSP с использованием шаблонов MVC и DAO
- Как использовать сервлеты и Ajax?
- Возврат сервлета "HTTP-статус 404 Запрошенный ресурс (сервлет) недоступен"
Также найдите вкладку "Частые" всех вопросов, помеченных [сервлетами], чтобы найти часто задаваемые вопросы.
Ответ 2
Вам нужно иметь метод 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