目录
4.3
4.4
1.定制网站系统简要概述
定制网站所用的思想是在MVC定制网站模式下进行开发,定制网站主要涉及到的内容有:JSP、javaBean、Servlet、JDBC、以及前端css、js,定制网站从具体实施来看主要涉定制网站及到的知识有:对jsp定制网站主要内置对象的熟练使用。例如,request请求、response响应、session会话、以及利用cookie定制网站来进行免登录,EL表达式,JSTL标签,Filter过滤器,Listener监视器,定制网站前端的灵活使用等。
2.定制网站系统主要用到的数据库表
admins(管理员)表 定制网站管理员相关信息
Books(图书)表 定制网站记录图书相关信息
Students(学生)表 定制网站记录学生相关信息
Borrows(借书)表 定制网站记录借阅相关信息
3.主要功能
定制网站此次系统分为两个板块,定制网站管理员和用户。定制网站管理员主要进行用户和定制网站图书的增删改查,定制网站用户则进行借还操作。
定制网站下面简述两者主要功能定制网站及实现方法,定制网站具体可见后文详解。
管理员:
增加学生、删除学生、查看学生、添加图书、修改图书、删除图书、查看图书
定制网站对学生的增删查,主要是在ManageStudent.Servlet里面进行。定制网站另外有专门处理学生的数据库类Student.Dao,定制网站首先增加和查看功能,定制网站直接利定制网站用前端提交的post请求,通过method字段在servlet定制网站里执行相对应的方法,定制网站将结果最终呈现在jsp页面中。定制网站至于删除的功能则是利用前端提交的get请求,定制网站将学生信息绑定在服务器前台,定制网站在后端通过request定制网站获取到相应数据,定制网站执行删除的方法。
定制网站对图书的增删改查类似以上机制,主要是在ManageBook.Servlet里面进行。同理也有Book.Dao,定制网站增删基本同添加学生一致。定制网站查看这里涉及到分页查看的机制,定制网站分页查看利用limit限制条件,定制网站对每次浏览的记录分条处理。定制网站通过后端每次传输的页值,定制网站将结果存储到session会话中,在jsp页面里,定制网站通过获取存储的对象输定制网站出到浏览器中。至于修改同查看一样,只不过这里,要将原先数据存到文本框内,需要通过get请求,将绑定的数据存储到会话中,然后重定向要修改的页面,中间借用EL表达式比较简洁。
用户:
查看图书、借书、借阅信息查看、还书、查看个人信息
当用户登录成功后,在左边功能框可查看所有图书信息,也可以查看具体类别的图书,这里主要是在userchoise.Servlet里面执行,当用户点击具体某类图书时,会将图书类别传输到服务器端,在servlet里面通过request获取类别,然后调用Book.Dao里面的方法将结果进行封装,在show.jsp页面里通过获取图书对象进行显示。每条图书信息后面附有借书操作功能,主要在Borrow.servlet里面进行,通过get机制将用户信息和图书信息上传到服务器,在servlet里面获取,然后利用Bean来声名对象,对借阅书籍进行更改,同时通过调用borrow.Dao,对图书信息数量进一步修改。
借阅信息的查看可直接在相应jsp里面,根据用户信息调用相应的Dao方法,来获取借阅书籍信息显示当浏览器上。在借阅信息里面可对图书进行归还操作,主要使用return.,在前端通过get机制,将学生信息和书籍信息上传到服务器端。在后端通过request获取,然后借用borrow.Dao,里面的方法对书籍数量进一步修改。查看个人信息比较见到,直接通过session会话,将事先绑定好的用户信息,直接读取,显示在相应页面中。
3.1管理员功能
管理员主要管理学生和图书,在其项目里面有managestudent.servlet和managebook.servlet两个主要的servlet类。通过前端提供不同的请求来响应对应servlet里面的方法。
3.11登录
首先是管理员需要登录验证,判断数据库中是否有管理员账号相关信息。此次开发中,管理员账号为事先在数据库中录入,不支持注册和记住密码。管理员登录,需要请求adminlogin.servlet处理登录信息,如下(账号:admin 密码:admin):
图1- 1 管理员登录页面
若输入错误密码,则会提示密码错误重新登录(账号:admin 密码:123456):
图1- 2 管理员登录错误页面
3.12添加学生
添加学生功能,主要涉及到 student.dao(主要对学生进行数据库操纵,jdbc代码),student.bean(封装保存学生的基本信息),managestudent.servlet(用来后端操作控制添加学生信息的功能)以及addstusent.jsp(添加学生信息的前端页面)。添加信息的时候注意每项信息不能为空、以及添加的学生信息原数据库中是否有信息等需要在servlet里面做出判断。核心就是student.dao里面的连接数据库操纵语言,以及managestudent.servlet里面的对信息进行控制封装。如下:
图1-3 addstudent.jsp
3.13查看学生
查看学生功能是将数据库中的所有学生信息,展现在前端页面。这里主要涉及到studentDao、managestudent.servlet、student.javabean、showstudent.jsp等,在这里另外增加了一个分页查看的功能,主要思想就是在数据库里查询的时候将其分割,limit(beginpage,pagesize),然后通过查询的所有记录count/pagesize,得出总共的页数,然后在pageservlet里面,整理,最后输出到前端页面。
3.14删除学生
管理员可以删除选中的学生,主要是利用前端绑定的机制,在get模式下,绑定用户的信息,通过前端传入的值,在后端进行相应的处理,在数据库中进行删除学生。所涉及到的类和前面几乎一致,不再重述。
3.15添加书籍
添加书籍类似添加学生,book.(存有图书信息),managebook.Servlet(图书管理的servlet),以及对应的jsp页面.
3.16查看书籍
管理员可查看所有图书信息。
在show_book.jsp里面同时包含修改和删除图书的功能。两个方法对应不同的链接,跳转到相应的servlet中,在处理更改的时候需要用到重定向方法,将原先存到session中的数据,重定向到一个页面进行修改,同时该页面,要保留原有的信息,可以使用EL表达式来进行处理。
3.2用户端功能
3.2.1登录
用户登录页面同管理员登录页面一致,且在同一个jsp里,分两个form表单完成。在用户登录界面增加了注册、和记住密码的功能。首先看登录功能,用户输入账号和密码,前端将数据提交到后端的userloginServlet来进行处理,通过后端的处理与数据库中的结果作比较。验证登录是否成功,下图为登录成功界面。
在用户进行登录的时候有一个复选框,为记住密码的操作。当用户点击记住密码的时候,下次登录不用在输入账号密码,直接点击登录即可。这是利用cookie的机制,通过创建cookie,将账号信息保存到硬盘中。此次系统设计的cookie时间为三天。具体效果如下:
3.2.2注册
注册功能同管理员添加学生一致,只不过这个注册会跳转到userloginsrvlet里面进行处理。结合数据库往里边添加数据,同时也会对,信息是否填写完整,以及原有数据库里面是否有数据做出判断。
3.2.3查询图书
等用户登录成功后,即可看到左面功能栏里面的功能,最上面的就是查看所有图书功能,接下来的一系列则是根据图书类别进行查看图书,方便用户浏览,快速查找结果。里面的一些显示功能主要是,利用超链接的target,来将查询的结果输出到,showBook.jsp页面上。
3.2.4借阅书籍
每个书籍后面附有借书操作的功能,借阅实现的方法主要是,利用前端绑定机制,将用户的信息,和图书信息整合到一块,后端来进行获取。
当borrowservlet,接收到用户信息和图书信息后,通过studentBean,bookBean以及borrowBean,来对借阅功能进行封装处理,这时需要borrowdao来进行数据库的读写操作。
在这里设置每位用户最大借阅量为10本,所以在servlet里面,做出判断借阅量是否大于最大借阅书籍量。来响应用户是否还能继续借阅。若能借阅的话,则通过后台,处理Bean数据,用户借阅量发生变化,图书量也发生变化。
3.2.5借阅信息查询
借阅信息查询这个页面中,可以显示所有借的图书信息,并且在这个页面附有还书的功能,借阅信息主要是利用BorrowServlet和BorrowDAO里面根据用户信息,来获取当前用户下共计的借阅量。
3.2.6还书
还书对应的则是returnservlet,根据用户信息,以及图书信息,来做出合理的判断,在通过BorrowDao,里面的数据库操作对借书量,图书量数据上做出相应的改变。
3.2.7我的基本信息
在我的基本信息里面可以查看除密码以外的所有信息,包括当前借阅量,可借图书量等。具体实施为通过后台数据库将个人信息展现到页面上。
4.代码部分
4.1 dao类
adminDao
- package com.demo.dao;
- import com.demo.javabean.*;
- import java.sql.SQLException;
-
- public class AdminDAO {
- DBAccess db ;
- public boolean valid(String username, String password) {
- boolean isValid = false;
- db=new DBAccess();
- if(db.createConn()) {
- try {
- String sql="select * from admins where admin=? and password=?";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, username);
- db.pre.setString(2, password);
- db.setRs(db.pre.executeQuery());
- if(db.getRs().next()){
- isValid=true;
- }
- }catch (Exception e) {
- // TODO: handle exception
- }finally {
- db.closeRs();
- try {
- db.pre.close();
- } catch (SQLException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- db.closeConn();
- }
- }
- return isValid ;
- }
- public boolean isExist(String username) {
- boolean isExist = false;
- db = new DBAccess();
- if(db.createConn()) {
- try {
- String sql="select * from admins where admin=?";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1,username );
- db.setRs(db.pre.executeQuery());
- if(db.getRs().next()){
- isExist=true;
- }
- } catch (Exception e) {
- // TODO: handle exception
- }
- finally {
- db.closeRs();
- if(db.pre!=null){
- try {
- db.pre.close();
- } catch (Exception e2) {
- // TODO: handle exception
- }
- }
- db.closeConn();
- }
- }
- return isExist;
- }
- }
BookDao
- package com.demo.dao;
- import com.demo.javabean.*;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
-
-
- public class BookDAO {
- DBAccess db;
- private Books book;
- public ArrayList<Books> getAllBooks() throws Exception{
- db=new DBAccess();
-
- //db.setSql("SELECT * FROM books");
- ArrayList<Books> books = new ArrayList<Books>();
-
- if(db.createConn()){
- //db.query(sql);
- String sql= "SELECT * FROM books";
- db.query(sql);
-
-
- while(db.getRs().next()){
- book = this.assemble(db.getRs());
- books.add(book);
- }
- }
- db.closeRs();
- db.closeStm();
- db.closeConn();
- return books;
- }
-
-
- public ArrayList<Books> getBooksByCategory(String category) throws Exception{//在这里进行分页判断
-
- ArrayList<Books> books = new ArrayList<Books>();
- DBAccess db=new DBAccess();
- java.sql.PreparedStatement pre = null;
- if(db.createConn()){
- //db.query(sql);
- String sql = "select * from books where category = ? ";
- pre=db.getConn().prepareStatement(sql);
- pre.setString(1, category);
- //pre.setInt(2, (page-1)*Students.PAGE_SIZE);
- //pre.setInt(3, Students.PAGE_SIZE);
- db.setRs(pre.executeQuery());
- while(db.getRs().next()){
- book = this.assemble(db.getRs());
- books.add(book);
- }
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- int a=books.size();
- System.out.println(a);
- return books;
- }
-
-
- public void addBook(String name,String author,String intro,String amount,String category) throws Exception{
- // boolean flag = false;
- DBAccess db = new DBAccess();
- if(db.createConn()){
- String sql = "insert into books(name,author,intro,amount,category) values('"+name+"','"+author+"','"+intro+"','"+amount+"','"+category+"')";
- db.update(sql);
- db.closeStm();
- db.closeConn();
- }
- }
- public boolean delbook(String name)throws Exception{//删除书籍
- DBAccess db = new DBAccess();
- boolean flag=false;
- if(db.createConn()){
- //db.setSql("delete from books where name = ?");
- String sql="delete from books where name = ?";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, name);
- if(db.pre.executeUpdate()>0)flag=true;
- //String sql = "delete from books where name = '"+name+"'";
- //db.update(sql);
- //db.closeStm();
- //db.closeConn();
- }
- db.closeRs();
- db.closeStm();
- db.pre.close();
- db.closeConn();
- return flag;
- }
- public boolean isExist(String name) {
- boolean isExist = false;
- DBAccess db = new DBAccess();
- if(db.createConn()) {
- String sql = "select * from books where name='"+name+"'";
- db.query(sql);
- if(db.next()) {
- isExist = true;
- }
- db.closeRs();
- db.closeStm();
- db.closeConn();
- }
- return isExist;
- }
-
-
-
-
- public boolean updateBook(Books book) throws Exception{//借还更新 主要书籍数量
- boolean flag = false;
- DBAccess db=new DBAccess();
- String sql = "UPDATE books SET amount=? WHERE id=?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
- //conn = OpenConnection.getConnection();
- // ps = conn.prepareStatement(sql_str);
-
- pre.setInt(1,book.getAmount());
- pre.setInt(2,book.getId());
-
- if(pre.executeUpdate() > 0) flag = true;
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- // this.release();
- // OpenConnection.closeConnection(conn);
-
- return flag;
- }
- public boolean updateBook2(Books book) throws Exception{//修改更新 修改图书信息
- boolean flag = false;
- DBAccess db=new DBAccess();
- //db.setSql("UPDATE books SET name=?,author=?,amount=?,category=? where id=?");
-
- if(db.createConn()){
- String sql="UPDATE books SET name=?,author=?,amount=?,category=? where id=?";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, book.getName());
- db.pre.setString(2, book.getAuthor());
- db.pre.setInt(3, book.getAmount());
- db.pre.setString(4, book.getCategory());
- db.pre.setInt(5, book.getId());
- if(db.pre.executeUpdate() > 0) flag = true;
- }
- db.closeRs();
- db.closeStm();
- db.pre.close();
- db.closeConn();
- return flag;
- }
-
-
-
- public Books getBookById(int id) throws Exception{
- DBAccess db=new DBAccess();
- String sql = "SELECT * FROM books WHERE id = ?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
- // conn = OpenConnection.getConnection();
- // ps = conn.prepareStatement(sql_str);
- pre.setInt(1,id);
- db.setRs(pre.executeQuery());
-
- if (db.getRs().next()) book = this.assemble(db.getRs());
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- //this.release();
- // OpenConnection.closeConnection(conn);
- return book;
-
- }
-
-
- public Books assemble(ResultSet rs) throws Exception{
- book = new Books();
- book.setId(rs.getInt("id"));
- book.setName(rs.getString("name"));
- book.setAuthor(rs.getString("author"));
- book.setIntro(rs.getString("intro"));
- book.setAmount(rs.getInt("amount"));
- book.setCategory(rs.getString("category"));
- return book;
- }
- public ArrayList<Books> findAll(Integer page){//分页查询信息
- DBAccess db=new DBAccess();
- ArrayList<Books> list=new ArrayList<Books>();
- try {
- if(db.createConn()){
- String sql="select * from books limit ?,? ";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setInt(1, (page-1)*Students.PAGE_SIZE);
- db.pre.setInt(2, Students.PAGE_SIZE);
- db.setRs(db.pre.executeQuery());
- while(db.getRs().next()){
- Books book=new Books();
- book.setId(db.getRs().getInt("id"));
- book.setName(db.getRs().getString("name"));
- book.setAuthor(db.getRs().getString("author"));
- book.setCategory(db.getRs().getString("category"));
- book.setAmount(db.getRs().getInt("amount"));
- list.add(book);
- }
- db.closeRs();
- db.pre.close();
- db.closeConn();
- }
- } catch( SQLException e) {
- e.printStackTrace();
- }
- return list;
- }
- public ArrayList<Books> getBooksByCategory(String category,Integer page) throws Exception{//在这里进行分页判断(学生端)
-
- ArrayList<Books> books = new ArrayList<Books>();
- DBAccess db=new DBAccess();
- java.sql.PreparedStatement pre = null;
- if(db.createConn()){
- //db.query(sql);
- String sql = "select * from books where category = ? limit ?,?";
- pre=db.getConn().prepareStatement(sql);
- pre.setString(1, category);
- pre.setInt(2, (page-1)*Students.PAGE_SIZE);
- pre.setInt(3, Students.PAGE_SIZE);
- db.setRs(pre.executeQuery());
- while(db.getRs().next()){
- book = this.assemble(db.getRs());
- books.add(book);
- }
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- int a=books.size();
- System.out.println(a);
- return books;
- }
- public int countPage(String singal){//查询记录总数
- DBAccess db=new DBAccess();
- int count=0;
- try {
- if(db.createConn()){
- String sql;
- if(!"1".equals(singal)){
- sql="select count(*) from books where category=?";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, singal);
- db.setRs(db.pre.executeQuery());
- }
- else {
- sql="select count(*) from books";
- db.pre=db.getConn().prepareStatement(sql);
- db.setRs(db.pre.executeQuery());
- }
- if(db.getRs().next()){
- count=db.getRs().getInt(1);
- }
- }
- } catch( SQLException e) {
- e.printStackTrace();
- }
- finally {
- db.closeRs();
- try {
- if(db.pre!=null){
- db.pre.close();
- }
- } catch (Exception e2) {
- // TODO: handle exception
- }
- db.closeConn();
- }
- return count;
- }
- }
BorrowDao
- package com.demo.dao;
-
- import com.demo.javabean.*;
-
- import java.sql.ResultSet;
- import java.util.ArrayList;
-
- import com.demo.javabean.DBAccess;
-
- public class BorrowDAO {
-
- private Borrows borrow = null;
- public ArrayList<Borrows> getAllBorrows() throws Exception{
- DBAccess db=new DBAccess();
- java.sql.PreparedStatement pre=null;
- String sql = "SELECT * FROM borrows";
- ArrayList<Borrows> borrows = new ArrayList<Borrows>();
- //conn = OpenConnection.getConnection();
- // ps = conn.prepareStatement(sql_str);
- //rs = ps.executeQuery();
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
- db.setRs(pre.executeQuery());
- //db.query(sql);
- while(db.getRs().next()) {
- borrow = this.assemble(db.getRs());
- borrows.add(borrow);
- }
- }
-
- //this.release();
- db.closeRs();
- db.closeStm();
- db.closeConn();
- // OpenConnection.closeConnection(conn);
- return borrows;
- }
-
-
- public ArrayList<Borrows> getBorrowsBySId(int s_id) throws Exception{
- ArrayList<Borrows> borrows = new ArrayList<Borrows>();
- DBAccess db=new DBAccess();
- java.sql.PreparedStatement pre=null;
- String sql = "SELECT * FROM borrows WHERE s_id = ?";
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
- pre.setInt(1, s_id);
- db.setRs(pre.executeQuery());
- while (db.getRs().next()){
- borrow = this.assemble(db.getRs());
- borrows.add(borrow);
- }
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- return borrows;
- }
-
-
- public boolean addBorrows(Borrows borrow) throws Exception{
- boolean flag = false;
- DBAccess db=new DBAccess();
- java.sql.PreparedStatement pre=null;
- String sql = "INSERT INTO borrows VALUES(?,?,?)";
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
- // conn = OpenConnection.getConnection();
- // ps = conn.prepareStatement(sql_str);
- pre.setInt(1,borrow.getS_id());
- pre.setInt(2,borrow.getB_id());
- pre.setInt(3,borrow.getAmount());
- if(pre.executeUpdate() > 0) flag = true;
- }
- //this.release();
- db.closeRs();
- pre.close();
- db.closeConn();
- //OpenConnection.closeConnection(conn);
-
- return flag;
-
- }
-
-
- public boolean deleteBorrow(Borrows borrow) throws Exception{
- boolean flag = false;
- DBAccess db=new DBAccess();
- java.sql.PreparedStatement pre=null;
- String sql = "DELETE FROM borrows WHERE s_id = ? AND b_id = ? AND amount = ?";
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
-
- //conn = OpenConnection.getConnection();
- //ps =conn.prepareStatement(sql_str);
-
- pre.setInt(1,borrow.getS_id());
- pre.setInt(2,borrow.getB_id());
- pre.setInt(3,borrow.getAmount());
- if(pre.executeUpdate() > 0) flag = true;
- }
- return flag;
- }
-
-
-
- public Borrows getBorrowById(int s_id, int b_id) throws Exception{
- DBAccess db=new DBAccess();
- String sql = "SELECT * FROM borrows WHERE s_id = ? AND b_id = ?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
-
- //conn = OpenConnection.getConnection();
- //ps = conn.prepareStatement(sql_str);
- pre.setInt(1,s_id);
- pre.setInt(2,b_id);
-
- //rs = ps.executeQuery();
- db.setRs(pre.executeQuery());
- if(db.getRs().next()) borrow = this.assemble(db.getRs());
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- // this.release();
- // OpenConnection.closeConnection(conn);
- return borrow;
-
-
- }
-
-
- public boolean updateBorrow(Borrows borrow) throws Exception{
- boolean flag = false;
- DBAccess db=new DBAccess();
- String sql = "UPDATE borrows SET amount = ? WHERE s_id = ? AND b_id = ?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
- //conn = OpenConnection.getConnection();
- // ps = conn.prepareStatement(sql_str);
- pre.setInt(1,borrow.getAmount());
- pre.setInt(2,borrow.getS_id());
- pre.setInt(3,borrow.getB_id());
-
- if(pre.executeUpdate() > 0) flag = true;
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- //this.release();
- //OpenConnection.closeConnection(conn);
-
- return flag;
- }
-
-
-
- public Borrows assemble(ResultSet rs) throws Exception{
- borrow = new Borrows();
-
- borrow.setS_id(rs.getInt("s_id"));
- borrow.setB_id(rs.getInt("b_id"));
- borrow.setAmount(rs.getInt("amount"));
-
- return borrow;
- }
-
- }
studentDao
- package com.demo.dao;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import com.demo.javabean.*;
-
- /**
- *@author:FQX
- *@version:2022年3月28日下午7:43:34
- *类说明
- */
- public class StudentDAO {
- DBAccess db;
- public boolean valid(String username, String password) {
- boolean isValid = false;
- //DBAccess db = new DBAccess();
- db = new DBAccess();
- if(db.createConn()) {
- //String sql = "select * from students where user='"+username+"' and password='"+password+"'";
- //db.setSql("select * from students where user='"+username+"' and password='"+password+"'");
- String sql="select * from students where user= ? and password= ?";
- try { //这里引用prepareStatement是为了防止SQL注入
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, username);
- db.pre.setString(2, password);
- db.setRs(db.pre.executeQuery());
- if(db.getRs().next()){
- isValid=true;
- }
- } catch (SQLException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- finally {
- db.closeRs();
- if(db.pre!=null)
- try {
- db.pre.close();
- } catch (SQLException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- db.closeConn();
- }
- //db.query(sql);
- // db.query(db.getSql());
- // if(db.next()) {
- // isValid = true;
- // }
- // db.closeRs();
- // db.closeStm();
- // db.closeConn();
- }
- return isValid ;
- }
- public boolean isExist(String username) {
- boolean isExist = false;
- db = new DBAccess();
- if(db.createConn()) {
- //String sql = "select * from students where user='"+username+"'";
- //db.setSql("select * from students where user='"+username+"'");
- String sql="select * from students where user=?";
- try {
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, username);
- db.setRs(db.pre.executeQuery());
- if(db.getRs().next()){
- isExist=true;
- }
- } catch (SQLException e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- finally {
- db.closeRs();
- if(db.pre!=null){
- try {
- db.pre.close();
- } catch (Exception e2) {
- // TODO: handle exception
- }
- db.closeConn();
- }
- }
- //db.query(sql);
- // db.query(db.getSql());
- // if(db.next()) {
- // isExist = true;
- // }
- // db.closeRs();
- // db.closeStm();
- // db.closeConn();
- }
- return isExist;
- }
- public boolean add(Students student) throws Exception{//添加
- boolean flag = false;
- db=new DBAccess();
- String sql = "INSERT INTO students(user,password,department,grade,classes,email,amount) VALUES(?,?,?,?,?,?,?)";
- if(db.createConn()){
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1,student.getUser());
- db. pre.setString(2,student.getPassword());
- db.pre.setString(3,student.getDepartment());
- db.pre.setString(4,student.getGrade());
- db. pre.setString(5,student.getClasses());
- db.pre.setString(6,student.getEmail());
- db.pre.setInt(7,student.getAmount());
- if(db.pre.executeUpdate() > 0) flag = true;
- }
- db.closeRs();
- db.closeStm();
- db.pre.close();
- db.closeConn();
- return flag;
- }
-
- public void del(String usename){//删除
- DBAccess db = new DBAccess();
- if(db.createConn()) {
- String sql = "delete from students where user = '"+usename+"'";
- db.update(sql);
- db.closeStm();
- db.closeConn();
- }
- }
- private Students student = null;
- public ArrayList<Students>getAllStudents() throws Exception{
- DBAccess db = new DBAccess();
- ArrayList<Students> students = new ArrayList<Students>();
- String sql = "SELECT * FROM students";
- if(db.createConn()){
- db.query(sql);
- while(db.getRs().next()){
- student = this.assemble(db.getRs());
- students.add(student);
- }
- db.closeStm();
- db.closeRs();
- db.closeConn();
- }
- return students;
- }
- public Students assemble(ResultSet rs) throws Exception{
- student = new Students();
- student.setId(rs.getInt("id"));
- student.setUser(rs.getString("user"));
- student.setPassword(rs.getString("password"));
- student.setDepartment(rs.getString("department"));
- student.setGrade(rs.getString("grade"));
- student.setClasses(rs.getString("classes"));
- student.setEmail(rs.getString("email"));
- student.setAmount(rs.getInt("amount"));
- return student;
- }
-
- public boolean delStudentByName(String user) throws Exception{//删除
- DBAccess db=new DBAccess();
- boolean flag = false;
- String sql="DELETE FROM students WHERE user = ?";
- if(db.createConn()){
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setString(1, user);
- if(db.pre.executeUpdate()>0)flag=true;
- }
- db.closeConn();
- db.closeStm();
- db.pre.close();
- db.closeRs();
- return flag;
- }
-
- public Students getStudentById(int id) throws Exception{
- DBAccess db=new DBAccess();
- String sql = "SELECT * FROM students WHERE id = ?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
- pre.setInt(1, id);
- db.setRs(pre.executeQuery());
- //conn = OpenConnection.getConnection();
- //ps = conn.prepareStatement(sql_str);
- //ps.setInt(1,id);
- // rs = ps.executeQuery();
- if (db.getRs().next()) student = this.assemble(db.getRs());
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- //this.release();
- //OpenConnection.closeConnection(conn);
- return student;
- }
- public boolean updateStudent(Students student) throws Exception{
- boolean flag = false;
- DBAccess db=new DBAccess();
- String sql = "update students set amount = ? where id = ?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
-
- //conn = OpenConnection.getConnection();
- // ps = conn.prepareStatement(sql_str);
- pre.setInt(1,student.getAmount());
- pre.setInt(2,student.getId());
-
- if(pre.executeUpdate() > 0) flag = true;
- }
- //this.release();
- //OpenConnection.closeConnection(conn);
- db.closeRs();
- pre.close();
- db.closeStm();
- db.closeConn();
- return flag;
- }
- public Students getStudentByName(String name) throws Exception{
- DBAccess db=new DBAccess();
- String sql = "SELECT * FROM students WHERE user = ?";
- java.sql.PreparedStatement pre=null;
- if(db.createConn()){
- pre=db.getConn().prepareStatement(sql);
- pre.setString(1, name);
- db.setRs(pre.executeQuery());
-
- // conn = OpenConnection.getConnection();
- //ps = conn.prepareStatement(sql_str);
- //ps.setString(1,name);
- // rs = ps.executeQuery();
-
- if(db.getRs().next())
- student = this.assemble(db.getRs());
- }
- db.closeRs();
- db.closeStm();
- pre.close();
- db.closeConn();
- //this.release();
- // OpenConnection.closeConnection(conn);
- return student;
- }
- public ArrayList<Students> findAll(Integer page){//分页查询信息
- DBAccess db=new DBAccess();
- ArrayList<Students> list=new ArrayList<Students>();
-
- try {
- if(db.createConn()){
- String sql="select * from students limit ?,? ";
- db.pre=db.getConn().prepareStatement(sql);
- db.pre.setInt(1, (page-1)*Students.PAGE_SIZE);
- db.pre.setInt(2, Students.PAGE_SIZE);
- db.setRs(db.pre.executeQuery());
- while(db.getRs().next()){
- Students stu=new Students();
- stu.setUser(db.getRs().getString("user"));
- stu.setPassword(db.getRs().getString("password"));
- stu.setDepartment(db.getRs().getString("department"));
- stu.setGrade(db.getRs().getString("grade"));
- stu.setClasses(db.getRs().getString("classes"));
- stu.setEmail(db.getRs().getString("email"));
- stu.setAmount(db.getRs().getInt("amount"));
- list.add(stu);
- }
- db.closeRs();
- db.pre.close();
- db.closeConn();
- }
- } catch( SQLException e) {
- e.printStackTrace();
- }
- return list;
- }
- public int countPage(){//查询记录总数
- DBAccess db=new DBAccess();
- int count=0;
- try {
- if(db.createConn()){
- String sql="select count(*) from students ";
- db.pre=db.getConn().prepareStatement(sql);
- db.setRs(db.pre.executeQuery());
- if(db.getRs().next()){
- count=db.getRs().getInt(1);
- }
- }
- } catch( SQLException e) {
- e.printStackTrace();
- }
- finally {
- db.closeRs();
- try {
- if(db.pre!=null){
- db.pre.close();
- }
- } catch (Exception e2) {
- // TODO: handle exception
- }
- db.closeConn();
- }
- return count;
- }
- }
4.2 Servlet类
userlojinServlet
- package com.demo.servlet;
- import com.demo.dao.AdminDAO;
- import com.demo.dao.StudentDAO;
- import com.demo.javabean.*;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.*;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.io.UnsupportedEncodingException;
- import java.sql.SQLException;
-
-
- public class UserLoginServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String method = (String)request.getParameter("method");
- if(method==null) {
- PrintWriter out = response.getWriter();
- out.println("invalid request!");
- } else if(method.equals("login")) {
- try {
- Login(request, response);
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- }
- else if(method.equals("register")) {
- try {
- Register(request, response);
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- }
- else if(method.equals("logout")){
- Logout(request,response);
- }
- }
- //用户登录
- protected void Login(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- //request.setCharacterEncoding("utf-8");
- //response.setCharacterEncoding("utf-8");
- //response.setContentType("text/html;charset=utf-8");
- PrintWriter out = response.getWriter();
- String a_user = request.getParameter("user");
- String a_password = request.getParameter("password");
- System.out.println(a_user);
- String rem=request.getParameter("remember");
- HttpSession session = request.getSession();
- StudentDAO a_dao=new StudentDAO();
- if ("".equals(a_user) ||"".equals(a_password)) {
- //System.out.println("登录失败,账号或密码不能为空!");
- //response.sendRedirect("login.jsp");
- out.println("<script>" +
- "alert('登录失败,账号或密码不能为空!!!');" +
- "window.location.href = \"login.jsp\";" +
- "</script>");
- return;
- }
- else if(a_dao.isExist(a_user)){
- Students student=a_dao.getStudentByName(a_user);
- session.setAttribute("student", student);
- if(a_dao.valid(a_user, a_password)){
- session.setAttribute("a_user", a_user);
- user user=new user();
- session.setAttribute("user",user);
- if("1".equals(rem)){
- //创建2个Cookie
- Cookie namecookie=new Cookie("username", a_user);
- //设置Cookie的有效期为三天
- namecookie.setMaxAge(60*60*24*3);
- Cookie pwdcookie=new Cookie("password", a_password);
- pwdcookie.setMaxAge(60*60*24*3);
- response.addCookie(namecookie);
- response.addCookie(pwdcookie);
- }
- //response.sendRedirect(request.getContextPath()+"/user.jsp");
- //System.out.println("登录成功!");
- out.println("<script>" +
- "alert('登录成功!!!');" +
- "window.location.href = \"user.jsp\";" +
- "</script>");
- }
- else {
- //System.out.println("登录失败2,密码错误!");
- //response.sendRedirect(request.getContextPath()+"/login.jsp");
- out.println("<script>" +
- "alert('登录失败,密码错误!!!');" +
- "window.location.href = \"login.jsp\";" +
- "</script>");
- }
- }
- else {
- //System.out.println("登录失败3,用户名不存在!");
- //response.sendRedirect(request.getContextPath()+"/login.jsp");
- out.println("<script>" +
- "alert('登录失败,用户名不存在!!!');" +
- "window.location.href = \"login.jsp\";" +
- "</script>");
- }
- }
- //用户退出
- protected void Logout(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- HttpSession session = request.getSession();
- session.removeAttribute("a_user");
- session.removeAttribute("user");
- response.sendRedirect("login.jsp");
- }
- //用户注册
- protected void Register(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException
- {
- //request.setCharacterEncoding("utf-8");
- //response.setCharacterEncoding("utf-8");
- //response.setContentType("text/html;charset=utf-8");
- PrintWriter out = response.getWriter();
- String user = request.getParameter("user");
- String password = request.getParameter("password");
- String repwd= request.getParameter("repwd");
- String department = request.getParameter("department");
- String grade = request.getParameter("grade");
- String classes = request.getParameter("classes");
- String email = request.getParameter("email");
- if ("".equals(user) ||"".equals(password) || "".equals(repwd) || !password.equals(repwd)||"".equals(department)||"".equals(grade)||"".equals(classes)||"".equals(email)) {
- //response.sendRedirect("reg.jsp");
- out.println("<script>" +
- "alert('注册失败,信息不全!!!');" +
- "window.location.href = \"reg.jsp\";" +
- "</script>");
-
- return;
- }else{
- Students student = null;
- StudentDAO a_dao = new StudentDAO();
- boolean isExist =a_dao.isExist(user);
- if(isExist){
- //System.out.println("'此学号已注册过,请重试!");
- //response.sendRedirect("reg.jsp");
- out.println("<script>" +
- "alert('此学号已注册过,请重试!!!');" +
- "window.location.href = \"reg.jsp\";" +
- "</script>");
-
- }else{
- student = new Students();
- student.setUser(user);
- student.setPassword(password);
- student.setDepartment(department);
- student.setGrade(grade);
- student.setClasses(classes);
- student.setEmail(email);
- student.setAmount(0);
- try {
- if(a_dao.add(student)){
- student = a_dao.getStudentByName(student.getUser());
- request.getSession().setAttribute("student",student);
- //System.out.println("注册成功,即将跳转到主界面!");
- //response.sendRedirect("login.jsp");
- out.println("<script>" +
- "alert('注册成功,即将跳转到主界面!!!');" +
- "window.location.href = \"login.jsp\";" +
- "</script>");
- return;
- }
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
-
- }
- }
- }
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //req.setCharacterEncoding("utf-8");
- this.doGet(req, resp);
- }
-
- }
adminlojinServlet
- package com.demo.servlet;
-
- import java.io.*;
- 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.demo. dao.AdminDAO;
- import com.demo.javabean.*;
-
-
- public class AdminLoginServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- String method = (String)req.getParameter("method");
- if(method==null) {
- PrintWriter out = resp.getWriter();
- out.println("invalid request!");
- } else if(method.equals("login")) {
- Login(req, resp);
- }
- }
- //管理员登录
- protected void Login(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- //request.setCharacterEncoding("utf-8");
- //response.setCharacterEncoding("utf-8");
- //response.setContentType("text/html;charset=utf-8");
- PrintWriter out = response.getWriter();
- String a_user =request.getParameter("a_user");
- String a_password = request.getParameter("a_password");
- //HttpSession session = request.getSession();
- AdminDAO a_dao = new AdminDAO();
- //String admin = null;
- if ( a_user .equals("") ||a_password .equals("")) {
- //System.out.println("登录失败");
- //response.sendRedirect("login.jsp");//重定向
- out.println("<script>" +
- "alert('登录失败,用户名或密码不能为空!!!');" +
- "window.location.href = \"login.jsp\";" +
- "</script>");
- return;
- }
- boolean isValid = a_dao.valid(a_user, a_password);
- if (isValid) {
- HttpSession session = request.getSession();
- session.setAttribute("a_user", a_user);
- out.println("<script>" +
- "alert('登录成功!!!');" +
- "window.location.href = \"admin.jsp\";" +
- "</script>");
- //response.sendRedirect("admin.jsp");//重定向
- return;
- }
- else {
- //System.out.println("登录失败");
- //response.sendRedirect("login.jsp");//重定向
- out.println("<script>" +
- "alert('登录失败,密码不正确!!!');" +
- "window.location.href = \"login.jsp\";" +
- "</script>");
- return;
- }
- }
- // protected void Logout(HttpServletRequest request,
- // HttpServletResponse response) throws ServletException, IOException {
- // HttpSession session = request.getSession();
- // session.removeAttribute("a_user");
- // response.sendRedirect("login.jsp");
- // }
- //
-
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req,resp);
- }
- }
managebookservlet
- package com.demo.servlet;
-
- import com.demo.dao.BookDAO;
- import com.demo.javabean.*;
-
- import javax.security.auth.message.callback.PrivateKeyCallback.Request;
- 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 java.io.IOException;
- import java.io.PrintWriter;
- import java.io.UnsupportedEncodingException;
-
-
- public class ManageBookServlet extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // HttpSession session=request.getSession();
- // if(session!=null&&session.getAttribute("a_user1")!=null){
- // String action = (String)request.getParameter("action");
- // if(action==null) {
- // PrintWriter out = response.getWriter();
- // out.println("invalid request!");
- // } else if(action.equals("addbook")) {
- // AddBook(request, response);
- // }
- // else if(action.equals("delbook")) {
- // DelBook(request, response);
- // }
- // else if(action.equals("updatebook")) {
- // UpdateBook(request, response);
- // }
- // else if(action.equals("update")) {
- // Update(request, response);
- // }
- // }
- // else {
- // response.sendRedirect("login.jsp");
- // }
- String action = (String)request.getParameter("action");
- if(action==null) {
- PrintWriter out = response.getWriter();
- out.println("invalid request!");
- } else if(action.equals("addbook")) {
- AddBook(request, response);
- }
- else if(action.equals("delbook")) {
- DelBook(request, response);
- }
- else if(action.equals("updatebook")) {
- UpdateBook(request, response);
- }
- else if(action.equals("update")) {
- Update(request, response);
- }
- }
-
- //更新图书
- private void Update(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{
- // TODO 自动生成的方法存根
- //req.setCharacterEncoding("utf-8");
- //resp.setCharacterEncoding("utf-8");
- //resp.setContentType("text/html;charset=utf-8");
- Integer sid = Integer.parseInt(req.getParameter("sid"));
- BookDAO b_dao=new BookDAO();
- String page="";
- try {
- Books book=b_dao.getBookById(sid);
- req.setAttribute("book", book);
- req.getRequestDispatcher("admin/update_book.jsp").forward(req, resp);
- } catch (Exception e) {
- //page="error.jsp";
- //TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- // finally{
- // page="admin/update_book.jsp";
- // }
- // req.getRequestDispatcher(page).forward(req, resp);
- }
- private void UpdateBook(HttpServletRequest req, HttpServletResponse resp)throws ServletException,IOException {//修改图书信息
- // TODO 自动生成的方法存根
- //req.setCharacterEncoding("utf-8");
- //resp.setCharacterEncoding("utf-8");
- //resp.setContentType("text/html;charset=utf-8");
- PrintWriter out=resp.getWriter();
- String sid=req.getParameter("sid");
- String name=req.getParameter("name");
- String author=req.getParameter("author");
- String amount = req.getParameter("amount");
- String category = req.getParameter("category");
- BookDAO b_dao=new BookDAO();
- Books book=new Books();
- if(name != "" && author != "" && amount != "" && category != ""){
- book.setName(name);
- book.setAuthor(author);
- book.setAmount(Integer.parseInt(amount));
- book.setCategory(category);
- book.setId(Integer.parseInt(sid));
- try {
- if(b_dao.updateBook2(book)){
- //System.out.println("修改书籍成功!");
- //resp.sendRedirect("PageServlet.do?method=showBook");
- out.println("<script>alert('修改书籍成功!');" +
- "window.location.href = \"PageServlet.do?method=showBook\";" +
- "</script>");
- return;
- }
- else
- //System.out.println("修改书籍失败!内容不能为空");
- out.println("<script>alert('修改书籍失败!内容不能为空');" +
- "window.location.href = \"PageServlet.do?method=showBook\";" +
- "</script>");
-
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- }else
- //System.out.println("修改书籍失败!");
- //resp.sendRedirect("");
- out.println("<script>alert('修改书籍失败!');" +
- "window.location.href = \"PageServlet.do?method=showBook\";" +
- "</script>");
-
- }
-
- //删除图书
- private void DelBook(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
- // TODO 自动生成的方法存根
- //request.setCharacterEncoding("utf-8");
- //response.setCharacterEncoding("utf-8");
- //response.setContentType("text/html;charset=utf-8");
- PrintWriter out=response.getWriter();
- String name=request.getParameter("name");
- BookDAO b_dao = new BookDAO();
- if(name!=null){
- try {
- if(b_dao.delbook(name)){
- //System.out.println("删除书籍成功!");
- //response.sendRedirect("PageServlet.do?method=showBook");
- //return;
- out.println("<script>alert('删除书籍成功!');" +
- "window.location.href = \"PageServlet.do?method=showBook\";" +
- "</script>");
- return;
- }
- else
- //System.out.println("删除书籍失败!");
- //response.sendRedirect("admin/del_book.jsp");
- out.println("<script>alert('删除书籍失败!');" +
- "window.location.href = \"admin/del_book.jsp\";" +
- "</script>");
-
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- }
- else{
- //System.out.println("删除图书失败!无此图书");
- //response.sendRedirect("admin/del_book.jsp");
- out.println("<script>alert('删除书籍失败!');" +
- "window.location.href = \"admin/del_book.jsp\";" +
- "</script>");
- }
- }
-
- //添加图书
- private void AddBook(HttpServletRequest req, HttpServletResponse resp)throws ServletException,IOException {
- // TODO 自动生成的方法存根
- //req.setCharacterEncoding("utf-8");
- //resp.setCharacterEncoding("utf-8");
- //resp.setContentType("text/html;charset=utf-8");
- PrintWriter out=resp.getWriter();
- String name = req.getParameter("name");
- String author = req.getParameter("author");
- String amount = req.getParameter("amount");
- String category = req.getParameter("category");
- String intro="暂未介绍";
- BookDAO b_dao = new BookDAO();
- Books book = null;
- if(name != "" && author != "" && amount != "" && category != ""){
- book = new Books();
- book.setName(name);
- book.setAuthor(author);
- book.setIntro("暂未介绍");
- book.setAmount(Integer.parseInt(amount));
- book.setCategory(category);
- //PrintWriter out = resp.getWriter();
- try {
- b_dao.addBook(name, author, intro, amount, category);
- //System.out.println("添加书籍成功!");
- //resp.sendRedirect("admin/reg_book.jsp");
- out.println("<script>alert('添加书籍成功!');" +
- "window.location.href = \"admin/reg_book.jsp\";" +
- "</script>");
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
-
- }else{
- //System.out.println("添加书籍失败!其他原因");
- //resp.sendRedirect("admin/reg_book.jsp");
- out.println("<script>alert('添加书籍失败!!其他原因');" +
- "window.location.href = \"admin/reg_book.jsp\";" +
- "</script>");
- }
-
- }
-
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //req.setCharacterEncoding("utf-8");
- doGet(req,resp);
-
- }
- }
managestudentservlet
- package com.demo.servlet;
-
- import com.demo.dao.StudentDAO;
- import com.demo.javabean.*;
-
- import javax.servlet.ServletContext;
- 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 java.io.IOException;
- import java.io.PrintWriter;
-
-
- public class ManageStudentServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // HttpSession session=request.getSession();
- // if(session!=null&&session.getAttribute("a_user1")!=null){
- // String action = (String)request.getParameter("action");
- // if(action==null) {
- // PrintWriter out = response.getWriter();
- // out.println("invalid request!");
- // } else if(action.equals("addstudent")) {
- // AddStudent(request, response);
- // }
- // else if(action.equals("delstudent")) {
- // DelStudent(request, response);
- // }
- // else if(action.equals("showstudent")){
- // ShowStudent(request,response);
- // }
- // }
- // else {
- // response.sendRedirect("login.jsp");
- // }
- String action = (String)request.getParameter("action");
- if(action==null) {
- PrintWriter out = response.getWriter();
- out.println("invalid request!");
- } else if(action.equals("addstudent")) {
- AddStudent(request, response);
- }
- else if(action.equals("delstudent")) {
- DelStudent(request, response);
- }
- else if(action.equals("showstudent")){
- ShowStudent(request,response);
- }
- }
- private void ShowStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
- // TODO 自动生成的方法存根
- //request.setCharacterEncoding("utf-8");
- String user=request.getParameter("user");
- StudentDAO studao=new StudentDAO();
- Students student=new Students();
- try {
- student=studao.getStudentByName(user);
- request.setAttribute("student", student);
-
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- request.getRequestDispatcher("admin/show_student.jsp").forward(request, response);
- }
- private void DelStudent(HttpServletRequest req, HttpServletResponse resp)throws ServletException,IOException {
- req.setCharacterEncoding("utf-8");
- resp.setCharacterEncoding("utf-8");
- resp.setContentType("text/html;charset=utf-8");
- PrintWriter out=resp.getWriter();
- String user=req.getParameter("user");
- StudentDAO s_dao = new StudentDAO();
- if(user!=null){
- System.out.println(user);
- try {
- if(s_dao.delStudentByName(user)){
- // System.out.println("删除成功!");
- //resp.sendRedirect("PageServlet.do?method=showStudent");
- out.println("<script>alert('删除成功!');"
- +"window.location.href=\"PageServlet.do?method=showStudent\";"+"</script>");
- return;
- }
- else
- //System.out.println("删除失败!");
- //resp.sendRedirect("admin/del_student.jsp");
- out.println("<script>alert('删除失败!');"
- +"window.location.href=\"admin/del_student.jsp\";"+"</script>");
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
- }
- else{
- //System.out.println("删除失败,无此账号!");
- //resp.sendRedirect("admin/del_student.jsp");
- out.println("<script>alert('删除失败,无此账号!');"
- +"window.location.href=\"admin/del_student.jsp\";"+"</script>");
- }
- }
-
- // TODO 自动生成的方法存根
-
- private void AddStudent(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
- // TODO 自动生成的方法存根
- //req.setCharacterEncoding("utf-8");
- //resp.setCharacterEncoding("utf-8");
- //resp.setContentType("text/html;charset=utf-8");
- PrintWriter out=resp.getWriter();
- String user=req.getParameter("user");
- String password = req.getParameter("password");
- String relpwd=req.getParameter("relpwd");
- String department=req.getParameter("department");
- String grade = req.getParameter("grade");
- String classes=req.getParameter("classes");
- String email = req.getParameter("email");
- String admin=req.getParameter("admin");
- if ("".equals(user) || "".equals(password) ||"".equals(relpwd) || !password.equals(relpwd)||"".equals(department)||"".equals(grade)||"".equals(classes)||"".equals(email)) {
- //resp.sendRedirect("admin/add_student.jsp");
- //System.out.println("信息不全");
- out.println("<script>alert('添加失败,信息不全!');" +
- "window.location.href = \"admin/add_student.jsp\";" +
- "</script>");
- return;
- }else{
- StudentDAO a_dao = new StudentDAO();
- Students student=new Students();
- boolean isExist =a_dao.isExist(user);
- if(isExist){
- //System.out.println("此学号已注册!");
- //resp.sendRedirect("admin/add_student.jsp");
- out.println("<script>alert('此学号已注册!');" +
- "window.location.href = \"admin/add_student.jsp\";" +
- "</script>");
- }
- else{
- student = new Students();
- student.setUser(user);
- student.setPassword(password);
- student.setDepartment(department);
- student.setGrade(grade);
- student.setClasses(classes);;
- student.setEmail(email);
- student.setAmount(0);
- try {
- if(a_dao.add(student)){
- student = a_dao.getStudentByName(student.getUser());
- req.getSession().setAttribute("student",student);
- //System.out.println("添加成功!");
- //resp.sendRedirect("");
- out.println("<script>alert('添加成功!');" +
- "window.location.href = \"admin/add_student.jsp\";" +
- "</script>");
- return;
- }
- } catch (Exception e) {
- // TODO 自动生成的 catch 块
- e.printStackTrace();
- }
-
- }
- }
- }
-
-
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- //req.setCharacterEncoding("utf-8");
- doGet(req,resp);
- }
- }
javaBean类
admin
- package com.demo.javabean;
-
- public class Admins {
-
- private int id; //定义管理员的id序号
- private String admin; //登录账号
- private String password; //密码
- private String realname; //真实姓名
- private String phone; //电话号码
- private String email; //邮箱
- private String address; //地址
-
- //获取管理员的id序号
- public int getId() {
- return id;
- }
-
- //设置管理员的id序号
- public void setId(int id) {
- this.id = id;
- }
-
- //获取管理员的账号
- public String getAdmin() {
- return admin;
- }
-
- //设置管理员的账号
- public void setAdmin(String admin) {
- this.admin = admin;
- }
-
- //获取管理员的密码
- public String getPassword() {
- return password;
- }
-
- //设置管理员的密码
- public void setPassword(String password) {
- this.password = password;
- }
-
- //获取管理员的真实姓名
- public String getRealname() {
- return realname;
- }
-
- //设置管理员的真实姓名
- public void setRealname(String realname) {
- this.realname = realname;
- }
-
- //获取管理员的电话
- public String getPhone() {
- return phone;
- }
-
- //设置管理员的电话号码
- public void setPhone(String phone) {
- this.phone = phone;
- }
-
- //获得管理员的邮箱地址
- public String getEmail() {
- return email;
- }
-
- //设置管理员的邮箱地址
- public void setEmail(String email) {
- this.email = email;
- }
-
- //获取管理员的地址
- public String getAddress() {
- return address;
- }
-
- //设置管理员的地址
- public void setAddress(String address) {
- this.address = address;
- }
- }
student
- package com.demo.javabean;
-
- public class Students {
- public static final int PAGE_SIZE=5;
- private int id;
- private String user;
- private String password;
- private String department;
- private String grade;
- private String classes;
- private String email;
- private int amount;
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getUser() {
- return user;
- }
-
- public void setUser(String user) {
- this.user = user;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public String getDepartment() {
- return department;
- }
-
- public void setDepartment(String department) {
- this.department = department;
- }
-
- public String getGrade() {
- return grade;
- }
-
- public void setGrade(String grade) {
- this.grade = grade;
- }
-
- public String getClasses() {
- return classes;
- }
-
- public void setClasses(String classes) {
- this.classes = classes;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public int getAmount() {
- return amount;
- }
-
- public void setAmount(int amount) {
- this.amount = amount;
- }
- }
book
- package com.demo.javabean;
-
- public class Books {
- private static final long serialVersionUID = 1L;
- public static final int PAGE_SIZE=5;
- private int id;
- private String name;
- private String author;
- private String intro;
- private int amount;
- private String category;
-
- //取得图书的id序号
- public int getId() {
- return id;
- }
-
- //设置图书的id序号
- public void setId(int id) {
- this.id = id;
- }
-
- //获取图书的名字
- public String getName() {
- return name;
- }
-
- //设置图书的名字
- public void setName(String name) {
- this.name = name;
- }
-
- //获取图书的作者
- public String getAuthor() {
- return author;
- }
-
- //设置图书的作者
- public void setAuthor(String author) {
- this.author = author;
- }
-
- //获取图书的简介
- public String getIntro() {
- return intro;
- }
-
- //设置图书的简介
- public void setIntro(String intro) {
- this.intro = intro;
- }
-
- //获取图书的数量
- public int getAmount() {
- return amount;
- }
-
- //设置图书的数量
- public void setAmount(int amount) {
- this.amount = amount;
- }
-
- //获取图书的类别
- public String getCategory() {
- return category;
- }
-
- //设置图书的类别
- public void setCategory(String category) {
- this.category = category;
- }
- }
filter(过滤器类)
loginfilter
- package com.demo.filter;
-
- import java.io.IOException;
- import javax.servlet.Filter;
- import javax.servlet.FilterChain;
- import javax.servlet.FilterConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
-
-
- public class LoginFilter implements Filter {//对登录进行验证过滤
-
- @Override
- public void destroy() {
- // TODO 自动生成的方法存根
-
- }
-
- @Override
- public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
- throws IOException, ServletException {
- // TODO 自动生成的方法存根
- HttpServletRequest request=(HttpServletRequest) req;
- HttpServletResponse response=(HttpServletResponse)resp;
- HttpSession session=request.getSession(false);
- if(session!=null&&session.getAttribute("a_user")!=null){
- //继续往下走
- chain.doFilter(request, response);
- }
- else {
- response.sendRedirect("login.jsp");
- }
- }
-
-
- @Override
- public void init(FilterConfig arg0) throws ServletException {
- // TODO 自动生成的方法存根
-
- }
-
- }
characterfilter
- package com.demo.filter;
- import java.io.IOException;
- import javax.servlet.Filter;
- import javax.servlet.FilterChain;
- import javax.servlet.FilterConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
-
- public class CharacterFilter implements Filter {//对字符乱码问题进行过滤
-
- @Override
- public void destroy() {
- // TODO 自动生成的方法存根
-
- }
-
- @Override
- public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
- throws IOException, ServletException {
- // TODO 自动生成的方法存根
- HttpServletRequest request=(HttpServletRequest)req;
- HttpServletResponse response=(HttpServletResponse) resp;
- request.setCharacterEncoding("utf-8");
- response.setCharacterEncoding("utf-8");
- response.setContentType("text/html;charset=utf-8");
- //继续执行
- chain.doFilter(request, response);
- }
-
- @Override
- public void init(FilterConfig arg0) throws ServletException {
- // TODO 自动生成的方法存根
-
- }
-
- }
。。。因代码量较多,就不一一粘贴,有兴趣的友友可以交流。