指令
- page
- contentType :设置MIME类型和编码集
- pageEncoding :设置编码集,MIME类型默认为text/html
- import:导入该jsp类中所用到的类,如果需要导入多个。以逗号隔开:
- session:默认为true,表示访问该jsp页面时,产生会话对象:
- errorpage:表示当前jsp页面如果抛出了运行时异常,则跳转到指定的出错页面
- iserrorPage:表示该jsp页面为出错处理页面,定义了exception隐式对象,接收异常对象
包含
- <%@include file= …%> 叫做指令包含,也叫静态包含,在编译时发生,将本身jsp和包含的jsp一起编译,形成一个class文件,所以两个页面不能存在同名变量,指令也只能包含文件
- 叫做动作包含,本身jsp包含的是另一个jsp执行的结果,形成两个class文件,所以两个页面可以存在同名变量;可以包含文件,也可以包含severlet输出结果;同时可以传递参数;
- 从一个jsp网页跳到另外一个jsp网页
- 控制权交给另外一个jsp
内部转发和获取真实路径不加工程名
过滤器 filter
- 一个中间组件,用于拦截元数据和目的数据之间的消息
- 过滤二者之间传递的数据
EL表达式
- ${**}
-
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
- 表示欢迎页面集合,表示如果在访问web应用程序时,不输入任何路径,默认访问的页面列表;
过滤器
- 类型:四类
- request 直接请求,按请求路径进行过滤,默认方式
- forward 表示通过内部转发到达目标资源之前进行过滤
- include 表示包含指定资源时,进行过滤
- error 表示发生异常时,进行过滤
- 在标签子标签中,可以加入标签,表四对请求路径进行过滤,也可以加入标签,表示针对某个指定名称的servlet进行过滤
过滤器链
- 当一个请求到达目的资源时,可能会经过多个过滤器,这就行成了过滤器链,过滤器链的执行顺序是,先经过标签在经过标签,如果一个请求经过多个标签,按布置顺序执行
el表达式作用范围
- ${键名}先从小作用域中查找,如果小作用域中有改建对应的值,则取出,并忽略其他作用域,如果小作用域中没有,则去大作用域中找
- 所以可以通过作用域,指定需要绑定的对象${sessionScope.aa}表示在session会话范围中查找对象,如果没有找到,也不会去其他作用域查找
- 支持运算表达式
- 通过el表达式,从作用域对象中取出属性时,是调用get方法完成的,所以就算该实体没有属性,但是提供了get方法,同样可以通过el表达式取出属性值,另外,实体类的属性必须规范,一般来说,属性名前两个字母都不能为大写字母;
${person.dog.name}
one
*.jsp
FORWARD
- forward 表示内部转发至指定资源才经过该过滤器