系统功能分析
1.1 功能模块
宿舍管理系统实现的功能主要分三大类:系统用户的注册登录验证、对宿舍信息的增删改查、对学生信息的增删改查。
-
-
- 系统用户的登录注册验证
-
登录时,通过用户名和密码判断是否有此用户;注册时,不允许注册相同用户名的用户。为防止多次注册,设置邮箱验证码功能。基础抽象类如下:
public boolean login(String username, String password) throws Exception;//登录验证 public boolean register(UserBean userBean) throws SQLException ;//注册用户 public boolean addUser(UserBean userBean);//增加用户 |
-
-
- 宿舍信息增删改查
-
宿舍功能模块的增删改查有许多限制条件,如增加宿舍时,宿舍楼号只能在01-10之间,当宿舍入住学生时不可删除,宿舍楼号作为唯一标识不可新修改,查询宿舍时可以多条件联合模糊查询。基础抽象类如下:
public boolean addDorm(Dormbean dormbean) throws SQLException ;//增加宿舍信息 public boolean delDorm(Dormbean dormbean) throws SQLException;//删除宿舍信息 public boolean updateDorm(Dormbean dormbean) throws SQLException ;//更新宿舍信息 public ArrayList selectDorm(Dormbean dormbean) throws SQLException ;//查询宿舍信息 public ArrayList showAllDorm() throws SQLException;//展示所有宿舍信息 public int dormTotalCount(Dormbean dormbean);//获取宿舍个数 public Dormbean selectDormById(int id) throws SQLException;//根据id查询宿舍 public boolean updateDormQuantity(Dormbean dormbean); //更新宿舍当前人数 |
-
-
- 学生信息增删改查
-
学生信息的增删改查需要做到多表联动,增加学生信息并选择宿舍的时候需要和宿舍表进行联合操作,根据学生的性别及宿舍已入住人数判断学生信息是否可以添加成功;删除学生信息时,为防止误删,提供了事务回滚操作;因学生信息较多,提供了批量删除和分页功能操作;查询时可以多条件模糊查询;学生学号作为唯一标识,不可修改。抽象基础类如下:
public ArrayList showStudentByPage(int status,int nowPage,int step) throws SQLException;//分页展示所有学生信息 public int StudentTotalCount(int status,StudentBean studentBean);//根据学生状态获得学生个数 public ArrayList selectStudents(int status,int nowPage,int step,StudentBean studentBean) throws SQLException ;//根据条件查询学生信息并分页 public boolean addStudent(StudentBean studentBean) throws SQLException ;//增加学生信息 public boolean updateStudent(StudentBean studentBean);//更新学生信息 public boolean updateStatusStudent(int id,int status);//更新学生状态 public boolean delStudent(int id); //根据id删除学生 public boolean delAllStudent(String[] id); //根据id数组批量删除学生 public boolean updateAllStudent(String[] id);//根据id数组批量改变学生信息状态 |
-
- 系统运行环境
项目开发工具为Spring Tool Suite ,版本为3.9.7.RELEASE;数据库为mysql数据库,版本为5.5.53;服务器为Tomcat服务器,版本为8.5.37。
二、后台数据库设计
2.1 数据库dormitory
数据库中共有三张表管理员信息表user,宿舍信息表dorm,学生信息表student。
2.2 用户信息表user
用户信息表包含5个字段信息,对应着系统用户的登录注册验证模块,表结构如下所示。
用户信息表
字段名 | 字段类型 | 字段长度 | 意义 | 备注 |
id | int | 11 | 数据编号 | 主键 |
username | varchar | 10 | 用户名 | |
password | varchar | 15 | 密码 | |
| varchar | 20 | 邮箱 | |
realname | varchar | 10 | 真实姓名 |
2.3宿舍信息表
宿舍信息表包含七个字段,对应着宿舍信息增删改查的功能模块,表结构如下:
宿舍信息表
字段名 | 字段类型 | 字段长度 | 意义 | 备注 |
id | int | 5 | 数据编号 | 主键 |
house | varchar | 3 | 哪一栋 | |
build | varchar | 5 | 哪一座 | |
number | varchar | 10 | 门牌号 | |
attribute | varchar | 5 | 男女宿舍 | |
quantity | int | 2 | 当前人数 | |
status | int | 2 | 是否可用 | 可用为1;不可用为0 |
2.4学生信息表
学生信息表包含12个字段,对应着学生信息增删改查的功能模块,表结构如下:
学生信息表
字段名 | 字段类型 | 字段长度 | 意义 | 备注 |
id | int | 11 | 数据编号 | 主键 |
sid | int | 11 | 学号 | |
dormID | int | 5 | 对应宿舍ID | |
sname | varchar | 10 | 学生姓名 | |
ssex | varchar | 5 | 学生性别 | |
sbirthday | date | 出生日期 | ||
smajor | varchar | 30 | 专业 | |
scollege | varchar | 20 | 学院 | |
sentranceT | int | 5 | 入学时间 | |
stelephone | varchar | 15 | 电话 | |
img | varchar | 20 | ||
status | int | 2 | 学生状态 | 默认为1,代表住宿中;2代表已离开 |
三、系统模块划分
3.1 用户模块
用户模块主要涉及用户登录和用户注册功能,为实现这两个功能,涉及了五个方法,从而对数据库进行操作,所有方法如下:
public boolean isUserExist(String username, String password) throws SQLException;//登录时根据用户名和密码判断用户是否存在 public boolean addUser(UserBean userBean);//增加用户 public boolean updateUser(UserBean userBean);//更新用户信息 public boolean selectByUserName(String username) throws SQLException;//注册用户时,先根据用户名查找此用户名是否已被注册 public UserBean selectUser(String username, String password);//根据用户名和密码,返回用户的详细信息 |
3.1.1 用户登录模块
用户登录模块需要根据用户输入的密码和用户名,对数据库中存储的数据进行查询,如果查询到对应数据,则允许登录,反之,则不允许登录。
3.1.2用户注册模块
用户注册时因为用户名为唯一标识,所以不允许注册有相同用户名的账号,为了防止重复注册,用户在注册时,需要填写自己的邮箱地址,系统会向用户邮箱发送验证码,验证码正确时才允许注册。
3.2 宿舍模块
宿舍模块包括对用户的增删改查操作,为实现这些操作,涉及了以下的方法:
public boolean addDorm(Dormbean dormbean) ;//增加宿舍 public boolean delDorm(Dormbean dormbean) throws SQLException;//删除宿舍 public boolean updateDorm(Dormbean dormbean) ;//更新宿舍 public ArrayList selectDorm(Dormbean dormbean) throws SQLException ;//查询复合条件的宿舍 public ArrayList showAllDorm() throws SQLException;//展示所有宿舍 public boolean isExitDorm(Dormbean dormbean) throws SQLException;//判断宿舍是否存在 public Dormbean selectDormById(int id) throws SQLException ;//根据宿舍编号查询宿舍并返回宿舍信息 public int dormTotalCount(Dormbean dormbean) ;//返回宿舍总数 public boolean updateDormQuantity(int id,int quantity) ;//根据宿舍id更新宿舍学生数,插入学生时使用 public Dormbean selectDormByDormbean(Dormbean dormbean) throws SQLException; //根据条件返回宿舍 |
3.2.1 宿舍信息的增加
增加宿舍信息时,首先在前台已经对宿舍信息进行了验证,防止不合法的输入。在确保验证和法的情况下,查询将要创建的宿舍是否已经存在,如已经存在,则提示用户此宿舍已存在,创建失败;如宿舍不存在,则创建成功。
3.2.2 宿舍信息的删除
删除宿舍信息时,会先判断当前宿舍的人数,若当前宿舍人数为0,则可以删除宿舍,若当前宿舍仍有学生入住,则不可删除。
3.2.3 宿舍信息的更改
宿舍信息的楼号,栋号,门牌号作为宿舍的唯一标识不可修改,可修改宿舍的使用状态和可入住学生的性别。因此,在修改宿舍信息之前会判断宿舍当前人数,若宿舍人数为0,则可以修改;若不为0,则不允许修改。
3.2.4 宿舍信息的查询
宿舍信息查询支持对宿舍座号、栋号、门牌号、入住学生性别、当前入住人数的多条件联合查询。
3.3学生模块
学生模块包括对学生信息的增删改查,批量操作,信息分页的功能,涉及了以下的方法:
public ArrayList showStudentByPage(int status,int nowPage,int step) throws SQLException ;//学生信息分页 public int studentTotalCount(int status,StudentBean studentBean) ;//返回学生总数 public ArrayList selectStudents(int status,int nowPage, int step,StudentBean studentBean) throws SQLException;//根据查询条件实现学生信息分页 public boolean addStudent(StudentBean studentBean);//增加学生信息 public boolean isExistStudent(int sid) throws SQLException ;//根据学生学号判断学生是否存在 public StudentBean selectStudentById(int id) throws SQLException;//根据学生主键查询相对应学生信息 public boolean updateStudent(StudentBean studentBean);//更新学生信息 public boolean updateStatusStudent(int id,int status);//根据学生主键更新学生状态 public boolean delStudent(int id); //根据主键删除单个学生 public boolean delAllStudent(String[] id); //根据主键数组批量删除学生 public boolean updateAllStudent(String[] id); //根据主键恢复被删除的学生 |
3.3.1学生信息的增加
增加学生信息时首先在前端进行表单验证,防止不合法的输入。在增加学生信息时,需要为其入住相应的宿舍,入住宿舍时需要进行判断,当宿舍存在时,判断学生性别以及当前宿舍人数,来判断学生是否能够入住;当宿舍不存在时,则为学生创建相对应的宿舍进行入住,入住成功后,对应的宿舍信息表中的宿舍人数数据进行加一。
3.3.2学生信息的删除
为防止用户误删学生信息,系统提供了事务回滚机制,切因学生信息较多,提供了批量删除机制。当学生信息真正从数据库中删除的时候,对应的学生宿舍的宿舍人数会减一。
3.3.3学生信息的修改
学生学号作为学生信息的唯一标识不可修改,可以对学生的姓名、学院、专业、出生日期、入学年份、联系电话进行修改。
3.3.4学生信息的查询
因为学生信息较多,所以对学生数据进行了分页,支持对学生学号、姓名、性别、专业、学院入学年份的多条件模糊查询。
- 系统实现
4.1用户注册页面
4.1.1注册功能实现代码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String code = request.getParameter("code");
HttpSession session = request.getSession();
if (session.getAttribute("code")!=null) {
if ((code.equals(session.getAttribute("code")))) {
session.removeAttribute("code");
UserBean userBean = new UserBean();
userBean.setUsername(request.getParameter("username"));
userBean.setPassword(request.getParameter("password"));
userBean.setEmail(request.getParameter("email"));
UserServiceImpl userServiceImpl = new UserServiceImpl();
try {
if (userServiceImpl.register(userBean)) {
response.getWriter().print("注册成功");
}
else {
response.getWriter().print("此用户名已存在,请更换用户名");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
session.removeAttribute("code");
response.getWriter().print("验证码错误");
}
}
else {
response.getWriter().print("还未获取验证码");
}
4.1.2发送邮件功能实现代码
package com.gzf.util;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class EmailUtil {
public static void createMimeMessage(String email,String content) throws UnsupportedEncodingException, MessagingException {
Properties properties = new Properties();
// 使用的协议
properties.setProperty("mail.transport.protocol", "smtp");
//qq邮箱协议地址
properties.setProperty("mail.smtp.host", "smtp.qq.com");
//端口号
properties.setProperty("mail.smtp.port", "465");
//是否需要授权
properties.setProperty("mail.smtp.auth", "true");
//qq:ssl安全认证
//引用需要的类
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
//是否处理未经SSL认证的信息
properties.setProperty("mail.smtp.socketFactory.fallback", "true");
//SSL认证的端口号
properties.setProperty("mail.smtp.socketFactory.port", "465");
Session session = Session.getInstance(properties);
// MimeMessage定义了大多数消息公共属性的抽象获取和设置方法
MimeMessage mimeMessage = new MimeMessage(session);
// 设置发件人地址信息
Address address = new InternetAddress("1226164732@qq.com","gzf","utf-8");
mimeMessage.setFrom(address);
mimeMessage.setSubject("来自谷占方的邮件","utf-8");
content = "您正在注册宿舍管理系统管理员,验证码为"+content;
mimeMessage.setContent(content, "text/html;charset=utf-8");
//设置传送日期
mimeMessage.setSentDate(new Date());
//设置接收人, .to为正常发送 .cc为抄送 .bcc为密送
mimeMessage.setRecipient(RecipientType.TO,new InternetAddress(email, "小可爱", "utf-8"));
//保存邮件
mimeMessage.saveChanges();
//实例化一个对象,单例模式
session.setDebug(true);
//创建邮箱
//建立连接对象
Transport transport = session.getTransport();
//此处QQ必须填密钥而不是密码
transport.connect("1226164732@qq.com", "xaetrwzpaknkgeeb");
//进行发送
transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
//关闭连接
transport.close();
}
}
4.2宿舍操作界面
4.2.1更改宿舍信息
4.2.2实现代码如下
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
int id = Integer.parseInt(request.getParameter("id"));
int status = Integer.parseInt(request.getParameter("status"));
String house=null;
String attribute = null;
if (request.getParameter("house")!=null) {//说明是通过表单提交更改性别
house = request.getParameter("house");
attribute = request.getParameter("attribute");
}
Dormbean dormbean = new Dormbean();
dormbean.setId(id);
dormbean.setStatus(status);
dormbean.setHouse(house);
dormbean.setAttribute(attribute);
IDormService iDormService = new DormServiceImpl();
try {
response.getWriter().println(iDormService.updateDorm(dormbean));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
4.3学生列表界面
4.3.1 学生分页显示列表
学生列表实现了分页操作,方便用户浏览信息,并能够在页面中提示当前学生总数,以及页数,在进行搜索之后仍能对学生信息进行分页。
4.3.2搜索页面信息分页实现代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
HttpSession session = request.getSession();
StudentBean studentBean = new StudentBean();
int nowPage;
int step = 5;
if (request.getParameter("nowPage")==null) {//为null说明是通过按钮提交
nowPage = 1;
int sid = 0;
if (request.getParameter("sid")!="") {
sid = Integer.parseInt(request.getParameter("sid"));
}
String sname = request.getParameter("sname");
String ssex = request.getParameter("ssex");
String smajor = request.getParameter("smajor");
String scollege = request.getParameter("scollege");
int sentranceT = 0;
if (request.getParameter("sentranceT")!="") {
sentranceT = Integer.parseInt(request.getParameter("sentranceT"));
}
studentBean.setSid(sid);
studentBean.setSname(sname);
studentBean.setSsex(ssex);
studentBean.setSmajor(smajor);
studentBean.setScollege(scollege);
studentBean.setSentranceT(sentranceT);
session.setAttribute("studentBean", studentBean);
}
else { //不为空说明为通过页码提交搜索
nowPage = Integer.parseInt(request.getParameter("nowPage"));
studentBean = (StudentBean) session.getAttribute("studentBean");
}
int status = 1 ;
System.out.println("servlet中的studentbean为"+studentBean);
IStudentService iStudentService = new StudentServiceImpl();
int totalCount = iStudentService.StudentTotalCount(status,studentBean);
ArrayList studentBeans = new ArrayList();
try {
studentBeans = iStudentService.selectStudents(status,nowPage, step, studentBean);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator iterator = studentBeans.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
PageUtil pageUtil = new PageUtil();
pageUtil.setList(studentBeans);
pageUtil.setTotalCount(totalCount);
pageUtil.setStep(step);
pageUtil.setNowPage(nowPage);
request.setAttribute("pageUtil", pageUtil);
request.getRequestDispatcher("student-select.jsp").forward(request, response);
}
4.3.3分页帮助类
package com.gzf.util;
import java.util.ArrayList;
public class PageUtil {
private int totalCount;
private int step;
private int totalPage;
private int nowPage;
private ArrayList list;
public PageUtil(int totalCount, int step, int totalPage, int nowPage, ArrayList list) {
super();
this.totalCount = totalCount;
this.step = step;
this.totalPage = totalPage;
this.nowPage = nowPage;
this.list = list;
}
public PageUtil() {
super();
// TODO Auto-generated constructor stub
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getStep() {
return step;
}
// 在这里定义了总页数,因此需要先定义数据总数,再定义每页显示数量
public void setStep(int step) {
this.step = step;
if(this.totalCount % this.step ==0) {
this.totalPage = this.totalCount / this.step;
}
else {
this.totalPage = this.totalCount / this.step + 1;
}
}
public int getTotalPage() {
return totalPage;
}
public int getNowPage() {
return nowPage;
}
public void setNowPage(int nowPage) {
this.nowPage = nowPage;
}
public ArrayList getList() {
return list;
}
public void setList(ArrayList list) {
this.list = list;
}
}
4.4学生信息查询
支持对学生信息到的多条件模糊查询。
4.4.1页面展示
4.4.2实现代码
public ArrayList selectStudents(int status,int nowPage, int step,StudentBean studentBean) throws SQLException {
// TODO Auto-generated method stub
String sql = "SELECT * FROM student where status = ?";
if (studentBean.getSid()==0) {
sql = sql + " and sid != ?";
}
else {
sql = sql + " and sid like ?";
}
if (studentBean.getSname()=="") {
sql = sql + " and sname != ?";
}
else {
sql = sql + " and sname like ?";
}
if (studentBean.getSsex()=="") {
sql = sql + " and ssex != ?";
}
else {
sql = sql + " and ssex = ?";
}
if (studentBean.getSmajor()=="") {
sql = sql + " and smajor != ?";
}
else {
sql = sql + " and smajor like ?";
}
if (studentBean.getScollege()=="") {
sql = sql + " and scollege != ?";
}
else {
sql = sql + " and scollege like ?";
}
if (studentBean.getSentranceT()==0) {
sql = sql + " and sentranceT != ?";
}
else {
sql = sql + " and sentranceT like ?";
}
sql = sql + " LIMIT ?,?";
System.out.println("*******"+sql+"------"+status);
Object [] params = {status,"%"+studentBean.getSid()+"%","%"+studentBean.getSname()+"%",studentBean.getSsex(),
"%"+studentBean.getSmajor()+"%","%"+studentBean.getScollege()+"%","%"+studentBean.getSentranceT()+"%",
nowPage*step-step,step};
ResultSet resultSet = DButil.select(sql, params);
ArrayList studentBeans = new ArrayList();
while(resultSet.next()) {
StudentBean studentBean2 = new StudentBean();
studentBean2.setId(resultSet.getInt("id"));
studentBean2.setSid(resultSet.getInt("sid"));
studentBean2.setDormID(resultSet.getInt("dormID"));
studentBean2.setSname(resultSet.getString("sname"));
studentBean2.setSsex(resultSet.getString("ssex"));
studentBean2.setSbirthday(resultSet.getString("sbirthday"));
studentBean2.setSmajor(resultSet.getString("smajor"));
studentBean2.setScollege(resultSet.getString("scollege"));
studentBean2.setSentranceT(resultSet.getInt("sentranceT"));
studentBean2.setStelephone(resultSet.getString("stelephone"));
studentBean2.setImg(resultSet.getString("img"));
studentBean2.setStatus(resultSet.getInt("status"));
studentBeans.add(studentBean2);
}
return studentBeans;
}
4.5增加学生信息
在增加学生信息时,需要为其入住相应的宿舍,入住宿舍时需要进行判断,当宿舍存在时,判断学生性别以及当前宿舍人数,来判断学生是否能够入住;当宿舍不存在时,则为学生创建相对应的宿舍进行入住,入住成功后,对应的宿舍信息表中的宿舍人数数据进行加一。
4.5.1 页面展示
4.5.2实现代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//获取学生信息,attribute为性别,学号表和宿舍表共用
int sid = Integer.parseInt(request.getParameter("sid"));
int sentranceT = Integer.parseInt(request.getParameter("sentranceT"));
String sname = request.getParameter("sname");
String sbirthday = request.getParameter("sbirthday");
String smajor = request.getParameter("smajor");
String scollege = request.getParameter("scollege");
String stelephone = request.getParameter("stelephone");
String house = request.getParameter("house");
String build = request.getParameter("build");
String number = request.getParameter("number");
String attribute = request.getParameter("attribute");
int status = Integer.parseInt(request.getParameter("status"));
// 查询验证输入的宿舍是否可以入住,验证包括宿舍是否存在,性别,以及入住状态
Dormbean dormbean = new Dormbean();
dormbean.setHouse(house);
dormbean.setBuild(build);
dormbean.setNumber(number);
dormbean.setAttribute(attribute);
dormbean.setStatus(status);
IDormDao iDormDao = new DormDAoImpl();
//检测学生是否存在
IStudentDao iStudentDao = new StudentDaoImpl();
try {
if (iStudentDao.isExistStudent(sid)) {
response.getWriter().print("此学生学号已存在,无法添加");
}
else {
try {
if (iDormDao.isExitDorm(dormbean)) {//当宿舍存在时
System.out.println("此宿舍存在");
Dormbean dormbean2 = iDormDao.selectDormByDormbean(dormbean);
System.out.println(dormbean2);
if (dormbean2.getQuantity()==6) {
System.out.println("当前宿舍人数已满,请为此学生更换宿舍");
response.getWriter().print("当前宿舍人数已满,请为此学生更换宿舍");
}
else {
if (!(dormbean2.getAttribute().equals(attribute))) {
System.out.println("****----"+dormbean2.getAttribute());
System.out.println(attribute);
System.out.println("当前宿舍不能入住此性别学生");
response.getWriter().print("当前宿舍不能入住此性别学生");
}
else {
if (dormbean2.getStatus()==0) {
System.out.println("当前宿舍未启用,请更换或先启用此宿舍");
response.getWriter().print("当前宿舍未启用,请更换或先启用此宿舍");
}
else {
StudentBean studentBean = new StudentBean();
studentBean.setSid(sid);
studentBean.setDormID(dormbean2.getId());
studentBean.setSname(sname);
studentBean.setSsex(attribute);
studentBean.setSbirthday(sbirthday);
studentBean.setSmajor(smajor);
studentBean.setScollege(scollege);
studentBean.setSentranceT(sentranceT);
studentBean.setStelephone(stelephone);
IStudentService iStudentService = new StudentServiceImpl();
iStudentService.addStudent(studentBean);
System.out.print("已为您创建此学生信息,并入住宿舍");
response.getWriter().print("已为您创建此学生信息,并入住宿舍");
}
}
}
}
else {//当宿舍不存在的时候,先创建宿舍,再入住学生
iDormDao.addDorm(dormbean);
System.out.println(dormbean);
Dormbean dormbean2 = iDormDao.selectDormByDormbean(dormbean);
System.out.println(dormbean2);
StudentBean studentBean = new StudentBean();
studentBean.setSid(sid);
studentBean.setDormID(dormbean2.getId());
studentBean.setSname(sname);
studentBean.setSsex(attribute);
studentBean.setSbirthday(sbirthday);
studentBean.setSmajor(smajor);
studentBean.setScollege(scollege);
studentBean.setSentranceT(sentranceT);
studentBean.setStelephone(stelephone);
IStudentService iStudentService = new StudentServiceImpl();
iStudentService.addStudent(studentBean);
System.out.println("已为您创建此宿舍,并入住此学生");
response.getWriter().print("已为您创建此宿舍,并入住此学生");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
4.6 批量删除学生信息
因为学生信息比较多,当大四同学离校时逐条删除信息比较麻烦,所以提供了批量信息删除功能。
4.6.1页面效果展示
4.6.2 实现代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
System.out.println(request.getParameter("data"));
String data = request.getParameter("data");
String[] id = data.split(",");
IStudentService iStudentService = new StudentServiceImpl();
response.getWriter().println(iStudentService.delAllStudent(id));
}