JSP или Servlet PrintWriter

0

Недавно я начал внедрять Java на свой сайт, но я читал, что метод:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();

        out.println("<html>");
        //code
        out.println("</html>");
        out.close();
    }

Является устаревшим и редко используется из-за jsp. Каковы преимущества одного и другого?

Теги:
jsp
servlets

3 ответа

2
Лучший ответ

Преимущество использования JSP поверх чистых сервлетов заключается в том, что удобнее писать (и изменять) обычный HTML, чем иметь много out.println которые генерируют HTML. С JSP вы можете свободно смешать Java-код с вашим HTML-кодом (используя теги JSP, такие как <%= %>). Ваша страница JSP в конечном счете компилируется в сервлет, сервлет запускается, и ответ отправляется обратно в браузер.

Чистый сервлет:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>")
    out.println("<p>The date is: " + (new Java.util.date()).toLocaleString() +"</p>");
    out.println("</body>")
    out.println("</html>");
    out.close();
}

JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  ....
  <body>
      <p>The date is: <%= (new Java.util.date()).toLocaleString() %></p> //mixing HTML and Java
  </body>
</html>
  • 0
    хотя не рекомендуется включать Java-код в ваш JSP. также этот JSP довольно часто можно редактировать с помощью редактора WYSIWYG.
  • 0
    Я знал эту сторону медали, но есть ли какие-то преимущества для стороны сервлета?
0

Сервлет предназначен для управления и бизнес-логики. JSP предназначен для представления логики.

0

Технически вы можете написать презентацию и бизнес-логику как в jsp, так и в сервлетах. Широко распространено мнение о том, чтобы реализовать шаблон MVC в вашем webapp, поэтому вы хотите реализовать представление в JSP, использовать сервлеты в качестве контроллера и EJB для модели. Генерация html с вашим сервлетом нарушает это разделение, поэтому его обычно избегают.

Я не знаю никакой выгоды от генерации html в сервлете.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню