1.el简介
EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写(jsp只作为显示页面的作用),el出现的目的是要替代jsp页面中脚本的编写。
1.2)el作用(获取域中的数据)重点、重点、重点
获得request域中的值:${requestScope.key};其他域也是这样(域Scope.key)
el从四个域中全域查找:${key}(顺序同样是从小到大pageContext,request,session,application)
<!-- 使用EL表达式获得域中的值 -->
${requestScope.company }//获取字符串
${sessionScope.user.name }//获取bean对象
${applicationScope.list[1].name}//获取List<User>对象
<!-- 使用el表达式 全域查找 -->
${company }
${user.name }
${list[1].name}
1.3)el的内置对象(可以在el中使用的对象)
pageScope,requestScope,sessionScope,applicationScope:获取jsp中域中的数据(requestScope!= jsp中的内置对象)
${pageContext.request.contextPath}:获取web应用名称(在jsp中都是使用绝对地址)
1.4)el执行表达式
${1+1 }:可以执行表达式运算
${empty user}:empty 判定某个对象是否是null 是null返回true
${user==null?true:false}:三目运算
2.JSTL
JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库(Core)。JSTL常常是与EL表达式配合使用以减少jsp中的java脚本代码。
核心标签库:JSTL标准有五个子库,一般我们只使用他的核心库
Core(标签)c(前缀),http://java.sun.com/jsp/jstl/corc(标签库的URI),c(前缀)
2.2)JSTL的导入
jstl.jar,standard.jar两个包放入lib目录下,在的sp页面中写入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2.3)JSTL的常用标签(划重点)
<c:if test=””>和<c:forEach>标签,jstl标签经常会和el配合使用
if:test代表的返回boolean的表达式,if标签没有else(需要使用else则条件相反即可:count != 9)
<c:if test="${count==9 }"><!-- 返回true就执行xxx -->
xxxx
</c:if>
forEach:
第一种:begin:定义i开始的值 end:定义i的最大值 var:每一个i元素(相当于for)
第二种:items:一个集合或数组 var:代表集合中的某一个元素(常用,相当于forEach)
<!-- 遍历List<String>的数据 -->
<c:forEach items="${strList }" var="str">
${str }<br/>
</c:forEach>
<!-- 遍历List<User>的数据 -->
<c:forEach items="${userList}" var="user">
user的name:${user.name }------user的password:${user.password }<br/>
</c:forEach>
<!-- 遍历Map<String,String>的值 -->
<c:forEach items="${strMap }" var="entry">
${entry.key }====${entry.value }<br/>
</c:forEach>
<!-- 遍历Map<String,User>的值 -->
<c:forEach items="${userMap }" var="entry">
${entry.key }:${entry.value.name }--${entry.value.password }<br/>
</c:forEach>
3.javaEE的开发模式(划重点)
在实际开发时我们会使用到三层架构(javaEE开发模式)和mvc模式(web开发模式),三层架构和mvc的关系:三层架构和mvc并没有多大关系,只不过在我们进行web开发是会用到三层架构,而刚刚好三层架构中web层则需要用到mvc模式
三层架构:javaEE独有的开发模式,服务器开发时分为三层
web层:与客户端交互
service层:复杂的业务处理
dao层:与数据库进行交互
mvc模式:属于web开发模式,javaEE,.net,php等都有使用
M:model-----模型,javaBean:封装数据
V:view------视图j,sp:单纯的进行页面显示
C:controller------控制器,servlet:获取数据 >>> 对数据进行封装 >>> 传递数据 >>> 指定jsp页面
总结
EL表达式
从域中取出数据 ${域中存储的数据的name}
${pageContext.request.contextPath}
JSTL标签(核心库)
<%@ taglib uri=”” prefix=”c”%>
<c:if test=””>
<c:forEach items=”数组或集合” var=”数组或集合中的每一个元素”>
javaEE三层架构+MVC
web层:收集页面数据,封装数据,传递数据,指定响应jsp页面
service层:逻辑业务代码的编写
dao层:数据库的访问代码的编写