学生信息管理2.0
上一版本:学生信息管理1.0
优化内容:
1.前端优化:将显示所有学生内容以表格的形式显示,增删改操作成功后,直接跳转到显示所有学生内容页面查看操作结果,操作失败则打印失败提示语句。
2.后台代码的封装:以接口和实现类的方式来拆解StudentDao和StudentService加强代码的可读性。
3.引入DBUtil工具类:将dao层操作数据库时的大量重复代码,封装成DBUtil工具类实现通用的增删改查。
应用实例:运用三层架构实现对学生信息得增删改查
项目目录结构图
1.需要用到的数据库与数据表
create database test;
use test;
drop table if exists student;
create table student(
s_id int not null primary key,
s_name varchar(20),
s_age int,
s_address varchar(20)
)
select * from student;
insert into student(s_id,s_name,s_age,s_address) values (1,'小黑',19,'妖灵会馆');
insert into student(s_id,s_name,s_age,s_address) values (2,'小白',18,'龙游市');
insert into student(s_id,s_name,s_age,s_address) values (3,'无限',27,'妖灵会馆');
insert into student(s_id,s_name,s_age,s_address) values (4,'阿根',23,'龙游市');
insert into student(s_id,s_name,s_age,s_address) values (5,'谛听',23,'蓝溪阁');
insert into student(s_id,s_name,s_age,s_address) values (6,'老君',27,'蓝溪阁');
insert into student(s_id,s_name,s_age,s_address) values (7,'玄离',23,'蓝溪阁');
insert into student(s_id,s_name,s_age,s_address) values (8,'比丢',5,'后山森林');
insert into student(s_id,s_name,s_age,s_address) values (9,'山新',18,'龙游市');
数据表结构图
2.导入数据库驱动包目录WebContent下的WEB-INF的lib文件夹中,选中改jar包:右键build path—>点击add build path
3.在WebContent目录下新建index,addstudent和updatestudent三个jsp页面
index.jsp
<%@page import="com.xiaochen.entity.Student"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<!-- 表头内容 -->
<tr>
<td>学号</td>
<td>姓名</td>
<td>年龄</td>
<td>地址</td>
<td>操作</td>
</tr>
<%
//获取request域中的数据
List<Student> students=(List<Student>)request.getAttribute("students");
for(Student student:students){
%>
<tr>
<td><a href="QueryStudentBySnoServlet?sid=<%=student.getId() %>"><%=student.getId() %></a></td>
<td><%=student.getName() %></td>
<td><%=student.getAge() %></td>
<td><%=student.getAddress() %></td>
<td><a href="DeleteStudentServlet?sid=<%=student.getId() %>">删除</a></td>
</tr>
<%
}
%>
</table>
<a href="addstudent.jsp">新增</a><br>
</body>
</html>
addstudent.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 将该表单数据传递到StudentServlet处理 -->
<form action="AddStudentServlet" method="post">
学号:<input type="text" name="sid"><br>
姓名:<input type="text" name="sname"><br>
年龄:<input type="text" name="sage"><br>
地址:<input type="text" name="saddress"><br>
<input type="submit" value="新增">
<a href="QueryAllStudentServlet">返回</a>
</form>
</body>
</html>
updatestudent.jsp
<%@page import="com.xiaochen.entity.Student"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"&g