JSP本质与原理

本文详细介绍了JSP的概念,揭示其作为Servlet的本质。通过实例解析JSP的运行原理,包括如何被服务器转换为.java文件并编译为.class。此外,文章探讨了不同类型的JSP脚本元素,如<% %>、<%! %>和<%= %>的用法,并简要提及了JSP的指令、注释和内置对象。

概念

原理与本质

原理 

本质

脚本,写java代码的格式

<%  java代码  %>

<%!  java代码  %>

<%=  java代码  %>

JSP的指令与注释

JSP内置对象


 

 

概念

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

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

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

原理与本质

原理 

以上面为例:

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

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

 

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

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

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

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

本质

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

脚本,写java代码的格式

<%  java代码  %>

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

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

<%!  java代码  %>

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

如:我们定义一个变量

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

 

<%=  java代码  %>

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

如:我们输出一些东西

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

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

JSP的指令与注释

JSP内置对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林高禄

你打不打赏,我都会一直写博客

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值