图书管理系统

一、项目简介

功能描述:登录图书管理系统后台,能够更改用户的密码,能够查询书籍,添加书籍,以及书籍信息的修改,还有会员的添加修改,会员的查询,然后是图书借阅功能,需要会员查询和图书查询的应用,然后再完成借阅和归还功能
参考git地址或博客地址:
无;
个人负责任务:
页面编写,部分servlet的编写,servlet与页面的交互
团队博客链接:
https://blog.csdn.net/huayvmoshui/article/details/122420825
个人博客链接:期望得B的同学必须有

二、功能架构图

在这里插入图片描述

三、个人任务简述

  1. 完成的任务与功能:
    简单描述将自己完成的有特色的地方、重难点地方。
    序号 完成功能与任务 描述
    1 Servlet与web页面的连接 form表单的提交
    2 Web,jsp编写,css编写 使用了HBulider软件帮助编写页面,使用了jquery和ajax模式,实现部分网页功能,主要使用table表的模式编写页面
    3 登录功能 登录功能,用UserServlet来实现,用servlet体系继承httpServlet的类执行过程,采用了验证码
    4 书籍添加修改 响应页面请求的servlet,处理提交form表单,
    获取web页面数据,调用方法修改数据库信息
    5 会员的添加修改 响应页面的servlet,处理表单,获取web页面数据,调用方法修改数据库信息

  2. Git提交记录截图:
    本人在项目中的提交提截图。最多1页。

四、本人负责功能详解

  1. Web页面,jsp编写,css编写:
    主要使用了HBuilderX软件帮助编写;

  2. 登录功能
    主要用Servlet体系和继承HttpServlet类来进行响应页面请求,完成服务端与页面的交互,获取页面表单数据,然后与和数据库中的用户信息对比,名字密码正确,以及验证码正确登录成功

String passcode=session.getAttribute("code").toString();
                String  name =req.getParameter("name");
                String pwd =req.getParameter("pwd");
                String valcode= req.getParameter("valcode");
                User user =userBiz.getUser(name,pwd);
                if(user==null){
                out.println("<script>alert('用户名或密码不正确');location.href='login1.html'</script>");
                }else  if(!valcode.equalsIgnoreCase(passcode)){
                    out.println("<script>alert('验证码不正确');location.href='login1.html'</script>");
                }
                else{
                    session.setAttribute("user",user);
                out.println("<script>alert('登陆成功');location.href='index.jsp'</script>");
                }

