本系列博客汇总在这里:JSP 汇总


目录


一、JSP 概述

  1. JavaWeb 早期:applet + servlet
  2. JavaWeb 早期:servlet,在 servlet 中需要写大量的 response.getWriter().println(“<html>”);
  3. JavaWeb 后期:JSP,只需要在 html 中直接添加动态信息,即 java 代码片段就可以了。服务器会把所有的 <html> 语句转换成 response.getWriter().println(“<html>”);
  4. <html> -- response.getWriter().println(“<html>”);
    <body></body> -- response.getWriter().println(“<body></body>”);
    </html> -- response.getWriter().println(“</html>”);
  5. 使用 servlet 实现登录界面JSP(1)_JSP 概述_htmlJSP(1)_JSP 概述_java_02
    JSP(1)_JSP 概述_服务器_03
    JSP(1)_JSP 概述_JSP 概述_04
    可以看到,使用 servlet 来展示动态代码,代码量太大,所以 jsp 的作用就在于处理动态页面。

二、什么是 JSP

  1. html + java 代码 + JSP 动态标签 = jsp
  2. 在静态页面上添加动态信息就可以了,如果是 Servlet 还需要一行一行的输出。
  3. 通常在前台开发人员给出静态页面后,后台开发人员只需在静态页面中添加动态信息即可,而不用再使用 Servlet 一行一行的去输出了。

三、JSP 真身:Servlet

  1. 当客户请求的是 JSP 页面时,服务器会查看 JSP 对应的 Servlet 是否存在,如果存在,那么直接调用 Servlet 的 service() 方法来处理请求。如果不存在,那么服务器会先把 JSP 编译成 .java,再把 .java 编译成 .class,然后调用 service() 方法。当这个 JSP 页面,第二处理请求时,就直接调用直身的 service() 方法了。
    JSP(1)_JSP 概述_JSP 概述_05
  2. JSP 是 Servlet,JSP 与我们编写的 Servlet 有什么不同呢?通常我们编写的 Servlet 就不需要输出 HTML 代码了,而是转发到 JSP 页面。即 Servlet 不再负责显示页面,而由 JSP 来完成!而 Servlet 专注与控制层内容!
  3. 在 “真身” 中,所有的静态内容会被输出。例如 <html> 就是静态内容,它对应 “真身” 中的 out.write(“<html>”)。
    JSP(1)_JSP 概述_JSP 概述_06

如有错误,欢迎指正!