JSP概述及其原理

JSP——Java Server Page :Java服务器端页面
百度百科的解释如下:
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

我们可以简单理解为:一个特殊的页面,类似于HTML,其中可以存放Java代码,HTML标签,CSS,JS代码。

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <h1>hi JSP</h1>
  <%
      System.out.println("hello JSP!");
  %>
  </body>

</html>

网页输出:JSP概述及其原理_第1张图片
控制台输出:在这里插入图片描述JSP原理:
JSP本质上就是一个Servlet
JSP概述及其原理_第2张图片
当index.jsp运行时,可以看到运行目录
JSP概述及其原理_第3张图片
打开后可以看到一个work目录
JSP概述及其原理_第4张图片
打开后可以看到被解析后的java和class文件
在这里插入图片描述

打开java文件,发现继承了一个HTTPJSPBase的内部类
JSP概述及其原理_第5张图片

在Tomcat的源码中,找到HTTPJSPBase后发现继承了HTTPServlet
JSP概述及其原理_第6张图片所以说JSP本质上是一个Servlet

我们接下来再看一看JSP生成的java文件,可以发现我们写的HTML标签都被重新写了一遍。如果我们只用Servlet来编写,就需要编写大量的HTML标签的输出。因此通过JSP我们可以大大方便java代码和HTML标签的结合。
JSP概述及其原理_第7张图片

你可能感兴趣的:(Java,Web,学习之旅)