diff --git a/src/com/hry/bean/AdminBean.java b/src/com/hry/bean/AdminBean.java new file mode 100644 index 0000000..4c23745 --- /dev/null +++ b/src/com/hry/bean/AdminBean.java @@ -0,0 +1,73 @@ +package com.hry.bean; + +public class AdminBean { + public AdminBean() { + super(); + // TODO Auto-generated constructor stub + } + + private int aid;//用户管理员id + private int status;//用来判断是管理员还是读者,读者的值为1,管理员为2 + private String username;//账号, + private String name;//读者的姓名 + private String password;//密码 + private String email;//邮箱 + private String phone;//手机号 + private int lend_num;//可借阅天数 + private int max_num;//最大可借数 + public int getAid() { + return aid; + } + public void setAid(int aid) { + this.aid = aid; + } + public int getStatus() { + return status; + } + public void setStatus(int status) { + this.status = status; + } + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public String getPhone() { + return phone; + } + public void setPhone(String phone) { + this.phone = phone; + } + public int getLend_num() { + return lend_num; + } + public void setLend_num(int lend_num) { + this.lend_num = lend_num; + } + public int getMax_num() { + return max_num; + } + public void setMax_num(int max_num) { + this.max_num = max_num; + } + +} diff --git a/src/com/hry/bean/BookBean.java b/src/com/hry/bean/BookBean.java new file mode 100644 index 0000000..2fc9e23 --- /dev/null +++ b/src/com/hry/bean/BookBean.java @@ -0,0 +1,57 @@ +package com.hry.bean; + +public class BookBean { + /** + * 图书的数据表的bean + */ + private int bid;//图书id + private String name;//图书名称 + private String card;//图书号 + private String autho;//作者 + private int num;//图书数量 + private String type;//图书的分类 + private String press;//出版社 + public int getBid() { + return bid; + } + public void setBid(int bid) { + this.bid = bid; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getCard() { + return card; + } + public void setCard(String card) { + this.card = card; + } + public String getAutho() { + return autho; + } + public void setAutho(String autho) { + this.autho = autho; + } + public int getNum() { + return num; + } + public void setNum(int num) { + this.num = num; + } + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + public String getPress() { + return press; + } + public void setPress(String press) { + this.press = press; + } + +} diff --git a/src/com/hry/bean/HistoryBean.java b/src/com/hry/bean/HistoryBean.java new file mode 100644 index 0000000..825dcfb --- /dev/null +++ b/src/com/hry/bean/HistoryBean.java @@ -0,0 +1,77 @@ +package com.hry.bean; + +public class HistoryBean { +// 历史借阅记录的数据表的bean + + private int hid;//借阅记录的id + private int aid;//用户管理员的id + private int bid;//图书的id + private String card;//图书号 + private String bookname;//图书名称 + private String adminname;//读者的账号 + private String username;//读者的姓名 + private String begintime;//借阅时间 + private String endtime;//要还书的世界 + private int status;//表示借阅状态,1为正在借阅,2是已经还书 + public int getHid() { + return hid; + } + public void setHid(int hid) { + this.hid = hid; + } + public int getAid() { + return aid; + } + public void setAid(int aid) { + this.aid = aid; + } + public int getBid() { + return bid; + } + public void setBid(int bid) { + this.bid = bid; + } + public String getCard() { + return card; + } + public void setCard(String card) { + this.card = card; + } + public String getBookname() { + return bookname; + } + public void setBookname(String bookname) { + this.bookname = bookname; + } + public String getAdminname() { + return adminname; + } + public void setAdminname(String adminname) { + this.adminname = adminname; + } + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + public String getBegintime() { + return begintime; + } + public void setBegintime(String begintime) { + this.begintime = begintime; + } + public String getEndtime() { + return endtime; + } + public void setEndtime(String endtime) { + this.endtime = endtime; + } + public int getStatus() { + return status; + } + public void setStatus(int status) { + this.status = status; + } + +} diff --git a/src/com/hry/bean/TypeBean.java b/src/com/hry/bean/TypeBean.java new file mode 100644 index 0000000..3f87dbc --- /dev/null +++ b/src/com/hry/bean/TypeBean.java @@ -0,0 +1,19 @@ +package com.hry.bean; + +public class TypeBean { +// 图书分类的数据表的bean + private int tid;//分类的id + private String name;//分类的名称 + public int getTid() { + return tid; + } + public void setTid(int tid) { + this.tid = tid; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } +} diff --git a/src/com/hry/dao/AdminDao.java b/src/com/hry/dao/AdminDao.java new file mode 100644 index 0000000..f45a645 --- /dev/null +++ b/src/com/hry/dao/AdminDao.java @@ -0,0 +1,234 @@ +package com.hry.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +import com.hry.bean.AdminBean; +import com.hry.dbUtils.DbUtil; + + + +public class AdminDao { + + /** + * 登录验证功能,传入用户名和密码,在数据库中查找,如果找到了,返回true,没找到则返回false + * username、password + */ + public boolean Login_verify(String username,String password){ + //连接数据库 + DbUtil dbUtil=new DbUtil(); + Connection conn = dbUtil.getConn(); + //sql语句 + String sql = "select * from admin where username='"+username+"' and password='"+password+"'"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + //预编译SQL,减少sql执行 + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + if(rs.next()){ + return true; + } + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return false; + } + /** + * 注册账号的函数,传入账号,密码,姓名,邮箱,手机号,借阅天数,可借阅数 + * username, password, name, email, phone, lend_num, max_num + */ + public void Register(String username, String password, String name, String email, String phone,int lend_num,int max_num) { + // TODO Auto-generated method stub + //连接数据库 + DbUtil dbUtil=new DbUtil(); + Connection conn = dbUtil.getConn(); + //sql语句 + String sql = "insert into admin(status,username,password,name,email,phone,lend_num,max_num) values(?,?,?,?,?,?,?,?)"; + int rs = 0; + PreparedStatement stm = null; + try { + //预编译SQL,减少sql执行 + stm = conn.prepareStatement(sql); + //传参 + stm.setInt(1, 1); + stm.setString(2, username); + stm.setString(3, password); + stm.setString(4, name); + stm.setString(5, email); + stm.setString(6, phone); + stm.setInt(7, lend_num);//借阅天数 + stm.setInt(8, max_num);//可借阅数 + //执行更新 + rs = stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + /** + * 根据传入的账号,密码,来查找对应的读者信息,返回一个AdminBean类型, + * + */ + public AdminBean getAdminInfo(String username, String password) { + // TODO Auto-generated method stub + AdminBean adminbean = new AdminBean(); + DbUtil dbUtil=new DbUtil(); + Connection conn = dbUtil.getConn(); + String sql = "select * from admin where username='"+username+"' and password='"+password+"'"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + //预编译SQL,减少sql执行 + stm = conn.prepareStatement(sql); + //执行查询 + rs = stm.executeQuery(); + if(rs.next()){ + //传参 + adminbean.setAid(rs.getInt("aid")); + adminbean.setUsername(rs.getString("username")); + adminbean.setName(rs.getString("name")); + adminbean.setPassword(rs.getString("password")); + adminbean.setEmail(rs.getString("email")); + adminbean.setPhone(rs.getString("phone")); + adminbean.setStatus(rs.getInt("status")); + adminbean.setLend_num(rs.getInt("lend_num")); + adminbean.setMax_num(rs.getInt("max_num")); + } + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + + return adminbean; + } + + /** + * 获取全部用户的信息,其中sql语句中的status=1,表示只查找读者(1),不显示管理员(2)的 + * + */ + public ArrayList get_ListInfo(){ + ArrayList tag_Array = new ArrayList(); + Connection conn = DbUtil.getConn(); + String sql = "select * from admin where status=1"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + while(rs.next()){ + AdminBean adminbean = new AdminBean(); + adminbean.setAid(rs.getInt("aid")); + adminbean.setUsername(rs.getString("username")); + adminbean.setName(rs.getString("name")); + adminbean.setPassword(rs.getString("password")); + adminbean.setEmail(rs.getString("email")); + adminbean.setPhone(rs.getString("phone")); + adminbean.setStatus(rs.getInt("status")); + adminbean.setLend_num(rs.getInt("lend_num")); + adminbean.setMax_num(rs.getInt("max_num")); + tag_Array.add(adminbean); + } + + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag_Array; + } + + /** + * 根据传入的aid图书号,查找到对应的读者的全部信息,返回一个AdminBean类型的数据,与上一个相似,只是aid的类型为String, + * + */ + public AdminBean get_AidInfo2(String aid){ + AdminBean adminbean = new AdminBean(); + DbUtil dbUtil=new DbUtil(); + Connection conn = dbUtil.getConn(); + String sql = "select * from admin where aid="+aid; + PreparedStatement stm = null; + ResultSet rs = null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + if(rs.next()){ + adminbean.setAid(rs.getInt("aid")); + adminbean.setUsername(rs.getString("username")); + adminbean.setName(rs.getString("name")); + adminbean.setPassword(rs.getString("password")); + adminbean.setEmail(rs.getString("email")); + adminbean.setPhone(rs.getString("phone")); + adminbean.setStatus(rs.getInt("status")); + adminbean.setLend_num(rs.getInt("lend_num")); + adminbean.setMax_num(rs.getInt("max_num")); + } + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return adminbean; + } + /** + * 修改读者的信息 + */ + public void updateUser(int aid, String username, String password, String name, String email, String phone, + int lend_num, int max_num) { + // TODO Auto-generated method stub + DbUtil dbUtil=new DbUtil(); + Connection conn = dbUtil.getConn(); + String sql = "update admin set username=?,name=?,email=?,phone=?,password=?,lend_num=?,max_num=? where aid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setString(1, username); + stm.setString(2, name); + stm.setString(3, email); + stm.setString(4, phone); + stm.setString(5, password); + stm.setInt(6, lend_num); + stm.setInt(7, max_num); + stm.setInt(8, aid); + stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + /** + * 删除用户的信息,根据传入的aid作为条件 + * + */ + public void deleteUser(int aid) { + // TODO Auto-generated method stub + DbUtil dbUtil=new DbUtil(); + Connection conn = dbUtil.getConn(); + String sql = "delete from admin where aid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setInt(1, aid); + stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} diff --git a/src/com/hry/dao/BookDao.java b/src/com/hry/dao/BookDao.java new file mode 100644 index 0000000..434f834 --- /dev/null +++ b/src/com/hry/dao/BookDao.java @@ -0,0 +1,323 @@ +package com.hry.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Calendar; + +import com.hry.bean.AdminBean; +import com.hry.bean.BookBean; +import com.hry.bean.HistoryBean; +import com.hry.dbUtils.DbUtil; + +/** + * 关于图书连接数据库的所有操作的类 + */ +public class BookDao { + /** + * 添加图书信息,传入所有的信息 + * + */ + public void addBook(String card ,String name ,String type , String autho ,String press, int num ) { + //连接数据库 + Connection conn = DbUtil.getConn(); + //SQL + String sql = "insert into book(card,name,type,autho,press,num) values(?,?,?,?,?,?)"; + int rs = 0; + PreparedStatement stm = null; + try { + //预编译SQL,减少sql执行 + stm = conn.prepareStatement(sql); + //添加 + stm.setString(1, card); + stm.setString(2, name); + stm.setString(3, type); + stm.setString(4, autho); + stm.setString(5, press); + stm.setInt(6, num); + //执行更新 + rs = stm.executeUpdate(); + + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + } + /** + * 获取所有的图书信息,返回的是ArrayList数组形式 + * 访问 ArrayList 中的元素可以使用 get() 方法: + *修改 ArrayList 中的元素可以使用 set() 方法: + *删除 ArrayList 中的元素可以使用 remove() 方法: + */ + public ArrayList get_ListInfo(){ + ArrayList tag_Array = new ArrayList(); + Connection conn = DbUtil.getConn(); + String sql = "select * from book"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + while (rs.next()) { + BookBean tag = new BookBean(); + tag.setBid(rs.getInt("bid")); + tag.setName(rs.getString("name")); + tag.setCard(rs.getString("card")); + tag.setType(rs.getString("type")); + tag.setAutho(rs.getString("autho")); + tag.setPress(rs.getString("press")); + tag.setNum(rs.getInt("num")); + tag_Array.add(tag); + } + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag_Array; + } + /** + * 获取借阅记录的全部信息,传入的条件有status,aid,表示搜索正在借阅的,或者已经还书的信息,aid代表当前登录用户 + * + */ + public ArrayList get_HisoryListInfo(int status,String aid){ + ArrayList tag_Array = new ArrayList(); + Connection conn = DbUtil.getConn(); + String sql = "select * from history where aid = '"+ aid +"' and status = '"+ status+"'"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + while (rs.next()) { + HistoryBean tag = new HistoryBean(); + tag.setHid(rs.getInt("hid")); + tag.setAid(rs.getInt("aid")); + tag.setBid(rs.getInt("bid")); + tag.setBookname(rs.getString("bookname")); + tag.setCard(rs.getString("card")); + tag.setAdminname(rs.getString("adminname")); + tag.setUsername(rs.getString("username")); + tag.setBegintime(rs.getString("begintime")); + tag.setEndtime(rs.getString("endtime")); + tag.setStatus(rs.getInt("status")); + tag_Array.add(tag); + + } + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag_Array; + } + /** + * 获取借阅记录的全部信息,传入的条件有status,表示搜索正在借阅的,或者已经还书的信息 + * + */ + public ArrayList get_HistoryListInfo2(int status){ + ArrayList tag_Array = new ArrayList(); + Connection conn = DbUtil.getConn(); + String sql = "select * from history where status='"+status+"'"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + while(rs.next()){ + HistoryBean tag = new HistoryBean(); + tag.setHid(rs.getInt("hid")); + tag.setAid(rs.getInt("aid")); + tag.setBid(rs.getInt("bid")); + tag.setBookname(rs.getString("bookname")); + tag.setCard(rs.getString("card")); + tag.setAdminname(rs.getString("adminname")); + tag.setUsername(rs.getString("username")); + tag.setBegintime(rs.getString("begintime")); + tag.setEndtime(rs.getString("endtime")); + tag.setStatus(rs.getInt("status")); + tag_Array.add(tag); + } + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag_Array; + } + /** + * 获取单个图书的信息,根据传入的bid来查找,返回一个BookBean数据类型 + * + */ + public BookBean get_BookInfo(int bid) { + BookBean tag = new BookBean(); + Connection conn = DbUtil.getConn(); + String sql = "select * from book where bid = '"+ bid +"' "; + PreparedStatement stm = null; + ResultSet rs = null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + while(rs.next()) { + tag.setBid(rs.getInt("bid")); + tag.setName(rs.getString("name")); + tag.setCard(rs.getString("card")); + tag.setType(rs.getString("type")); + tag.setAutho(rs.getString("autho")); + tag.setPress(rs.getString("press")); + tag.setNum(rs.getInt("num")); + + } + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag; + } + /** + * 修改图书的信息,bid作为条件, + */ + public void updateBook(int bid, String card, String name, String type, String autho, String press, int num) { + // TODO Auto-generated method stub + Connection conn = DbUtil.getConn(); + String sql = "update book set name=?,card=?,type=?,autho=?,press=?,num=? where bid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setString(1, name); + stm.setString(2, card); + stm.setString(3, type); + stm.setString(4, autho); + stm.setString(5, press); + stm.setInt(6, num); + stm.setInt(7, bid); + stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + /** + * 删除图书信息,根据传入的bid作为条件 + */ + public void deleteBook(int bid) { + Connection conn = DbUtil.getConn(); + String sql = "delete from book where bid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setInt(1, bid); + stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + /** + * 用户查找图书,根据输入的名称,使用like进行模糊查询,然后返回一个ArrayList数组类型 + */ + public ArrayList getLikeList(String name){ + ArrayList tag_Array = new ArrayList(); + Connection conn = DbUtil.getConn(); + String sql = "select * from book where name like '%" + name+"%'"; + PreparedStatement stm = null; + ResultSet rs =null; + try { + stm = conn.prepareStatement(sql); + rs = stm.executeQuery(); + while(rs.next()){ + BookBean tag = new BookBean(); + tag.setBid(rs.getInt("bid")); + tag.setName(rs.getString("name")); + tag.setCard(rs.getString("card")); + tag.setType(rs.getString("type")); + tag.setAutho(rs.getString("autho")); + tag.setPress(rs.getString("press")); + tag.setNum(rs.getInt("num")); + tag_Array.add(tag); + } + } catch (Exception e) { + // TODO: handle exception + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag_Array; + } + /** + * 图书借阅函数,根据传入bid图书id,adminbean当前登录用户的信息,在借阅记录数据表中新插入一条记录 + * + */ + public void borrowBook(int bid, AdminBean adminbean) { + BookBean bookbean = new BookBean(); + bookbean = this.get_BookInfo(bid); + //生成日期功能 + Calendar c = Calendar.getInstance(); + int year = c.get(Calendar.YEAR); + int month = c.get(Calendar.MONTH); + int day = c.get(Calendar.DATE); + //生成借阅开始时间 + String begintime = ""+ year +"-"+month +"-"+day; + month = month +1; + //生成截至还书日期 + String endtime = ""+year+"-"+month+"-"+day; + Connection conn = DbUtil.getConn(); + String sql = "insert into history(aid,bid,card,bookname,adminname,username,begintime,endtime,status) values(?,?,?,?,?,?,?,?,?)"; + PreparedStatement stm = null; + int rs = 0; + try { + stm = conn.prepareStatement(sql); + stm.setInt(1, adminbean.getAid()); + stm.setInt(2, bookbean.getBid()); + stm.setString(3, bookbean.getCard()); + stm.setString(4, bookbean.getName()); + stm.setString(5, adminbean.getUsername()); + stm.setString(6, adminbean.getName()); + stm.setString(7, begintime); + stm.setString(8, endtime); + stm.setInt(9, 1); + rs = stm.executeUpdate(); + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + } + /** + * 还书功能的函数,根据传入的hid借阅记录id,讲status字段的值改为0,并将还书日期改变为当前日期 + * + */ + public void borrowBook2(int hid) { + //生成日期 + Calendar c = Calendar.getInstance(); + int year = c.get(Calendar.YEAR); + int month = c.get(Calendar.MONTH); + int day = c.get(Calendar.DATE); + //生成还书日期 + String endtime = ""+year+"-"+month+"-"+day; + Connection conn = DbUtil.getConn(); + String sql = "update history set endtime=?,status=? where hid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setString(1, endtime); + stm.setInt(2, 0); + stm.setInt(3, hid); + stm.executeUpdate(); + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + } + +} diff --git a/src/com/hry/dao/TypeDao.java b/src/com/hry/dao/TypeDao.java new file mode 100644 index 0000000..e859c49 --- /dev/null +++ b/src/com/hry/dao/TypeDao.java @@ -0,0 +1,107 @@ +package com.hry.dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +import com.hry.bean.TypeBean; +import com.hry.dbUtils.DbUtil; + + +/** + * 图书分类的类 + */ +public class TypeDao { + /** + * 获取所有图书类型的信息,返回数组形式 + *访问 ArrayList 中的元素可以使用 get() 方法: + *修改 ArrayList 中的元素可以使用 set() 方法: + *删除 ArrayList 中的元素可以使用 remove() 方法: + */ + public ArrayList get_ListInfo(){ + ArrayList tag_Array = new ArrayList(); + //数据库连接 + Connection conn = DbUtil.getConn(); + //SQL + String sql = "select * from booktype"; + PreparedStatement stm = null; + ResultSet rs = null; + try { + //预编译SQL,减少sql执行 + stm = conn.prepareStatement(sql); + //执行查询 + rs = stm.executeQuery(); + //遍历 + while(rs.next()){ + TypeBean tag = new TypeBean(); + tag.setTid(rs.getInt("tid")); + tag.setName(rs.getString("name")); + tag_Array.add(tag); + } + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } + finally { + DbUtil.CloseDB(rs, stm, conn); + } + return tag_Array; + } + /** + * 修改图书分类的信息 + * tid + * name + */ + public void updateTypeBook(int tid, String name) { + Connection conn = DbUtil.getConn(); + String sql = "update booktype set name=? where tid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setString(1, name); + stm.setInt(2, tid); + stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + /** + * 添加一个图书分类 + * name + */ + public void addBookType(String name) { + Connection conn = DbUtil.getConn(); + String sql = "insert into booktype(name) values(?)"; + int rs = 0; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setString(1, name);; + rs = stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + /** + * 删除一个图书分类 + * tid + */ + public void deleteBookType(int tid) { + Connection conn = DbUtil.getConn(); + String sql = "delete from booktype where tid=?"; + PreparedStatement stm = null; + try { + stm = conn.prepareStatement(sql); + stm.setInt(1, tid); + stm.executeUpdate(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} diff --git a/src/com/hry/dbUtils/DbUtil.java b/src/com/hry/dbUtils/DbUtil.java new file mode 100644 index 0000000..6513d20 --- /dev/null +++ b/src/com/hry/dbUtils/DbUtil.java @@ -0,0 +1,68 @@ +package com.hry.dbUtils; + +import java.io.IOException; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Properties; + +public class DbUtil { + + public static String username = "root"; + public static String pwd = "123456"; + public static String url = "jdbc:mysql://localhost:3306/book?serverTimezone=UTC"; + + static{ + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + } catch(ClassNotFoundException e){ + e.printStackTrace(); + } + } + + public static Connection getConn(){ + Connection conn = null; + try{ + conn = DriverManager.getConnection(url,username,pwd); + + } catch (SQLException e){ + e.printStackTrace(); + } + return conn; + } + + public static void CloseDB(ResultSet rs, PreparedStatement stm, Connection conn){ + if(rs!=null) + { + try { + rs.close(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + if(stm!=null) + { + try { + stm.close(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + if(conn!=null) + { + try { + conn.close(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + + +} diff --git a/src/com/hry/dbUtils/TestDb.java b/src/com/hry/dbUtils/TestDb.java new file mode 100644 index 0000000..e4c3b8c --- /dev/null +++ b/src/com/hry/dbUtils/TestDb.java @@ -0,0 +1,17 @@ +package com.hry.dbUtils; + +import java.sql.Connection; + +public class TestDb { + + public static void main(String[] args) { + DbUtil dbUtil = new DbUtil(); + Connection conn = dbUtil.getConn(); + + if(conn != null){ + System.out.println("测试:数据库连接成功!"); + }else{ + System.out.println("测试:数据库连接失败!"); + } + } +} diff --git a/src/com/hry/servlet/AddBookServlet.java b/src/com/hry/servlet/AddBookServlet.java new file mode 100644 index 0000000..8c8d156 --- /dev/null +++ b/src/com/hry/servlet/AddBookServlet.java @@ -0,0 +1,49 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.BookDao; + +/** + * Servlet implementation class AddBookServlet + */ +@WebServlet("/AddBookServlet") +public class AddBookServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public AddBookServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset = UTF-8"); + //获取要添加的图书信息 + //得到图书号参数 + String card = request.getParameter("card"); + String name = request.getParameter("name"); + String type = request.getParameter("type"); + String autho = request.getParameter("autho"); + //出版社 + String press = request.getParameter("press"); + int num = Integer.parseInt(request.getParameter("num")); + BookDao bookdao = new BookDao(); + //调用函数,存入图书 + bookdao.addBook(card, name, type, autho, press, num); + response.sendRedirect("admin_book.jsp"); + } + +} diff --git a/src/com/hry/servlet/AddBookTypeServlet.java b/src/com/hry/servlet/AddBookTypeServlet.java new file mode 100644 index 0000000..8d8fdd5 --- /dev/null +++ b/src/com/hry/servlet/AddBookTypeServlet.java @@ -0,0 +1,45 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.TypeDao; + +/** + * Servlet implementation class AddBookTypeServlet + */ +@WebServlet("/AddBookTypeServlet") +public class AddBookTypeServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public AddBookTypeServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset=UTF-8"); + //获取图书分类的名称 + String name = request.getParameter("name"); + TypeDao typedao = new TypeDao(); + //调用函数存入图书分类信息 + typedao.addBookType(name); + response.sendRedirect("admin_booktype.jsp"); + } + +} diff --git a/src/com/hry/servlet/AddUserServlet.java b/src/com/hry/servlet/AddUserServlet.java new file mode 100644 index 0000000..c7ffb9b --- /dev/null +++ b/src/com/hry/servlet/AddUserServlet.java @@ -0,0 +1,48 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.AdminDao; + +/** + * Servlet implementation class AddUserServlet + */ +@WebServlet("/AddUserServlet") +public class AddUserServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public AddUserServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset=UTF-8"); + //获取要添加的读者信息 + String username = request.getParameter("username"); + String password = request.getParameter("password"); + String name = request.getParameter("name"); + String email = request.getParameter("email"); + String phone = request.getParameter("phone"); + System.out.println(username); + int lend_num = Integer.parseInt(request.getParameter("lend_num")); + int max_num = Integer.parseInt(request.getParameter("max_num")); + //调用函数添加读者信息 + AdminDao userdao = new AdminDao(); + userdao.Register(username, password, name, email, phone, lend_num, max_num); + response.sendRedirect("admin_user.jsp"); + } + +} diff --git a/src/com/hry/servlet/AdminServlet.java b/src/com/hry/servlet/AdminServlet.java new file mode 100644 index 0000000..1dd6ed4 --- /dev/null +++ b/src/com/hry/servlet/AdminServlet.java @@ -0,0 +1,83 @@ +package com.hry.servlet; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.hry.bean.AdminBean; +import com.hry.dao.AdminDao; +import com.hry.dao.BookDao; + +/** + * Servlet implementation class AdminServlet + */ +@WebServlet("/AdminServlet") +public class AdminServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public AdminServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //PrintWriter:输出流,为异常处理 + PrintWriter out = response.getWriter(); + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset=UTF-8"); + BookDao bookdao = new BookDao(); + //这里为了简单,设置了tip,用来区分是修改密码功能,还是修改个人资料的功能,tip=1为修改密码 + int tip = Integer.parseInt(request.getParameter("tip")); + //获取发起请求页面的文件名称,这个在对应的jsp里面的表单填写,修改完成后就可以直接返回对应的页面 + String url = request.getParameter("url"); + System.out.println(url); + HttpSession session = request.getSession(); + AdminBean adminbean = new AdminBean(); + //获取存到session的aid + String aid = (String) session.getAttribute("aid"); + AdminDao admindao = new AdminDao(); + //通过aid获取到读者的信息 + adminbean = admindao.get_AidInfo2(aid); + //修改密码 + if (tip==1) { + //获取到输入的旧密码,新密码 + String password = request.getParameter("password"); + String password2 = request.getParameter("password2"); + + //获取读者数据表中的密码 + String old_password = adminbean.getPassword(); + //对旧密码进行比较,如果相同就修改,不相同就直接退出 + if(old_password.equals(password)){ + admindao.updateUser(adminbean.getAid(), adminbean.getUsername(), password2, adminbean.getName(), + adminbean.getEmail(), adminbean.getPhone(), adminbean.getLend_num(), adminbean.getMax_num()); + response.sendRedirect(url+".jsp"); + }else{ + out.write(""); + + } + } else { + //修改个人资料 + //获取输入的信息 + String name = request.getParameter("name"); + String email = request.getParameter("email"); + String phone = request.getParameter("phone"); + //修改输入的信息到数据表中 + admindao.updateUser(adminbean.getAid(), adminbean.getUsername(), adminbean.getPassword(), name, + email, phone, adminbean.getLend_num(), adminbean.getMax_num()); + response.sendRedirect(url+".jsp"); + } + } + +} diff --git a/src/com/hry/servlet/BorrowServlet.java b/src/com/hry/servlet/BorrowServlet.java new file mode 100644 index 0000000..c9eebf3 --- /dev/null +++ b/src/com/hry/servlet/BorrowServlet.java @@ -0,0 +1,68 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.hry.bean.AdminBean; +import com.hry.dao.AdminDao; +import com.hry.dao.BookDao; + +/** + * Servlet implementation class BorrowServlet + */ +@WebServlet("/BorrowServlet") +public class BorrowServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + + public BorrowServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset = UTF-8"); + BookDao bookdao = new BookDao(); + //为了区分借书和还书的功能,设置tip,tip为1,表示借书 + int tip = Integer.parseInt(request.getParameter("tip")); + if (tip == 1) { + //获取图书ID + int bid = Integer.parseInt(request.getParameter("bid")); + HttpSession session = request.getSession(); + AdminBean admin = new AdminBean(); + //获取到存入session的aid读者id + String aid = (String)session.getAttribute("aid"); + AdminDao admindao = new AdminDao(); + //通过aid获取到读者信息 + admin = admindao.get_AidInfo2(aid); + //将借阅记录存入数据库 + bookdao.borrowBook(bid, admin); + response.sendRedirect("select.jsp"); + } else { + //还书功能,获取借阅记录的hid + int hid = Integer.parseInt(request.getParameter("hid")); + //还书在管理员和读者界面都有,为了区分,设置了show字段,show为1表示读者界面 + int show = Integer.parseInt(request.getParameter("show")); + //调用还书函数,改变status字段 + bookdao.borrowBook2(hid); + if (show==1) { + response.sendRedirect("borrow.jsp"); + } else { + response.sendRedirect("admin_borrow.jsp"); + } + } + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + +} diff --git a/src/com/hry/servlet/DeleteServlet.java b/src/com/hry/servlet/DeleteServlet.java new file mode 100644 index 0000000..1bb7a8d --- /dev/null +++ b/src/com/hry/servlet/DeleteServlet.java @@ -0,0 +1,40 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.BookDao; + +/** + * Servlet implementation class DeleteServlet + */ +@WebServlet("/DeleteServlet") +public class DeleteServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public DeleteServlet() { + super(); + // TODO Auto-generated constructor stub + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //删除图书信息 + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset= UTF-8"); + //Integer 类:parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析 + int bid = Integer.parseInt(request.getParameter("bid")); + BookDao bookdao = new BookDao(); + bookdao.deleteBook(bid); + response.sendRedirect("admin_book.jsp"); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + +} diff --git a/src/com/hry/servlet/DeleteTypeServlet.java b/src/com/hry/servlet/DeleteTypeServlet.java new file mode 100644 index 0000000..a7f4a97 --- /dev/null +++ b/src/com/hry/servlet/DeleteTypeServlet.java @@ -0,0 +1,45 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.TypeDao; + +/** + * Servlet implementation class DeleteTypeServlet + */ +@WebServlet("/DeleteTypeServlet") +public class DeleteTypeServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public DeleteTypeServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //删除图书分类信息 + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html; charset=UTF-8"); + //Integer 类:parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析 + int tid = Integer.parseInt(request.getParameter("tid")); + TypeDao typedao = new TypeDao(); + typedao.deleteBookType(tid); + response.sendRedirect("admin_booktype.jsp"); + } + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + +} diff --git a/src/com/hry/servlet/DeleteUserServlet.java b/src/com/hry/servlet/DeleteUserServlet.java new file mode 100644 index 0000000..78a3f7f --- /dev/null +++ b/src/com/hry/servlet/DeleteUserServlet.java @@ -0,0 +1,40 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.AdminDao; + +/** + * Servlet implementation class DeleteUserServlet + */ +@WebServlet("/DeleteUserServlet") +public class DeleteUserServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public DeleteUserServlet() { + super(); + // TODO Auto-generated constructor stub + } +//界面无post一般写get上 + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html; charset=UTF-8"); + //删除读者信息 + //Integer 类:parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析 + int aid = Integer.parseInt(request.getParameter("aid")); + AdminDao admindao = new AdminDao(); + admindao.deleteUser(aid); + response.sendRedirect("admin_user.jsp"); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + +} diff --git a/src/com/hry/servlet/LoginServlet.java b/src/com/hry/servlet/LoginServlet.java new file mode 100644 index 0000000..6acc0ed --- /dev/null +++ b/src/com/hry/servlet/LoginServlet.java @@ -0,0 +1,81 @@ +package com.hry.servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.SQLException; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.hry.bean.AdminBean; +import com.hry.dao.AdminDao; + +/** + * Servlet implementation class LoginServlet + */ +@WebServlet("/LoginServlet") +public class LoginServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + AdminDao userdao = new AdminDao(); + AdminDao admindao = new AdminDao(); + + /** + * @see HttpServlet#HttpServlet() + */ + public LoginServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //登录的判断 + //编码格式 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset=UTF-8"); + //获取账号和密码 +// PrintWriter out = response.getWriter(); + String username = request.getParameter("username"); + String password = request.getParameter("password"); + System.out.println(username); + + //对账号和密码进行判断 + boolean result = userdao.Login_verify(username, password); + System.out.println(result); + HttpSession session = request.getSession(); + //判断输入正确 + if(result){ + AdminBean adminbean = new AdminBean(); + //更加账号和密码查找出读者的信息 + adminbean = admindao.getAdminInfo(username,password); + //将aid存入session中 + session.setAttribute("aid", ""+adminbean.getAid()); + //设置session的失效时间 + session.setMaxInactiveInterval(6000); + //根据status的值来判断是管理员,还是读者,status=1为读者 + System.out.println(adminbean.getStatus()); + if(adminbean.getStatus()==1){ + response.sendRedirect("index2.jsp"); + }else{ + response.sendRedirect("admin.jsp"); + } + }else{ + //没有找到对应的账号和密码,返回重新登录 + session.setAttribute("state", "密码错误"); + response.sendRedirect("login.jsp"); + } + + } + +} diff --git a/src/com/hry/servlet/RegisterServlet.java b/src/com/hry/servlet/RegisterServlet.java new file mode 100644 index 0000000..92b4829 --- /dev/null +++ b/src/com/hry/servlet/RegisterServlet.java @@ -0,0 +1,61 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.bean.AdminBean; +import com.hry.dao.AdminDao; + +/** + * Servlet implementation class RegisterServlet + */ +@WebServlet("/RegisterServlet") +public class RegisterServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public RegisterServlet() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // TODO Auto-generated method stub +// doGet(request, response); + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset=UTF-8"); + + //获取注册信息 + AdminDao userdao = new AdminDao(); + + String username = request.getParameter("username"); + String password = request.getParameter("password"); + String name = request.getParameter("name"); + String email = request.getParameter("email"); + String phone = request.getParameter("phone"); + + System.out.println(username); + //默认设置最大借阅数和借阅天数 + int lend_num = 30; + int max_num = 5; + + + //将注册信息存入数据库,再返回登录 + userdao.Register(username,password,name,email,phone,lend_num,max_num); + response.sendRedirect("login.jsp"); + } + +} diff --git a/src/com/hry/servlet/SelectServlet.java b/src/com/hry/servlet/SelectServlet.java new file mode 100644 index 0000000..cc7838f --- /dev/null +++ b/src/com/hry/servlet/SelectServlet.java @@ -0,0 +1,64 @@ +package com.hry.servlet; + +import java.io.IOException; +import java.util.ArrayList; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.bean.BookBean; +import com.hry.dao.BookDao; + +/** + * Servlet implementation class SelectServlet + */ +@WebServlet("/SelectServlet") +public class SelectServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public SelectServlet() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("name"); + + //因为在管理员界面和读者界面都有查找功能,为了将查找的结果返回正确的页面,设置了tip,tip=1表示管理员界面 + int tip = Integer.parseInt(request.getParameter("tip")); + System.out.println(tip); + String name = request.getParameter("name"); + BookDao bookdao = new BookDao(); + ArrayList data = bookdao.getLikeList(name); + //将获取的结果存入请求中 + request.setAttribute("data", data); + String url =""; + //判断,转发界面 + if (tip == 1) { + url = response.encodeURL("admin_book.jsp"); + } else { + url = response.encodeURL("select.jsp"); + } + //请求转发 + request.getRequestDispatcher(url).forward(request, response); + } + +} diff --git a/src/com/hry/servlet/UpdateBookServlet.java b/src/com/hry/servlet/UpdateBookServlet.java new file mode 100644 index 0000000..ca19ce0 --- /dev/null +++ b/src/com/hry/servlet/UpdateBookServlet.java @@ -0,0 +1,51 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.BookDao; + +/** + * Servlet implementation class UpdateBookServlet + */ +@WebServlet("/UpdateBookServlet") +public class UpdateBookServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + + public UpdateBookServlet() { + super(); + // TODO Auto-generated constructor stub + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //修改图书信息 + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("/texthtml;charset= UTF-8"); + + String card = request.getParameter("card"); + String name = request.getParameter("name"); + String type = request.getParameter("type"); + String autho = request.getParameter("autho"); + String press = request.getParameter("press"); + //Integer 类:parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析 + int num = Integer.parseInt(request.getParameter("num")); + int bid = Integer.parseInt(request.getParameter("updatebid")); + System.out.println(bid); + BookDao bookdao = new BookDao(); + bookdao.updateBook(bid, card, name, type, autho, press, num); + + response.sendRedirect("admin_book.jsp"); + } + +} diff --git a/src/com/hry/servlet/UpdateBookTypeServlet.java b/src/com/hry/servlet/UpdateBookTypeServlet.java new file mode 100644 index 0000000..3a73e17 --- /dev/null +++ b/src/com/hry/servlet/UpdateBookTypeServlet.java @@ -0,0 +1,46 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.TypeDao; + + +/** + * Servlet implementation class UpdateBookTypeServlet + */ +@WebServlet("/UpdateBookTypeServlet") +public class UpdateBookTypeServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + + public UpdateBookTypeServlet() { + super(); + // TODO Auto-generated constructor stub + } + + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //修改图书类型信息 + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html;charset=UTF-8"); + String name = request.getParameter("name"); + //Integer 类:parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析 + //分类的id + int tid = Integer.parseInt(request.getParameter("tid")); + TypeDao typedao = new TypeDao(); + typedao.updateTypeBook(tid,name); + response.sendRedirect("admin_booktype.jsp"); + } + +} diff --git a/src/com/hry/servlet/UpdateUserServlet.java b/src/com/hry/servlet/UpdateUserServlet.java new file mode 100644 index 0000000..a5b71dd --- /dev/null +++ b/src/com/hry/servlet/UpdateUserServlet.java @@ -0,0 +1,55 @@ +package com.hry.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.hry.dao.AdminDao; + +/** + * Servlet implementation class UpdateUserServlet + */ +@WebServlet("/UpdateUserServlet") +public class UpdateUserServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public UpdateUserServlet() { + super(); + // TODO Auto-generated constructor stub + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置编码类型 + request.setCharacterEncoding("UTF-8"); + response.setContentType("text/html; charset= UTF-8"); + //修改读者信息 + String username = request.getParameter("username"); + String password = request.getParameter("password"); + String name = request.getParameter("name"); + String email = request.getParameter("email"); + String phone = request.getParameter("phone"); + //Integer 类:parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析 + //借阅最大天数 + int max_num = Integer.parseInt(request.getParameter("max_num")); + //最大可借数 + int lend_num = Integer.parseInt(request.getParameter("lend_num")); + //用户id + int aid = Integer.parseInt(request.getParameter("aid")); + System.out.println(username); + + AdminDao userdao = new AdminDao(); + userdao.updateUser(aid, username, password, name, email, phone, lend_num, max_num); + response.sendRedirect("admin_user.jsp"); + } + +}