JSP 简介和本质
什么是 jsp,它有什么用?
jsp 的全换是 java server pages。Java 的服务器页面。
jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据。
因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。
通过servlet回传数据
public class PringHtml extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 通过响应的回传流回传 html 页面数据 resp.setContentType("text/html; charset=UTF-8"); PrintWriter writer = resp.getWriter(); writer.write("<!DOCTYPE html>\r\n"); writer.write(" <html lang=\"en\">\r\n"); writer.write(" <head>\r\n"); writer.write("<meta charset=\"UTF-8\">\r\n"); writer.write("<title>Title</title>\r\n"); writer.write(" </head>\r\n"); writer.write(" <body>\r\n"); writer.write("这是 html 页面数据 \r\n"); writer.write(" </body>\r\n"); writer.write("</html>\r\n"); writer.write("\r\n"); } }
JSP回传数据
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这是 html 页面数据
</body>
</html>
JSP如何访问
像访问 html页面一样访问即可
JSP的本质
jsp页面本质是一个servelet程序。
当我们第一次访问 jsp 页面的时候。Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件。并且对它进行编译成
为.class 字节码程序。我们打开 java 源文件不难发现其里面的内容是:
我们跟踪原代码发现,HttpJspBase 类。它直接地继承了 HttpServlet 类。也就是说。jsp 翻译出来的 java 类,它间接了继
承了 HttpServlet 类。也就是说,翻译出来的是一个 Servlet 程序
总结:通过翻译的 java 源代码我们就可以得到结果:jsp 就是 Servlet 程序。
也可以去观察翻译出来的 Servlet 程序的源代码,不难发现。其底层实现,也是通过输出流。把 html 页面数据回传给客户端。