提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
3.4JSP 缺点
1.监听器Listener
概述:监听器可以监听就是在 application , session , request 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。
application 是 ServletContext 类型的对象。
2.监听器分类
3.JSP
JSP = HTML + Java
3.1 引入jsp依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency
3.2 jsp原理
JSP 本质上就是一个 Servlet
3.3 jsp脚本分类
JSP 脚本有如下三个分类:
<%...%>:内容会直接放到_jspService()方法之中
<%=…%>:内容会放到out.print()中,作为out.print()的参数
<%!…%>:内容会放到_jspService()方法之外,被类直接包含
JSP 缺点
1. 书写麻烦:特别是复杂的⻚⾯
既要写 HTML 标签,还要写 Java 代码
2.阅读麻烦
3.不利于团队协作:前端⼈员不会 Java,后端⼈员不精 HTML
1. 第⼀阶段:使⽤ servlet 即实现逻辑代码编写,也对⻚⾯进⾏拼接。这种模式我
们之前也接触过
2. 第⼆阶段:随着技术的发展,出现了 JSP ,⼈们发现 JSP 使⽤起来⽐
Servlet ⽅便很多,但是还是要在 JSP 中嵌套 Java 代码,也不利于后期的
维护
第三阶段:使⽤ Servlet 进⾏逻辑代码开发,⽽使⽤ JSP 进⾏数据展示
4.EL 表达式
EL 表达式的主要作用是:获取数据。其实就是从域对象中获取数据,然后将数据展示在页面上。
语法:${expression} 。例如:${brands} 就是获取域中存储的 key 为 brands 的数据。
5.JSTL标签
JSP标准标签库(Jsp Standarded Tag Library) ,使用标签取代JSP页面上的Java代码。
if标签
<c:if> :相当于 if 判断,属性:test,用于定义条件表达式。
<c:if test="${flag == 1}">
男
</c:if>
forEach 标签
items:被遍历的容器 ,var:遍历产生的临时变量
<c:forEach items="${brands}" var="brand">
</c:forEach>
类似于 Java 中的增强for循环。涉及到的 <c:forEach> 中的属性如下
items:被遍历的容器
var:遍历产⽣的临时变量
varStatus:遍历状态对象
类似于 Java 中的普通for循环。涉及到的 <c:forEach> 中的属性如下
begin:开始数
end:结束数
step:步⻓
6.域对象
JavaWeb中有四大域对象,分别是:
page:当前页面有效
request:当前请求有效
session:当前会话有效
application:当前应用有效
作用范围依次变大。