概念
原理与本质
原理
本质
脚本,写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代码里就看到了输出语句
页面上也展示了我们输出的内容