今天学习了jstl,mvc模式,三层架构最后还做了用户管理系统,最终重要的是理解三层架构
时间:2022/5/17
JSTL表达式
JSTL (Jsp Standard Tag Library)Jsp标准标签库,是一套由Apache组织开源的jsp标签库,用来替换和简化jsp页面中java代码。
用来去简化jsp中的判断循环等逻辑语句
环境准备
首先导入jar包
if标签
* if标签用于单分支条件判断,它的常见用法如下:
<c:if test="条件">
条件成立的逻辑
</c:if>
* 注意: 它只有if的功能,没有else的功能,如果需要else,需要再写一个if
//给session域存储数据
HttpSession session = request.getSession();
session.setAttribute("age",17);
-----------------------------------------------------
<c:if test="${age>=18}">
他可以去网吧...
</c:if>
<c:if test="${age<18}">
他不可以去网吧...
</c:if>
forEach标签
forEach用于循环遍历,相当于java中的for关键字,它的常见属性如下:
begin:设置循环的开始
end:设置循环的结束
var:声明循环过过程中的临时遍历
step:设置步长——间隔几次循环,执行一次循环体中的内
items:指定要循环的对象
varStatus:保存了当前循环过程中的信息(循环的开始、结束、步长、次数等)
* forEach标签的主要用法有下面两种:
1. 遍历集合
<c:forEach items="集合" var="x">
${x}
</c:forEach>
2. 普通for循环
<c:forEach begin="1" end="10" step="1" var="x">
${x}
</c:forEach>
ArrayList<String> list = new ArrayList<>();
list.add("马冬梅");
list.add("夏洛");
list.add("秋雅");
session.setAttribute("list",list);
<%--循环
items代表要被遍历的集合
var代表遍历出的变量名
varStatus了解即可,可以获取遍历的索引等信息,
--%>
<c:forEach items="${list}" var="a" varStatus="s">
${s.index} : ${a}
</c:forEach>
<%--循环输出1-10
begin代表开始 end代表结束
step代表每次加几 写1就相当于java中的++
var代表遍历时的变量名
--%>
<c:forEach begin="1" end="10" step="1" var="i">
${i}
</c:forEach>
mvc模式(理解)
MVC是Model-View-Controller(模型-视图-控制器)的简称,其主要作用是将视图展示和业务控制代码分离开来。
* Model(模型): 指的就是数据或者数据的来源
通常指的是实体类
* View (视图): 指的就是可视化界面
通常指的是jsp或html页面
* Controller(控制器): 控制器作用于模型和视图上,负责请求的调度,它使视图与模型分离开来
通常指的是Servlet
在写代码的时候,我们要做到解耦,model里面就是定义数据,View里面就是展示数据,Controller里面就是处理逻辑
三层架构(重点)
为了实现代码的层次清晰,分工明确,通常会将一个应用划分成三层架构:
表示层、业务逻辑层、数据访问层。
- 表示层(web层):与浏览器进行数据交互,接受请求处理相应
- 业务层(service层): 专门用于处理业务逻辑
- 持久层(dao层): 与数据库进行数据交换
三层结构是为了让代码分工明确,代码量越多 逻辑越复杂 越能体现三层结构的好处
大家不要研究用一层解决问题…
并且注意,三层结构不能跨层调用,也就是说不能使用web层直接访问dao层