全称:Java Server Pages, Java服务端页面 描述:一种动态的网页技术,可以在其中定义HTML、JS、CSS等静态内容,以及Java代码的动态内容 说明:JSP = HTML + Java 作用:简化开发,避免了在Servlet中直接输出 HTML 标签
原理:JSP本质上就是一个Servlet。在被访问时,由JSP容器(Tomcat)将其转换为Java文件(Servlet),在由JSP容器将其编译,最终对外提供服务的其实就是这个字节码文件
<dependency>
<groupld>javax.servlet.jsp</groupld>
<artifactld>jsp-api</artifactld>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<body>
<h1>hallo jsp</h1>
<% System.out.printf("jsp hello");%>
</body>
小技巧:
<%
for(int i=0;i<brands.size();i++){
Brand brand = brands.get(i);
}
%>
<tr align="center">
<td>1</td>
<td>三只松鼠</td>
<td>三只松鼠</td>
<td>100</td>
<td>三只松鼠,好吃不上火</td>
<td>启动</td>
<td><a href="#">修改</a><a href="#">删除</a></td>
</tr>
<%
}
%>
说明:<%...%>标签是可以分段的,这样写,只是为了让我们更直观的知道get后值赋给谁
全称:Expression Language 表达式语言,用于简化 JSP页面内的Java代码 主要功能:获取数据 语法:
${expression}
//例子
${brands}//获取域中存储的key为brands的数据
JavaWeb中的四大域对象: 1.page:当前页面有效 2.request:当前请求有效 3.session:当前会话有效 4.application:当前应用有效
el表达式获取数据,会依次从这4个域中寻找,知道找到为止
全称:JSP标准标签库(Jsp Standard Tag Library),使用标签取代JSP页面上的Java代码
//例子
<c:if test="${flag == 1}"> 男 </c:if>
<c:if test="${flag == 2}"> 女 </c:if>
JSTL 库中有很多不同的标签,这里就只说明两个最常用的标签。 其他可点击链接查阅:https://www.runoob.com/jsp/jsp-jstl.html
用来完成逻辑判断,也就是替换Java 代码中的if else
<c:if test="true">
<h1>true</h1>
</c:if>
<c:if test="false">
<h1>false</h1>
</c:if>
当test为中值为ture时,就会执行其包裹的代码块里的代码 一般会和EL表达式配合使用,EL表达式获取数据,<c:if>标签做逻辑判断
MVC 是一种分层开发的模块,其中:
MVC 好处
类似于三层架构