图书管理系统_jdbc连接下基于servlet的最原始的javaWeb项目

本文介绍了一个使用Eclipse、Oracle数据库、Tomcat7和JDK7开发的简单图书管理系统。项目采用分层架构,包括dao、service、servlet和database等模块,实现了图书的增删改查功能,并通过拦截器实现登录验证。详细阐述了数据操作流程,如用户查询图书时,请求从servlet出发,经过service和dao,最后由database连接数据库完成查询。同时,项目中还包含了过滤器的实现。提供项目源码下载链接。
摘要由CSDN通过智能技术生成

最近疯了一段时间,感觉忘得差不多了,找到以前做的项目,重温一下

jdbc连接下基于servlet的最原始的javaWeb项目

工具:Eclipse ,oracle数据库,tomcat7 ,JDK 7

首先说一下需求: 简易的图书管理系统,顾名思义,简约就好,可以少一些表,但是该有的架子还是需要有的


看一下数据库的:


先看一下代码的结构图:分层嘛


再看一下运行的截图,做了拦截器,不登陆是没法访问这个界面的


下面我准备开始一步一步回忆啦,

就已图书那块为例,首先我要见数据库建表,


数据库完成后,就转入java 端啦,分层的思想,先新建包:dao,  service ,servlet, database,vo

vo:存实体类,比如图书类

database:操作数据库的类,连接数据库啦,关闭数据库啦等等

dao: 存对数据库增删改查的语句

service :进行事务控制

servlet:响应jsp 的请求

基本流程就是:(以用户查询图书为例)用户访问网站会发起请求(查询),请求先到servlet,端,servlet调用service里的查询图书的方法,service不是直接处理,而是转发任务去dao,dao调用database进行连接数据库,继而进行实际的查询工作,查出来的结果要进行格式化,就用到了我们的vo,以vo的格式将查询出来的数据格式化,再将结果返回service,service在这个例子里看不出什么作用,但是当用户进行新增或者修改删除时,就有用了,做这些操作可能会失败,service的作用就是如果失败,就进行事务回滚,不破坏数据库原有信息,service将结果返回servlet,servlet跳转至相应页面,将数据展示给用户

没听懂我也没办法啦

我这个项目是把功能也分层啦,图书是图书的,用户是用户的,然后连接数据库的我给封装在一起啦,common里存的就是公共的,什么过滤器啦,登陆登出,验证码啦这些

继续说图书这个模块,


数据的连接和增删改查的语句我都封装在了一起,所以图书模块里就没有这些啦

看看Book 这个类:

public class BookVO {
    // id
    private String bid;
    // 书名
    private String btitle;

    // 作者
    private String bauthor;

    // 封面图片
    private String bimage;

    // 图书简介
    private String bbriefinfo;

    // 是否可借
    private String bcanborrow;
    
    
    public String getBcanborrow() {
		return bcanborrow;
	}

	public void setBcanborrow(String bcanborrow) {
		this.bcanborrow = bcanborrow;
	}

	
    public String getBid() {
        return bid;
    }

    
    public void setBid(String bid) {
        this.bid = bid == null ? null : bid.trim();
    }

    
    public String getBtitle() {
        return btitle;
    }

    
    public void setBtitle(String btitle) {
        this.btitle = btitle == null ? null : btitle.trim();
    }

    
    public String getBauthor() {
        return bauthor;
    }

   
    public void setBauthor(String bauthor) {
        this.bauthor = bauthor == null ? null : bauthor.trim();
    }

    public String getBimage() {
        return bimage;
    }

    public void setBimage(String bimage) {
        this.bimage = bimage == null ? null : bimage.trim();
    }

    public String getBbriefinfo() {
        return bbriefinfo;
    }

    public void setBbriefinfo(String bbriefinfo) {
        this.bbriefinfo = bbriefinfo == null ? null : bbriefinfo.trim();
    }

}
因为用户要借还书,所有这个功能我给写在一起啦 StudentBorrowBook类

public class StudentBorrowBookVO {
    // id
    private String sbbid;

    // 学生id
    private String sid;
    
    // 学生name
    private String sname;

    // 图书name
    private String bname;

	// 图书id
    private String bid;

    // 借书时间
    private Date borrowtime;

    // 还书时间
    private Date returntime;

    public String getSname() {
    	return sname;
    }
    
    
    public void setSname(String sname) {
    	this.sname = sname;
    }
    
    
    public String getBname() {
    	return bname;
    }
    
    
    public void setBname(String bname) {
    	this.bname = bname;
    }
    
    
    public String getSbbid() {
        return sbbid;
    }

    
    public void setSbbid(String sbbid) {
        this.sbbid = sbbid == null ? null : sbbid.trim();
    }

    
    public String getSid() {
        return sid;
    }

    
    public void setSid(String sid) {
        this.sid = sid == null ? null : sid.trim();
    }

   
    public String getBid() {
        return bid;
    }

    
    public void setBid(String bid) {
        this.bid = bid == null ? null : bid.trim();
    }

   
    public Date getBorrowtime() {
        return borrowtime;
    }

    //java.util.Dat ----> java.sql.Date
    public void setBorrowtime(java.util.Date  borrowtime) {
        this.borrowtime = new Date(borrowtime.getTime());
    }

    
    public Date getReturntime() {
        return returntime;
    }

    
    public void setReturntime(java.util.Date returntime) {
        this.returntime = new Date(returntime.getTime());
    }
}
添加图书的界面:


<span style="white-space:pre&
  • 10
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值