目录
1.JSP
JSP脚本片段:用于在JSP页面写Java代码
【淘汰】
注意事项
- JSP脚本片段中只能出现Java代码,不能出现HTML元素。在访问JSP时,JSP引擎翻译JSP页面中的脚本片段。
- JSP脚本片段中的Java代码必须要严格遵守Java的规则
- 一个JSP页面是可以有多个脚本片段的
- 多个脚本片段中的代码是可以相互访问的
JSP表达式
<%= num%>
【<% = 变量%>】
JSP声明片段
<%!
int x =10;
public void fun(){
}
static {
}
%>
【<%! %>】
JSP的指令标识
【<% @ 指令名 属性1=“值1” 属性2 = “值2” .....%>】
- page指令:定义整个JSP页面相关的属性
- autoFlush:自动刷新——【当缓存满了,自动刷新,默认】
- errorPage:出现错误跳转到指定页面
- isErrorPage:指定是不是错误的页面——【可以用exception,不设置为true不能使用】
- include指令:引入其他的JSP页面。先把两个页面结合,再去编译成Servlet
- taglib指令:引入页面上其他需要用到的标签库
JSP标签
内置标签
- jsp:include ——引入指定的页面
- jsp:forward——转发页面
- jsp:param——传参数
JSTL标签
【需要导入JSTL标签库的】
自定义标签
【自己定义的标签】
JSP的作用域
四大作用域
- 当前页(pageContext)——【范围:一个属性只能在一个页面中获取}
- 一次请求(request)——一个页面中设置的属性,只有经过了请求转发后才能拿到,【范围是一次请求】
- 一次会话(session)——一个会话的属性,【范围:只要页面不关闭,都能获取到】
- 整个web应用(application)——在这个服务器上,【范围:当前项目的任何一个页面都能获取到】
2.EL表达式
EL表达式的内置作用域对象
- pageContext
- requestScope
- sessionScope
- applicationScope
EL表达式的缺陷
- 只能读不能写
- 不支持流程控制语句
面试题
JSP和Servlet的区别
- JSP本质上就是一个Servlet
- JSP更侧重于视图的展示,Servlet更侧重于逻辑处理
- 先有Servlet,后有的JSP
JSP的include标签和include指令的区别
- include标签先把要引入的页面,【先编译,再合并】
- include指令先把要引入的页面,【先合并,再编译】
JSP九大内置对象——【内置:不需要创建,直接能使用】
英文 | 中文 |
---|---|
request | 请求 |
response | 响应 |
session | 会话 |
out | 输出 |
page | 当前JSP页面本身 |
application | 应用 |
exception | 异常:只能指定在isErrorPage=”true“ |
pageContext | 当前页,作用域 |
config | 配置 |
JSP四大作用域
- 详情见上面