简易图书管理系统总结
来源:互联网 发布:搜狗拼音打字软件 编辑:程序博客网 时间:2024/05/20 03:41
对于一个项目,首先要考虑分层。
在简易图书管理系统中,将层次分为五层:
·com.company.project.control
·com.company.project.service
·com.company.project.bean
·com.company.project.conn
·com.company.project.dao
Control层:所有的Servlet都在这个层,作为一个控制器层,基本不放任何的业务逻辑。他处理自身的ServletException等异常。Servlet新特性,不需要再web.xml文件中配置Servlet,可使用注释@WebServlet(“”)。
Service层(model):在这一层处理异常,做算法运算,处理业务逻辑。
Dao层:这一层将对象映射到数据库中,将sql语句封装,基本上所有的异常全部抛出给调用者。
Bean(entity)层:放所有的实体类。在封装属性时,不要使用基本类型,要使用基础类型包装类。根据实际情况重写toString()方法。
Conn层:存放各种数据库连接。
Tips:
1. 对于良好的编程习惯,在定义成员变量时,不应该对其初始化,要在该类的构造方法中对其进行初始化,对于Servlet来说,重写init()方法对成员变量进行初始化。
2. Get方法会重写URL地址的参数(不管定义的URL地址中是否有参数),所以应该使用POST方法。
3. 对于数据类型异常的处理,对变量初始化后,进行try..catch()
4. 对于Conn层中的getConnention()来说,Class.forName()由于只需要执行一次,所以要在静态代码块中执行。
现在要实现对数据库中book表的增加和查看图书。
思路:
首先,当访问项目时,进入index.jsp欢迎页面,可选择增加图书和查看图书。点击增加图书,跳转到addbook.html页面,进行图书基本信息的填写,而后提交至一个Servlet控制器(BookServlet.java),由Servlet控制器寻找合适的方法(这个合适的方法是根据if语句判断,通过获取到URL地址传来的参数的不同,Servlet可以判断出用户需要的是那种业务逻辑,从而寻找相应的Service方法)来实现添加图书的功能,这个功能就是Service层中BookService.java,他来处理一些业务逻辑。最基本的,这个Service需要一个保存图书的功能save(Bookbook),但是Service层只是进行业务逻辑的处理,真正的方法放在Dao层的BookDAO.java中,他将Book对象和SQL语句封装在了一起,即将对象转换成SQL语句,则save(Book book)方法将调用BookDao.insert(Bookbook)方法,真正的实现将这本书存入数据库中。同样,点击查看图书,根据URL指示的Servlet和参数,调用了BookService中返回一个图书集合的方法,而这个方法同样来自于BookDAO.java中,因而就可以得到所有的图书信息。
总结:用户发起请求(VIEW),Servlet收到请求,Servlet判断用户需求(CONTROL),寻找合适的业务逻辑(MODEL),业务逻辑调用已经封装好的Dao层的方法。
- 简易图书管理系统总结
- 简易图书管理系统
- 基于RFID的简易图书管理系统设计与实现
- 简易图书管理系统(主要是jsp的练习)
- 一个简易Java开发的图书管理系统
- 图书管理系统项目总结(转贴)
- 完成图书管理系统后总结一下
- Java图书管理系统总结分享
- 图书管理系统full-stack总结
- 图书管理系统论文
- 图书管理系统(1)
- 图书管理系统(2)
- 图书管理系统(3)
- java-图书管理系统
- 图书管理系统
- 图书管理系统
- 简单图书管理系统
- 图书管理系统
- Spring事务配置的五种方式
- 赛式方法论:为什么你的游戏做不完、做得烂?
- Android中Adapter的getView方法复用view机制
- virtualbox 与 腾讯信鸽不得不说的事
- 基于HTML5 Canvas实现黑白滤镜
- 简易图书管理系统总结
- android 图片的模糊化处理,效果类似超级课程表的“我的中心"里头像背景,看起来很炫
- Git冲突处理的一些经验
- GitHub 优秀的 Android 开源项目
- 子网掩码、端口、DNS、网关
- 全功能智能车之CCD定时器触发ADC 触发DMA传输(CCD终结篇)(第十五篇)
- 初学者如何查阅某个学术领域的资料(以自然语言处理为例子)
- xUtils中DbUtils用法
- 当当网张亮:深度解读分布式作业调度框架elastic-job