Java web分层架构
① 数据库实体层 —————————entity / bean
② 具体数据库操作层(增删改查) ——dao(接口) ---- dao.impl (具体实现)
③ 业务层 ———————————— service(接口) ---- service.impl (具体实现)
④ 表示层 / 测试层———————— test / view
⑤ 流程控制层 —————————— controller
⑥ 工具类 ———————————— utils (可有可无,根据需求,是否有通用工具类)
先写数据库实体层①,再写具体数据库操作层②,再写业务层③,再写其他的。因为调用顺序是 ②调用① ,③调用②
(1)dao包:存放对数据库底层进行操作的类。与数据库进行连接,并进行增删改查操作。
(2)entity包:放置一个个实体,及其相应的set、get方法。如果想要对数据库进行一些操作(比如说读取)的话,就要先写entity层。
(3)service包:封装了数据库底层操作的更高级的操作。使一个方法对外表现为实现一种功能,例如:网购生成订单时,不仅要插入订单信息记录,还要查询商品库存是否充足,购买是否超过限制等等。
存放用户操作接口类:该包放置业务操作类,譬如用户服务类,一般情况将该用户操作类提取一个接口。
用户操作接口实现类:该用户接口实现类中调用DAO接口对数据库进行操作。
(4)servlet包–接收客户端请求,完成操作任务。
创建一个类继承httpservlet,重写doGet和doPost方法,在其中实现后台和前台交互。
Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
(5)utils 包:工具类,可用来连接数据库
(6)webXXX则是开发人员编写的JSP页面、html页面、js、还有java需要的jar包导入的地方、以及web配置项所在的地方,中文件夹的名称也是由开发人员来定义的。