JSP、JSP表达式、JSP四个域、EL表达式、EL四个域 之间的区别

一、JSP
Java ServerPages,即java服务器页面,本质是Servelt,存放在服务器中,用于页面显示;
它的主要构成有HTML网页代码、Java代码片段、JSP标签几部分组成,后缀是.jsp。
(1)JSP脚本元素:是嵌入到JSP中Java代码段,格式以**<%开头,%>结尾,被JSTL代替
(2)JSP表达式:用来直接将Java变量输出到jsp页面中,格式以
<%=开头,以%>**结尾,被EL表达式代替

二、JSP四个域 —— 四个域对象
JSP九个隐含对象,是JSP容器为每个页面提供的java对象,在JSP中可直接使用,不需要事先定义;
主要有四个域,对应四个域对象,如下:

  1. page域
    范围:(当前页面),跳转页面就没了
    对应的域对象:pageContext

  2. request域
    范围:当前请求(一次请求),从http请求到服务器响应,到响应返回浏览器,这个过程中一直有效;
    可以跳转页面,但不可以刷新页面,刷新页面就没了
    对应的域对象:request

  3. session域
    范围:当前会话(一次会话)指打开浏览器到关掉浏览器(关掉浏览器就没了)
    对应的域对象:session

  4. application域
    范围:当前Web应用(服务器重启后就没有了)
    对应的域对象:application

★ 以上四个域对象,从上往下范围依次增大;都有以下方法;
(1)往域里添加属性
域对象.setAttribute(String key , Object value);
(2)在域中移除属性
域对象.removeAttribute(String key);
(3)在域中修改属性,所用不多,略过

★ 在调用四个域中的域对象时,默认全域查找,能用小的域就不用大的域:
GET方法,转发,一般用request域记录;
POST方法,重定向,一般用session域记录

三、EL表达式 —— EL四个域对象
EL的全称:Expression Language,即表达语言;它的作用是代替JSP表达式,在JSP页面中获取域中的value值
!EL表达式写在JSP页面的body标签中!
格式:${表达式}
(1)EL表达式仅仅用来读取数据,而不能对数据进行修改;
(2)使用EL表达式输出数据时,如果有则输出数据,如果为null则输出空串" ";
EL的四个域对象:pageScope、requestScope、sessionScope、applicationScope
————————————————————————————————————————
小结:
JSP的四个域:在servlet页面,在域中写入东西,用java代码;
四个域:page、request、session、application
四个域对象:pageContext、request、session、application

EL表达式:写在jsp页面的body标签内,用EL表达式获取对应域中的东西,
域对象.getAttribute(“” , “”),一般通过键值对的形式;
四个域对象:pageScope、requestScope、sessionScope、applicationScope
等同于与servlet中的四个域对象,只是写法不同,实际上一个东西

你可能感兴趣的:(Web)