窝窝网项目总结(后台管理)

最近一直在跟着老师做一个窝窝网(Web端)的后台管理系统,在其中学到了很多,见解了不少,感觉比之前做的那个J2SE学车管理系统麻烦了不少,因为这次不仅需要对数据库的访问,还需要对服务器的连接识别,数据过滤等等,现在还是在不断学习中,为了方便我下次做项目,现在把学到的一些流程和技术做一下归类总结。

  • 项目搭建
    这一步是项目的最初搭建,把将要写的代码根据业务和功能分为各个类型,使代码更规范,便于自己维护代码。

    • 创建一个动态网页项目New Dynamic Web Project
    • 修改JNDI中的参数
    • 将需要用到的各种jar包加入到WEB-INF下的lib中
    • 将easyUI相关包添加到webContent下
    • 在webContent里创建一个back包,用来存放后台管理的界面,创建一个images包用来存放图片,创建一个css和js包(把用到的Jquery放到里面),(因为用到了ueditor插件,所以创建了一个ueditor包)
    • 把前端页面存放到webContent下面
    • 在src下创建包(Dao,Daoimpl包实现数据库的对接,Biz,Bizimpl包实现业务层的逻辑,entities包是实体类的对象层,utils包是工具类包,filters包是过滤操作,保证后台安全性,servlets包用来服务器的连接和响应)
      • 将DBhelper类加入Dao包下(这是连接数据库的封装类)
      • 将CharacterEncodingFilter类(编码集过滤器)加入filters包下并在Web-INF里的web.xml配置相关的filter和filter-mapping(保证访问时候的编码集正确)
      • 将BasicServlet类(基类servlet)和initServlet类(初始化servlet,用于创建图片上传目录)加入servlets包下,注意因为项目一部署就要将
      • 将一些用到的工具类加入到utils包下
  • 根据项目需求创建数据库表格
    这一步是刚开始很重要的一步,要下考虑好要更新哪些数据,修改或者删除哪些数据,具体数据的类型也要事先考虑好,这次项目主要是用到一下几张表;

--管理员信息表
--店铺类型表(自助、火锅、牛排)
--店家信息表
--商品信息(对应的是每个店铺中的商品)
--团购活动表
--注册会员
--购物车
--订单表
--订单详细
  • 根据数据库表格创建实体类
    这个不用多说,这就是面向对象的好处,将每个不同的对象封装起来,用类的形式封装代码,写好表格属性后,将Getters和Setters,toString方法,hashcode和equals方法自动生成,注意:这里的实体类要实现Serializable类生成序列化ID。在做这个项目时,根据数据库表创建了12个实体类

  • 封装Dao层和Biz层
    这个是在做的过程中慢慢增加和修改的,在实现某一个类型的数据更新时,先写对这个业务更新操作的Dao层,然后再写Dao层的实现impl,,再写Biz层和BizImpl(Biz接口方法和Dao层基本一样但impl类实现的不一样,这里主要对业务进行封装判断,但主要还是调用Dao的imp类,只是加入一些限制和判断),在做完每一次的封装后不要忘了先测试一下是否能够用这些方法类访问到数据库中的数据。

  • 过滤层和servlet层
    1、我们先写了一个编码集过滤器和一个后台权限过滤器,在filters包里面写好这两个类,然后再到web.xml中配置相关的filter和filter-mapping
    2、在写servlet时2有一个注意点,就是InitServlet是在当项目一部署就自动加载,所以要在web.xml中要加参数
    0
    这个initServlet是初始化servlet,用于创建图片上传目录,然后又写了一个基类servlet,即BasicServlet,用来封装服务器响应的回送方式,该类继承自HttpServlet。

==========低调的分割线=================================

以上部分就是项目做之前的准备工作,接下来对具体功能进行完成。

  • 实现管理员管理

    • 大概流程:界面编写 -> 管理员servlet -> web.xml中配置servlet -> 添加按钮组件 -> 给按钮添加事件 -> 事件访问servlet -> 用servlet中接收到的数据来访问biz业务层 -> bizImpl实现对数据库Dao层的修改 -> DaoImpl实现连接数据库和修改数据库
    • 用户操作的工作流程:点击按钮触发事件 -> 事件从web.xml中获得要访问的服务器类 -> 服务器类对客户端的数据提取再与数据库中的数据交互 -> 回送数据实现功能
    • 我们在写这里的界面时用到了easyUI里面的很多组件,如toolbar,columns等等,里面的很多参数在easyUI的API文档里面有,我自己也写了一些解释的文档,如果复习时,自己可以参考一下。
    • 这里我们还实现了分页查询的功能,所以要提前写好分页对象类
    • 最后实现效果如下:
      窝窝网项目总结(后台管理)_第1张图片

    • 具体的代码我在代码片中有储存,复习时在那里可以找到。

  • 实现店铺类型管理

    • 这个和上面的过程比较类似,就不做具体编写了

    • 实现效果:
      窝窝网项目总结(后台管理)_第2张图片

  • 实现店铺管理

    • 界面在上面的基础上增加了选择选项,所以要多几个处理事务的需求,先上效果图:
      窝窝网项目总结(后台管理)_第3张图片

    • 点击添加按钮会弹出一个添加界面,点击详细会出现一个显示具体内容信息的界面,上面的查询可以从店铺类型的下拉框中选择,也可以在店家姓名里面进行模糊查询(写出姓名姓氏即可查到所有该姓氏的姓名)
      点击添加按钮:

      窝窝网项目总结(后台管理)_第4张图片

    • 在添加界面里面用到了ueditor组件,可以实现对文字的编辑,在这个界面还有图片上传的预览和保存,这里用到了添加水印的工具类 ,使得原来的图片和添加水印后的图片在服务器中指定文件夹中保存,但管理在此界面只能看到加水印后的图片。

  • 前端注册表单,邮件发送,验证码发送等等再更。。。。

你可能感兴趣的:(web)