3.书籍添加修改
展示数据库中的书籍列表,用jquery实现,从服务端调取数据,然后展示到页面,添加修改获取网页表单信息,修改数据库;

  private void add1(HttpServletRequest req, HttpServletResponse resp, PrintWriter out) throws Exception {
        Book book =new Book();
        book.setName(req.getParameter("name"));
        book.setAddress(req.getParameter("address"));
        book.setDesc(req.getParameter("desc"));
        double price = Double.parseDouble(req.getParameter("price"));
        book.setPrice(price);
        long  stock=Long.parseLong(req.getParameter("stock"));
        book.setStock(stock);
        book.setPublish(req.getParameter("publish"));
        book.setAuthor(req.getParameter("author"));
        int count = bookBiz.add(book);
        if(count>0){
            out.println("<script>alert('添加书籍成功');location.href='book.let?type=query&pageIndex=1';</script>");
        }else{
            out.println("<script>alert('添加书籍失败');location.href='book_add.jsp';</script>");
        }

    }
    private void modify1(HttpServletRequest req, HttpServletResponse resp, PrintWriter out) throws Exception ,ClassCastException{

        Book book=new Book();
        book.setName(req.getParameter("name"));
        book.setAddress(req.getParameter("address"));
        long id =Long.parseLong(req.getParameter("id"));
        book.setId(id);
        book.setDesc(req.getParameter("desc"));
        double price = Double.parseDouble(req.getParameter("price"));
        book.setPrice(price);
        long  stock=Long.parseLong(req.getParameter("stock"));
        book.setStock(stock);
        book.setPublish(req.getParameter("publish"));
        book.setAuthor(req.getParameter("author"));
        System.out.println(book.toString());
        int count = bookBiz.modify(book);
        if(count>0){
            out.println("<script>alert('修改书籍成功');location.href='book.let?type=query&pageIndex=1';</script>");
        }else{
            out.println("<script>alert('该书不存在,修改书籍失败');location.href='book.let?type=query&pageIndex=1';</script>");
        }
    }


    /**
     * 查看图书详情
     * @param req
     * @param resp
     * @param out
     */

    private void details(HttpServletRequest req, HttpServletResponse resp, PrintWriter out) throws ServletException, IOException {
        //1.获取图书的编号
         long bookId =  Long.parseLong(req.getParameter("id"));
        //2.根据编号获取图书对象
         Book book = bookBiz.getById(bookId);
        //3.将对象保存到req
        req.setAttribute("book",book);
        //4.转发到 jsp页面
        req.getRequestDispatcher("book_details.jsp").forward(req,resp);
    }

    /**
     * 查询
     * book.let?type=query&pageIndex=1
     * 页数: biz
     * 当前页码:pageIndex = 1
     * 存:request,转发
     * @param req
     * @param resp
     * @param out
     */

    private void query(HttpServletRequest req, HttpServletResponse resp, PrintWriter out) throws ServletException, IOException {
        //1.获取信息(页数,页码,信息)
        int pageSize = 10;
        int pageCount = bookBiz.getPageCount( pageSize);
        int pageIndex = Integer.parseInt(req.getParameter("pageIndex"));
        if(pageIndex<1){
            pageIndex = 1;
        }
        if(pageIndex>pageCount){
            pageIndex = pageCount;
        }
        List<Book> books = bookBiz.getByPage(pageIndex,pageSize);
        //2.存
        req.setAttribute("pageCount",pageCount);
        req.setAttribute("books",books);
        //3. 转发到jsp页面,通过地址栏传页数
        req.getRequestDispatcher("book_list.jsp?pageIndex="+pageIndex).forward(req,resp);
    }
  1. 会员添加修改展示
 private void add(HttpServletRequest req, HttpServletResponse resp, PrintWriter out) {
        Member member =new Member();
        member.setName(req.getParameter("name"));
        member.setPwd(req.getParameter("pwd"));
        member.setIdNumber(req.getParameter("idNumber"));
        double balance= Double.parseDouble(req.getParameter("balance"));
        member.setBalance(balance);
        member.setTel(req.getParameter("tel"));
        int count = memberBiz.add(member);
        if(count>0){
            out.println("<script>alert('添加会员成功');location.href='member.let?type=query';</script>");
        }else{
            out.println("<script>alert('添加会员失败');location.href='member_add.jsp';</script>");
        }
    }
    private void modify(HttpServletRequest req, HttpServletResponse resp, PrintWriter out) {
        Member member =new Member();
        long id = Long.parseLong(req.getParameter("id"));
        member.setId(id);
        member.setName(req.getParameter("name"));
        member.setPwd(req.getParameter("pwd"));
        member.setIdNumber(req.getParameter("idNumber"));
        double balance= Double.parseDouble(req.getParameter("balance"));
        member.setBalance(balance);
        member.setTel(req.getParameter("tel"));
        memberBiz.modify(member);
        int count = memberBiz.modify(member);
        if(count>0){
            out.println("<script>alert('修改成功');location.href='member.let?type=query';</script>");
        }else{
            out.println("<script>alert('修改失败');location.href='member.let?type=query';</script>");
        }
    }

五、课程设计感想

第一次参与多人合作项目,也是第一次接触web项目,一开始有太多太多的东西不懂,需要慢慢学习,期间看了很多视频,先是学习web界面的编写,然后慢慢理解页面请求服务端提供服务,完成一系列的交互,编写代码过程出现很多的bug,查阅了很多资料,一个个慢慢解决bug,最先的tomcat配置,就吃了很多苦头,有tomcat启动闪退,还有端口冲突,完成前后端的时候,需要不断传数据,写数据的时候,出现线程冲突,出现了很多问题,困难众多,但此次课程设计收获良多

六、展望

  1. 页面设计的还不够美观,修改密码功能不能保证密码的第二次和第一次相同
  2. 课设后想进一步学习web界面的编写,以及与服务端的交互功能。
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值