概念

原理与本质

原理 

本质

脚本,写java代码的格式

<%  java代码  %>

<%!  java代码  %>

<%=  java代码  %>

JSP的内置对象


 

概念

  • Java Server Page:java服务器页面
  • 一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码

我们的web项目建一个my.jsp ,里面写入java代码

JSP本质与原理

 运行访问my.jsp,可以看到后台输出了:欢迎大家

JSP本质与原理

原理与本质

原理 

以上面为例:

  • 服务器解析请求消息,找是否有my.jsp资源
  • 如果找到了,会降my.jsp转换为.java文件
  • 编译.java文件,生成.class字节码文件
  • 由字节码文件提供访问

我们重启一下项目,找打项目部署路径

JSP本质与原理

 JSP本质与原理

JSP本质与原理

现在还没有my_jsp.java文件,我们访问一下my.jsp,然后就出来了,也就是my_jsp.java是访问才解析成java文件的

JSP本质与原理

那我们就看看my_jsp.java是什么

JSP本质与原理

继承了org.apache.jasper.runtime.HttpJspBase,在apache的源码里面,HttpJspBase继承了HttpServlet,所以my_jsp.java其实就是一个Servlet

往下看,看到了我们写的java代码

JSP本质与原理

本质

  • 从原理上我们可以知道,JSP本质上就是一个Servlet

脚本,写java代码的格式

<%  java代码  %>

<%  java代码  %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本就可以定义什么

这在上面已经演示过,这里就不再演示

<%!  java代码  %>

<%!  java代码  %>:定义的java代码,在jsp转换后的java类的成员位置

如:我们定义一个变量

JSP本质与原理

在我们的java代码里就看到了这个变量的定义

 JSP本质与原理

<%=  java代码  %>

<%=  java代码  %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本就可以定义什么。

如:我们输出一些东西

JSP本质与原理JSP本质与原理

在我们的java代码里就看到了输出语句

JSP本质与原理

页面上也展示了我们输出的内容

JSP本质与原理

JSP的内置对象

相关文章: