0
点赞
收藏
分享

微信扫一扫

JSP本质与原理

Sky飞羽 2022-02-17 阅读 108


​​概念​​

​​原理与本质​​

​​原理 ​​

​​本质​​

​​脚本,写java代码的格式​​

​​<%  java代码  %>​​

​​<%!  java代码  %>​​

​​<%=  java代码  %>​​

​​JSP的指令与注释​​

​​JSP内置对象​​




概念


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



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

JSP本质与原理_java文件



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

JSP本质与原理_JSP_02



原理与本质



原理 



以上面为例:


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



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

JSP本质与原理_java文件_03

 JSP本质与原理_java文件_04

JSP本质与原理_JSP_05



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

JSP本质与原理_java代码_06



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

JSP本质与原理_java文件_07



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



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

JSP本质与原理_servlet_08



本质



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



脚本,写java代码的格式



<%  java代码  %>



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



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



<%!  java代码  %>



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



如:我们定义一个变量

JSP本质与原理_java代码_09



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

 JSP本质与原理_java代码_10



<%=  java代码  %>



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



如:我们输出一些东西

JSP本质与原理_JSP_11JSP本质与原理_java文件_12



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

JSP本质与原理_JSP_13



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

JSP本质与原理_java_14



​​JSP的指令与注释​​



​​JSP内置对象​​



举报

相关推荐

0 条评论