全称:java servlet page / java的servlet的页面技术
作用:解决servlet拼接页面的繁琐工作
web容器第一次接收到对某个jsp页面的请求后,会把jsp代码翻译为servlet
jsp本质上就是一个servlet,第一次请求jsp时 他要进行翻译、编译 所以会比较慢
jsp的生命周期
-
翻译阶段 : jsp代码 ->翻译-> servlet代码 -----
tomcat -> wrok -> 对应项目下的文件夹中,由jsp引擎进行翻译,翻译后的java代码名会加上 _jsp
-
编译阶段 : java代码 ->编译-> class代码
-
类加载 : class文件加载到jvm中
-
实例化 : new过程
-
初始化 : _jspInit()
-
等待服务 : _jspService()
-
销毁、回收 : _jspDestroy()
jsp的语义、语法
jsp = 元素 + 末班数据
元素:由容器来处理的值
模板数据:静态的HTML代码
支持语法:
-
标签类型
-
编程式 (Java代码)
JSP脚本元素
脚本元素 | 脚本语法 | 作用 | 编译位置 |
---|---|---|---|
声明 | <%!声明%> | 声明成员变量、方法等等(不常用) | 翻译对象作为成员 |
Scriplet | <%代码%> | 书写java代码(常用) | _jspService()中 |
脚本表达式 | <%=脚本表达式%> | 输出语法,可以用scriptlet替换(常用) | _jspService()中 |
<% %>中间可以书写Java代码
jsp注释
注释名 | 注释语法 | 使用位置 |
---|---|---|
单行注释 | // | <% %>中 |
多行注释 | /* */ | <% %>中 |
jsp注释 | <%-- --%> | .jsp文件<body>中 |
html注释 | <!----> | .jsp文件<body>中 |
jsp注释在 浏览器,查看源代码中不显示
<%--导入文件包--%> <%@ page import = "包路径" %> <% //session 会话对象 //application %>
其他
-
Build -> Build Artifacts : 重构骨架
IDEA在运行代码时,需要查看中工程中的out文件夹中,是否包含拷贝至工程中的文件,如果没有需要重构骨架。