一、项目介绍

    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参数对应各种值的方法。

 

友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信