在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:czwbig/Tmall_JavaEE开源软件地址:https://github.com/czwbig/Tmall_JavaEE开源编程语言:TSQL 77.6%开源软件介绍:Tmall_JavaEE技术栈 Servlet + Jsp + Tomcat , 是Java Web入门非常好的练手项目 效果展示:项目简介
本项目为Java EE入门练手项目,没有使用 SSH , SSM 框架,而是使用 JavaEE 整套技术来作为解决方案,实现模仿天猫网站的各种业务场景。 之所以不使用框架,就是为了借助这个项目夯实 JavaEE 基础,并且在项目中借助反射等技术。
表结构建表sql 已经放在 Github 项目的 /sql 文件夹下
以上直接看可能暂时无法完全理解,结合后面具体到项目的业务流程就明白了。 实体类设计所谓的实体类,就是对于数据库中的表的互相映射的类。
这是一种 ORM 的设计思想,即一个对象,对应数据库里的一条记录
举个例子,对于 已省略对应的 getter/setter 方法 DAO 类设计DAO 是 Data Access Object 的缩写,专门用于进行数据库访问的操作。 首先看一下数据库工具类 DBUtil这个类的作用是初始化驱动,并且提供一个 getConnection 用于获取连接,统一管理连接参数,方便后续操作。 CategoryDAO利用 DBUtil 获取 Connectoion ,再获取对应的 Statement,利用 JDBC 从数据库取出数据,并构造成 bean 对象返回。 Service 类作为J2EE web 应用,一般会按照如图所示的设计流程进行 Servlet -> Service(业务类) -> DAO -> database 在本模仿天猫整站 JavaEE 版本中,不使用 Service 这一层。 原因是在 DAO 进行了比较详细的设计,已经提供了很好的支持业务的方法。如果在 DAO 上包裹一层 Service 业务类,不过是在直接调用 DAO 设计好的方法罢了。另外一个使用框架的项目会用到 Service 层。 Filter 配合 Servlet后台在系统设计的时候,并不是简单的每个功能对应一个 Servlet ,而是使用了反射的技术,结合过滤器Filter 进行了封装,使得开发配置以及维护成本降低了很多。 一个路径对应一个 Servlet 的弊端这里以分类进行举例: 分类管理需要:增加,删除,编辑,修改,查询 5 个功能,按照传统的在 web.xml 中配置 Servlet 的思路,那么就需要 5 个 Servlet 类,而后台需要做分类,产品,属性,产品图,用户,订单 6 中管理,就一共需要30 个 Servlet,还要配置 web.xml 就会变得很乱。 解决的方法是把所有分类操作放在同一个 Servlet ,对应不同的方法。 让我们来分析,如何做到访问 admin_category_list 的时候,CategoryServlet 的 list() 方法会被调用:
换句话说: 如果访问的路径是 admin_category_add,就会调用 categoryServlet.add() 方法 如果访问的路径是 admin_category_delete,就会调用 categoryServlet.delete() 方法 BackServletFilterBaseBackServletGithub-BaseBackServlet 完整代码 BaseBackServlet 继承了 HttpServlet 并重写了 service 方法,其核心代码如下: 流程图 另外还定义了增删查改等基础抽象方法,初始化了所有 DAO 对象 上图已经注释的很清楚了,项目全部代码都放在 github 上了,欢迎查看。 CategoryServlet
而后,list 方法使用 categoryDAO.list 查询出 category 对象集合,并跳转到 listCategory.jsp 显示 完整版的 listCategory.jsp 还包含4个公共文件,分别是 头部,导航,行业,页脚。 分类管理还有增加,编辑,修改,删除,分页,另外后台其他管理页面,前台页面。具体的需要浏览代码,篇幅原因就不展开了。 页面展示本篇博客所讲不足整个项目的 1/10 ,有兴趣的朋友请移步 github 项目的地址 。 参考天猫整站学习教程 里面除了本项目,还有 Java 基础,前端,Tomcat 及其他中间件等教程, 可以注册一个账户,能保存学习记录。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论