Javaweb学习笔记第十三弹--JSP和Servlet
JSP = HTML + Java
目的是为了简化开发,其本质是一个Servlet
快速入门
步骤:
1、导包
2、创建文件
3、编写程序
得到结果:
JSP脚本(用于在JSP页面里面定义Java代码)
JSP脚本分类:
1、<%...%>——内容会直接放到_jspService()方法中
2、<%=...%>——内容会放到out.print()中,作为out.print()的参数
3、<%!...%>——内容会放到_jspService()方法之外,被类直接包含
JSP脚本里面的Java代码是可以截断的
案例:使用JSP脚本展示品牌数据
<%
for(int i=0;i<length;i++)
{
%>
放置表单相关代码
例如:
<td><%=brand.getId()%></td>获取相应内容
<%
}
%>
JSP缺点
1、书写麻烦,有时需要将Java代码切断
2、阅读性低
3、复杂度高:运行需要依赖于各种环境
4、占内存和磁盘
5、调试困难
6、不利于团队协作
目前主要利用Servlet+JSP的应用方式
EL表达式
主要功能:获取数据
Javaweb中的四大域对象:
1、page:当前页面有效
2、request:当前请求有效
3、session:当前会话有效
4、application:当前应用有效
el表达式获取数据,会依次从这4个域中寻找,直到找到为止
JSTL标签
需要导入相关导包
c:if标签——来完成逻辑判断,替换Java if else
c:forEach标签——相当于for循环(items:被遍历的容器==========var:遍历产生的临时变量)
JSTL标签用${引用的元素名称}代替了JSP中<%=函数名称%>
对于forEach循环,在JSTL中有两种表示方法:
1、
<c:forEach items="${}" var="a">
<tr align="center">
<td>${a.id}</td>
<td>${a.name}</td>
</tr>
</c:forEach>
2、
<c:forEach begin="1" end="10" step="1" var="i">
${i}
</c:forEach>
MVC模式和三层架构
MVC是一种分层开发的模式
优点:职责单一,互不影响;有利于分工合作;有利于组件重用
三层架构
三大框架
javaweb代码需要遵循MVC模式和三层架构的思想
准备环境
在创建完成Maven项目之后,记得将需要用到的包根据之前的那个网站导入到pom.xml文件中,,,对了,一定要记得刷新哦!
接着,为了保证代码的完整性、规范性和可读性,需要根据上述要求,创建三层架构,如图所示:
Web层······Service层······Dao层
Dao层
Brandmapper:List
Service层
BrandService:调用brandMapper:List
Web层
调用service查询,将数据存入request,转发到brand.jsp;然后用c:forEach来遍历(在brand.jsp里面)