一、项目介绍
1.1. 功能介绍
添加客户:添加客户信息,其中包括姓名、性别、手机、邮箱和自我描述
查询客户:查询数据库中的所有客户信息,查询结果以列表分页形式展示,可以对展示列表的客户信息进行编辑和删除
高级搜索:可根据客户信息模糊搜索,搜索的结果以列表分页形式展示,可对展示列表的客户信息进行编辑和删除
1.2. 运用知识
*数据库基本增、删、改、查sql语句
*数据库连接池c3p0
*commons-dbutils工具类库(1.运用dbutils.jar包封装表单数据到bean对象中
2.利用dbutils.jar包简化对数据库的增、删、改、查的代码)
*jsp标签库
*反射
*JavaWeb三成分离框架(MVC)
*Servlet的转发和重定向。(这里对servlet的转发和重定向方法进行了封装,当设计到多个功能是不用建立多个servlet类)
项目源代码传送门 <https://github.com/J1Weng/Customer_Management>
二、准备
2.1.需要导入的jar包
* c3p0.jar
* servlet-api.jar
* mchange-commons.java.jar
* commons-beanutils.jar
* commons-collections.jar
* commons-dbutils.jar
* commons-logging.jar
* jstl.jar
* mysql-connector-java.jar
*自己写的工具包:my-tools.jar
2.2.建包
*dao
*demo
*domain
*servic
*servlet
2.3.建表
三、搭建环境
* Eclipse+MySQL
四、项目功能截图
4.1. 主页
4.2. 添加客户
4.3. 查询客户
4.4. 高级搜索
五、各包功能模块分析
5.1. 自己写的jar工具包:my-tools.jar
该jar工具包下有三个包,分别为:
* cn.my.commons
* cn.my.jdbc
* cn.my.servlet
接下来对这三个包的功能分别做详细介绍。
5.1.1. cn.my.comons 包
该包下有两个类:
CommonUtils.java :主要实现两个功能,1.对客户信息提供唯一ID识别号; 2.将request中的表单数据转化为客户信息对象。
DataConverter.java:是 String转化为java.tuil.Date类型的转化器,用于上个类中转化器的注册。
5.1.2. cn.my.jdbc 包
该包下有两个类:
JdbcUtils.java:主要用来获取 数据库连接以及 事务的开启,关闭,回滚功能。
MyQueryRunner.java:主要对commons.dbutils.QueryRunner类进行封装,重写了其增删改查方法,隐藏了数据库连接,让用户无需再考虑事务完整性问题。
5.1.3 cn.my.servlet包
该包下有两个类:
GetRequest.java:对GET请求参数加以处理,将获取参数的编码更改为”utf-8“类型编码。
BaseServlet:继承HttpServlet,通过获取request对应method参数的值来调用之后
CustomerServlet1中对应的方法。以及调用对应方法返回的字符串进行解析实现网页转发重定向功能。
5.2. domain 包
该包主要用于映射数据库中客户信息封装成对象以及封装页面对象,属于模型层。该包主要有两个类:
Customer.java:映射数据库中客户信息,封装成客户对象。
PageBean.java:封装页面对象(实现列表分页功能准备)。
5.3. dao包
该包下有一个类:
CustomerDao.java:根据用户信息对数据库进行增删改查操作进行封装。
5.4. service包
该包属于控制层,包含一个类:
CustomerService.java:对CustomerDao方法进行调用,起到CustomerServlet与CustomerDao之间的桥梁作用。
5.5. servlet包
该包下包含一个类:
CustomerServlet1:继承BaseServlet类,实现request中method参数对应各种值的方法。
热门工具 换一换