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














882

被折叠的 条评论
为什么被折叠?



