1. jsp就是 让 数据库 ,html 显示, 服务器逻辑端, 可以比较聚合的 放在一起,
首先 jsp 是运行在 服务器端的 脚本语言,(继承了servlet的很多东西)
1-1.客户端 发出一个请求给 服务器端,------服务端根据请求 把jsp页面加载,-------web服务器把jsp编译成 servlet-------继而转化为 class文件,------执行结果 出来给 浏览器
2 .2 servlet 就是一个 用于 接收 req 和resp 的 服务端的 组件, 用于 处理 用户的 请求,并且 给出 相应的 处理结果,(涉及到serlet的 一般需要 改 xml文件,比如 servletconfig, servletcontext)
API 中常用的 就是:req和resp,getp ,geta ,seta
req还有 个 转发 getRD resp的 还有个 重定向 sedR(“servlet / jsp”)
3.3 但是 仅仅在 servlet 里面 进行 输出 web的 显示部分,十分的无力,
为了 实现 静态和 动态的 分离, 才 进一步的 发展出了 jsp,
4.4 为了 在 jsp 中 更加方便的 使用 一些 servlet 逻辑端传过来的 资源, 我们 引出了 jsp 的内建对象,
四大类, 9个具体的 对象:
输入和输出对象 req resp out
通信域: session appli pageC
servlet对象: config page
错误对象: 会需要在 xml中配置,也需要在 jsp 中 配置,404文件没找到,
5.5 jsp中的 引入包 <%@page import="entity.student"%>
引入 核心的 标签库 <%@taglib uri=" http://java....core" prefix="c" %>
为了 更加 方便的 使用 从 servlet 中传过来的 Map和 List,
我们 引入了 核心库, 核心 标签库的 通用标签有
5.5-3 <c:out value="book">--------直接输出的,
最重要的 是 遇到了 List<stu> list,记住
<c:forEachvar="mlist" items="${list}" varstatus="v" >
<br/>${mlist.studentname}
</c:foreach>
遇到 Map
<c:forEach var="map" items="${bookmap}" varstatus="v" >
<br/>${bookmap.key} 可以把 键输出来
<br/>${bookmap.value.bookid} 当 值为 一个对象时,
</c:foreach>
如果遇到了 那种 根据 状态 改变 颜色的
<c:forEach var="klist" items="${freelist }" varStatus="v">
<c:if test="${klist.housetype eq '普通间' }">
<tr bgcolor="yellow">
</c:if>
<c:if test="${klist.housetype eq '单人间' }">
<tr bgcolor="blue">
</c:if>
<td>${klist.houseid } ${klist.housetype }</td>
</tr>
或者是 </c:forEach>
<c:if test="${klist.housestate eq 0}">
<font style="color:yellow;"> ${klist.housetype }</font>
</c:if>
简单点的 还有 <c:choose> 相当于 switch的
<c:when test="${klist.housestate eq 0}"> 相当于case
<font style="color:yellow;"> ${klist.housetype }</font>
</c:when>
</c:choose>
此外还有 <fmt>格式化标签库