JSP
- 概念:Java Server Pages,Java服务端页面
- 一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java 代码的动态内容
- JSP = HTML + Java
- JSP的作用:简化开发,避免了在 Servlet 中直接输出 HTML标签
JSP 快速入门
-
导入 JSP 坐标
-
创建 JSP 文件
-
编写 HTML 标签 和 Java 代码
JSP 原理
- 概念: Java Server Pages,Java服务端页面
- JSP = HTML + Java,用于简化开发的
- JSP本质上就是一个 Servlet
- JSP 在被访问时,由 JSP 容器(Tomact)将其转换为 Java 文件(Servlet),再由 JSP容器(Tomact)将其编译,最终对外提供服务的其实就是这个字节码文件
JSP脚本
- JSP脚本用于在 JSP 页面内定义 Java文件
- JSP 脚本分类:
- <%…%>:内容会直接放到_jspService()方法中
- <%=…%>:内容会放到out.print()中,作为out.print()的参数
- <%!..%>:内容会放到_jspService()方法中,被类直接包含
JSP缺点
-
由于JSP页面内,既可以定义 HTML 标签,又可以定义 Java代码,造成了以下问题:
- 书写麻烦:特别是复杂的页面
- 阅读麻烦
- 复杂度高:运行需要依赖于各种环境 ,JRE,JSP容器,JavaEE
- 占内存和磁盘:JSP会自动生成.java和.class文件占磁盘,运行的是.class文件占内存
- 调试困难:出错后,需要找到自动生成的.java文件进行调试
- 不利于团队合作:前端人员不会 Java,后端人员不会 HTML
EL表达式
-
Expression Language 表达式语言,用于简化 JSP页面内的Java代码
-
主要功能:获取数据
-
语法:${expression}
-
获取域中存储的 key 为 brands的数据
-
JavaWeb中的四大域对象:
- page:当前页面有效
- request:当前请求有效
- session:当前会话有效
- application:当前应用有效
el表达式获取数据,会依次从这4个域中寻找,直到找到为止
JSTL标签
- JSP标准标签库(Jsp Standarded Tag Library),使用标签取代 JSP 页面上的 Java代码
JSTL快速入门
-
导入坐标
-
在 JSP 页面上引入 JSTL标签库
-
使用
- < c:if>
- < c:if>
-
< c:forEach>:相当于 for 循环
- items:被遍历的容器
- var:遍历产生的临时变量
- varStatus:遍历状态对象
-
begin:开始数
-
end:结束数
-
step:步长
MVC 模式和三层架构
-
MVC模式
- MVC是一种分层开发的模式,其中:
- M:Model,业务模型,处理业务
- V:View,视图,界面展示
- C:Controller,控制器,处理请求,调用模型和视图
- MVC好处:
- 职责单一,互不影响
- 有利于分工协作
- 有利于组件重用
- MVC是一种分层开发的模式,其中:
-
三层架构
- 数据访问层:对数据库的 CRUD 基本操作
- 业务逻辑层:对业务逻辑进行封装,组合数据访问层层中基本功能,形成复杂的业务逻辑功能
- 表现层:接收请求,封装数据,调用业务逻辑层,响应数据