JavaWeb项目之客户管理系统

1.项目介绍

1.1功能介绍

  • 添加客户:添加客户的信息,包括姓名,性别,手机,邮箱,自我描述
  • 查询客户:查询数据库中所有的客户,查询结果将客户信息以列表的形式给出,可以对列表中的客户信息进行编辑及删除
  • 高级搜索:多条件组合在数据库中进行客户信息的查询,搜索结果以列表的形式给出,可以对列表中的客户信息进行编辑及删除
  • 10月30日更:新增分页功能,逻辑性很强,具体逻辑请参照源码中相应代码。

源码请点击这里前往我的github

1.2运用知识

  • 数据库基本查询
  • 数据库连接池c3p0
  • 运用dbutil.jar包一键封装表单数据到bean对象中
  • 利用dbutils.jar包简化对数据库增、删、改、查的代码
  • 标签库
  • JavaWeb三层框架的分离(MVC模式)
  • 将servlet的转发、重定向及方法进行封装,这样当设计到多个功能时不用建立多个servlet类。
  • 反射

2.准备

1.导入第三方jar包以及c3p0配置文件。

  • c3p0.jar
  • mchange-commons.java.jar
  • commons-beanutils.jar
  • commons-dbutils.jar
  • commons-logging.jar
  • 自己写的小工具itcast-tools.jar
  • jstl.jar
  • mysql-connector-java.jar

2.建包

  • dao
  • service
  • servlet
  • domain

3.建表

很多人问我源码怎么没有附上sql语句,我想有必要今天更新一下,因为数据库中的表就是一张用户信息表啊,这么简单我还上传个啥的sql语句脚本呢?看下面的效果图就知道表的字段无非:id(主键,varchar类型,根据UUID类自动生成)、name、gender、phone、email、description这几个咯,直接在控制台(或者第三方数据库建表工具,我mac上用的就是MySQL Workbench)创建这样包含这些字段的一张表就好咯。

至于如何在表中添加数据,你可以将我的代码在你的电脑上面跑起来之后直接点击”添加客户”就可以在你数据库中的用户表中查到相应的用户信息咯。还有一种方法就是利用sql语句的insert语法自己在控制台中手动插入数据咯。

2017.02.17更:好吧,已经有太多的小伙伴让我给出sql语句了,想着为了减轻你们的负担我还是把sql语句给出来吧。这是我这个项目涉及到表的表结构,如下图,别告诉我把表结构都给你了你还写不出来它的sql语句…

3.搭建环境

IntelliJ IDEA + MySQL 或者 eclipse + MySQL

4.使用方法

  1. git clone https://github.com/codingXiaxw/CustomerManagement.git
  2. 使用IntelliJ IDEA导入打开 或者 使用eclipse打开CustomerManagement_for_Eclipse项目
  3. 使用eclipse/src/create_table.sql文件中的sql语句创建相应的数据库及表
  4. 修改CustomerManagement/src下c3p0-config.xml中数据库相关信息
  5. 部署Tomcat并启动,在浏览器中输入:http://localhost:8080/项目名/index.jsp
  6. enjoy it!

有读者发来邮件告诉我他用IDEA时遇到的坑,就是在浏览器中输入上述网址时会出现404的报错信息,但是控制台又没报错,他问我是不是代码的问题。我告诉他控制台既然没报错而且网页上说404肯定是访问路径的问题啊,后来才发现是因为他没在IDEA的配置中设置项目的访问路径,因为IDEA启动web项目时它默认在访问路径中没有加上项目名,所以此时你在浏览器中输入的访问路径不加上项目名(即访问http://localhost:8080/页面.jsp)才能成功访问;解决访问就是在IDEA的配置中,在访问路径那一栏加上该项目的项目名即可。

附上那位读者的邮件供大家参考:

以及我的回答:

5.项目功能截图

5.1添加客户

5.2查询客户

5.3编辑客户

5.4高级搜索客户

5.5 10月30日更新分页界面

2018.3.19更

欢迎加入我的Java交流1群:659957958。

2018.4.21更:如果群1已满或者无法加入,请加Java学习交流2群:305335626 。

6.联系

If you have some questions after you see this article,you can tell your doubts in the comments area or you can find some info by clicking these links.

记得扫一扫领一下红包再走哦