一、业务逻辑图
浏览器请求发给服务器后,先由Servlet处理之后发给视图层,再响应给浏览器。
二、功能实现:查找所有部门
1.数据库层:
//查询所有部门
@Override
public List<Department> findAll() {
//声明jdbc对象
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
//声明变量
List<Department> ld=null;
try {
//创建连接
conn=DBUtil.getConnection();
//创建SQL语句
String sql="select * from dept";
//创建SQL语句对象
ps=conn.prepareStatement(sql);
//执行SQL命令
rs=ps.executeQuery();
//为集合赋值
ld=new ArrayList<>();
//遍历
while(rs.next()){
Department dept=new Department();
dept.setDeptno(rs.getInt("deptno"));
dept.setDeptname(rs.getString("deptName"));
dept.setLocation(rs.getString("location"));
ld.add(dept);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//关闭资源
DBUtil.closeAll(rs, ps, conn);
}
//返回集合
return ld;
}
2.视图层
这里使用了el表达式的foreach方法,不懂的话可以去翻之前的笔记EL表达式
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePa