![黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客 黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客](http://img2.ph.126.net/aDTSFY9-LAc5FRhP5BPejw==/1139692180801534463.jpg)
具体:
对于数据库的连接和关闭资源:因为很多地方都用到,所以封装为工具类!同时为了解耦的需要,将数据库信息存放在配置文件中去!(这样修改的话就只需要修改配置文件)
DAO层:数据库的操作,增删改查!因为后面用到了分页,所以加上方法:获取页面数据和获取总共记录数!(针对没有分页的情况而言!)
写完DAO层的实现:注意进行调试(利用junit测试框架,专业!)对数据库的增删改查功查进行一系列的操作!发现问题提前解决,否则的话上一层,上上一层调用,不知道究竟哪里出错!
Service层:对于号称“业务逻辑处理的Service层”,此处的作用仅仅是调用DAO层的实现(不可以跨层调用方法!)
MVC层:对于显示的JSP页面,此处用到了frameset框架集,组织多窗口!只需要修改需要修改的页面部分!注意Servlet与JSP页面之间传递时需要的数据需求!(在Servlet中获取所需要的数据,利用域对象传递给跳转页面!)
对于添加:JSP页面的数据完成后就跳转到Servlet:此时要把页面表单中的数据转换为Customer对象。需要封装数据,填充模型!封装工具类:构建formBean。然后调用Service层的方法添加用户到数据库!同时注意反馈信息给用户(提示成功与否)
对于添加:JSP——>Servlet,先显示页面,再处理!因为需要先获取数据,才可以处理!
对于显示:Servlet——>JSP,先处理,再显示页面!因为数据本身就有,只是需要显示出来!
对于删除:此处需要使用javascript语句,暂时不熟悉!调用Service层的方法,通过id进行删除!
对于修改:和添加差不多,只是多了类似数据回显(原本的数据显示出来)的操作!
对于分页:加上分页的操作,和JSP页面自身的显示,数据量有点大,所以在项目开发中就采用将分页与原有数据分离的方式,需要调用的时候再静态导入(<%@include%>)
对于引入的page而言,它的属性调用来自于跳转的上一个页面!大于20行的时候会显示11---30类似的效果在显示的Servlet中获取(在这里获取的page对象,page的构造方法中有判断!)!
备注:对于自身需要显示另外页面操作,一般都会需要参数,然后再跳转到另外页面!对于Delete而言,需要参数,但是不需要自身的跳转!对于add与update,需要参数一个Servlet,自身需要页面一个JSP,需要处理一个Servlet!
出现的问题:
1、数据库的乱码:首先在封装填充的时候就要设置编码!而且对于本题而言,在JSP中的调用方法改为post的话就出现乱码。使用get就正常。暂时不知道原因!
2、出现空引用异常:这个异常出现的原因有两个,
a) 对象不存在;
b) 属性不存在;
经常性的问题是:调用某方法,但是这个方法的返回值由于粗心仍是null,没有在方法写完后修改会来!
3、jar包没有导全!
4、Wrapper cannot find servlet class(包装无法找到的servlet类),这个很诡异,最终原因是web.xml配置文件出错,使用工具编写Servlet是不需要自己配置的,eclipse会自动的配置ok,但是个别情况下它竟然配置出错!
查看界面
![黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客 黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客](http://img2.ph.126.net/8oIhU_2NJB0-IZMIUIcbpQ==/3863244055453925702.jpg)
![黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客 黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客](http://img0.ph.126.net/N7-3vhthLvv_GPJiUdoX8Q==/812055307910331192.jpg)
![黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客 黑马程序员—客户管理系统 - 浅吟且行de未来 - 梦亦无痕的博客](http://img1.ph.126.net/gs40tVkg_jsCiXCHrKeFoA==/1777514478027881194.jpg)
这个项目,老师前后总共讲解了四个多小时,自己看了接近两天,包括思路,敲代码等!目前看来:不是多么难,而是不熟悉,很多情况自己写的话想不全面,肯定会导致前后返工!目前很欣慰的就是态度很好,学习java以来我的态度一直很端正,把自己当做一个没有任何基础的超级小白,有过信心上的膨胀,但是没有过学习上的浮躁,身体力行全部的代码,时常复习知识点!
多总结,多敲代码,这是我的经验!也是我从不喜欢编程到可以不谦虚的说我的java基础很好的保证!努力的人还有很多,我所做的和我的目标还不够!但,Android工程师,未来,我何惧道阻且长!