一.jsp概述
1.jsp全称java server page,其本质就是一个Servlet 。一般将Servlet和jsp结合使用,servlet负责业务,jsp负责显示。
2.jsp的执行原理
当某个jsp页面第一次被请求时,服务器会将其解析为java文件,如果解析成功,会将其编译为.class字节码文件,并将其加载进内存(创建实例),最后将执行结构响应给客户端。
二.jsp脚本
1.<% %> 用来写java代码
2.<%= %> 用来向浏览器输出对象
3.<%! %> 用来定义成员变量,成员方法
三.jsp九大隐含对象
out,config,page,pagecontext,excepton,request,response,application,session。其中加粗的为域对象。通过pageContext可以获取其他8个隐含对象。
域对象 | 表示的范围 | 域对象的类型 |
---|---|---|
page域 | 当前页面 | pageContext类型就是pageContext |
request域 | 当前请求 | request的对象类型是HttpServletRequest |
session域 | 一次会话 | session的对象类型是HttpSession |
application域 | 当前web应用 | application对象类型是ServletContext |
1.四个域对象常用的公共方法:
(1)void setAttribute(String key,Object value)
(2)Object getAttribute(String key)
(3)void removeAttribute(String key)
2.域对象的使用规则:尽量使用作用范围小的域对象
四.EL表达式 ${}
1.EL全称expression langeage,是jsp内置的表达式语言,用来访问页面的上下文及不同作用域中的对象,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动的进行数据类型的转换。EL表达式主要用来替代jsp表达式(<%= %>)在页面做输出操作。注意,EL表达式仅用来读取数据,而不能对数据进行修改,在使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出。
2.EL取值的四个域
page,request,session,application(从左到右范围依次变大)
3.EL的查询规则
先从page域开始查找,找到后直接返回,不在到其他域中查找,以此类推,如果在application域中任然找不到则返回空串。(四个域的大小:page<request<session<application)
4.EL表达式提供的四个scope对象,用来精确获取指定域中的属性值。分别是:pageScope,requestScope,sessionScope,applicationScope。