JSP引擎:(服务器)
JSP 执行阶段:
- 翻译阶段:JSP文件会被Web容器中的JSP引擎转化成 Java 源码
- 编译阶段:Java 源码会被编译成可执行的字节码
- 执行阶段:容器接受了客户端的请求后,执行编译成字节码的JSP文件;处理完请求之后,容器把生成的页面反馈给客户
**注意:**如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译。
JSP 页面的元素包括:
指令:
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="date.jsp" %>
注释、表达式、小脚本:(java 表达式)
<body>
<%-- 表达式 --%>
<% int a = 5;%>
<%-- 小脚本 --%>
<%=a%>
<%=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss").format(new Date())%>
</body>
声明:
<%-- 声明全局变量 --%>
<%!
int a = 5;
%>
<%
a++;
%>
<%=a%>
<br>
<%-- 局部变量 --%>
<%
int b = 5;
b++;
%>
<%=b%>
</body>
注意:声明之后服务器运行一次值就会自增一次,而未声明的则不会自增,一直都是初始值。
JSP指令:
JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。
语法格式如下:
<%@ directive attribute="value" %>
JSP中的三种指令标签:
Page指令:
Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。
下表列出与Page指令相关的属性:
Page指令的语法格式:
<%@ page attribute="value" %>
等价的xml格式:
<jsp:directive.page attribute="value" />
Include指令:
JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
Include指令的语法格式如下:
<%@ include file="文件相对 url 地址" %>
等价的xml语法:
<jsp:directive.include file="文件相对 url 地址" />
Taglib指令:
JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
Taglib指令的语法:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
等价的xml语法:
<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />
MVC 模式:
MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
- Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
- View(视图) - 视图代表模型包含的数据的可视化。
- Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。