毕业设计——java web大作业,通过jsp+servlet实现宿舍管理系统
毕业小助手 2024-06-14 12:03:14 阅读 65
系统功能分析
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<Dormbean> selectDorm(Dormbean dormbean) throws SQLException ;//查询宿舍信息
public ArrayList<Dormbean> showAllDorm() throws SQLException;//展示所有宿舍信息
public int dormTotalCount(Dormbean dormbean);//获取宿舍个数
public Dormbean selectDormById(int id) throws SQLException;//根据id查询宿舍
public boolean updateDormQuantity(Dormbean dormbean); //更新宿舍当前人数
|
学生信息的增删改查需要做到多表联动,增加学生信息并选择宿舍的时候需要和宿舍表进行联合操作,根据学生的性别及宿舍已入住人数判断学生信息是否可以添加成功;删除学生信息时,为防止误删,提供了事务回滚操作;因学生信息较多,提供了批量删除和分页功能操作;查询时可以多条件模糊查询;学生学号作为唯一标识,不可修改。抽象基础类如下:
public ArrayList<StudentBean> showStudentByPage(int status,int nowPage,int step) throws SQLException;//分页展示所有学生信息
public int StudentTotalCount(int status,StudentBean studentBean);//根据学生状态获得学生个数
public ArrayList<StudentBean> 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
|
| 11
| 数据编号
| 主键
|
username
| varchar
| 10
| 用户名
|
|
password
| varchar
| 15
| 密码
|
|
| varchar
| 20
| 邮箱
|
|
realname
| varchar
| 10
| 真实姓名
|
|
2.3宿舍信息表
宿舍信息表包含七个字段,对应着宿舍信息增删改查的功能模块,表结构如下:
宿舍信息表
字段名
| 字段类型
| 字段长度
| 意义
| 备注
|
id
|
| 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
|
| 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<Dormbean> selectDorm(Dormbean dormbean) throws SQLException ;//查询复合条件的宿舍
public ArrayList<Dormbean> 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<StudentBean> showStudentByPage(int status,int nowPage,int step) throws SQLException ;//学生信息分页
public int studentTotalCount(int status,StudentBean studentBean) ;//返回学生总数
public ArrayList<StudentBean> 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<StudentBean> studentBeans = new ArrayList<>();
try {
studentBeans = iStudentService.selectStudents(status,nowPage, step, studentBean);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator<StudentBean> iterator = studentBeans.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
PageUtil<StudentBean> 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<T> {
private int totalCount;
private int step;
private int totalPage;
private int nowPage;
private ArrayList<T> list;
public PageUtil(int totalCount, int step, int totalPage, int nowPage, ArrayList<T> 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<T> getList() {
return list;
}
public void setList(ArrayList<T> list) {
this.list = list;
}
}
|
4.4学生信息查询
支持对学生信息到的多条件模糊查询。
4.4.1页面展示
4.4.2实现代码
public ArrayList<StudentBean> 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<StudentBean> 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));
}
|
下一篇: WEB 3D技术 three.js 补间动画(tween)
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。