社区
Web 开发
帖子详情
view,action,service,dao,domain,如何按照mvc规范写web程序
tanshionjob
2013-08-12 09:13:13
我现在开始学习mvc分层架构,但是是不知道如何下手,知道程序应该差不多是按照控制层action->显示层view->业务层service->数据处理层dao,我先写了domain层,但是又不知道要从哪里接着写了,总是写着写着逻辑就乱了,请问大概要按照什么顺序写逻辑清晰一点呢?各个层之间怎么联系起来?请大大侠们帮忙。
...全文
288
3
打赏
收藏
view,action,service,dao,domain,如何按照mvc规范写web程序
我现在开始学习mvc分层架构,但是是不知道如何下手,知道程序应该差不多是按照控制层action->显示层view->业务层service->数据处理层dao,我先写了domain层,但是又不知道要从哪里接着写了,总是写着写着逻辑就乱了,请问大概要按照什么顺序写逻辑清晰一点呢?各个层之间怎么联系起来?请大大侠们帮忙。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Mr_mot
2013-08-13
打赏
举报
回复
开始的话先action 什么不调用的直接返回一个页面。 然后先实体类 再Dao(先只要findAll 和findById方法) 再service 和action里写方法 及前台 JSP 。
owen1759
2013-08-13
打赏
举报
回复
那要看你们公司选择用多少个层和哪些层,最好模仿前辈的写法,毕竟不同公司不一样。 这里我拿我就职公司的层次结构给你讲: 分为Action、Service、Dao三个层,另外还有实体类、sqlmap和spring、struts配置文件 它们的关系如下: 系统中抽象出来的每个对象一个实体类,属于POJO,除了get/set以外没有其他方法 对应实体类,写一个sqlmap,给ibatis调用,比如增删该查的sql语句 Dao层继承自公司公用Dao,仅用于调用ibatis来执行增删改查。 Service层属于业务层,有的地方叫manager,用于进行各种需要调用各种Dao来进行判断处理,执行业务逻辑的地方。比如我之前做过一个比较复杂的service,要调用几个不同 DAO进行增删改查 Action属于表现层,说白了就是“打杂的”,比如检验表单有效性啊、记录操作日志啊、权限检查啊之类的都在这里,它不进行真正实际的业务 然后用spring将三层各个实例,作为接口的实现(Dao层和Service层都有接口)注入到对应上层bean中 struts配置好转发,即url地址与Action和jsp的对应关系 故文件清单为 sqlmap文件、实体类文件、Dao接口、Dao实现、Service接口、Service实现、Action、jsp页面、spring配置文件、struts配置文件
oh_Maxy
2013-08-12
打赏
举报
回复
学习都是从模仿开始的,就教材上的例子,可以模仿者敲几遍,思考下哪里是M/V/C
java
web
中
action
,
service
,
dao
,
dom
ain
的解释(涉及
MVC
和三层架构)
文章一: 关于
MVC
结构中的
action
,
service
,
dao
,
dom
ain
的解释: 这里是引用
service
是业务层,
dao
是数据访问层。简单的说
DAO
层是跟数据库打交道的,
service
层是处理一些业务流程的 表示层调用控制层,控制层调用业务层,业务层调用数据访问层。 举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能
写
成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里
写
。 比说你现在用的是SSH框架,
spring
mvc
三层架构表现层: 接收请求响应用户 servlet – spring
MVC
业务层:处理业务,事务 自己
写
业务层 – spring 管理业务层持久层: 对数据库进行增删改查操作 jdbc – dbutils --jdbcTemplate – mybatis – spring data
MVC
设计模式M:model 模型:封装数据 广义:业务模型层 =
dao
+
service
+
dom
ain
V:
view
视图:展示数据 广义:能展示数据都是视图:jsp, html ,pdf ,f
CMake CMP0209 策略详解:可执行目标接口头文件集验证与 ENABLE_EXPORTS 解耦
CMake 4.3 引入的 `CMP0209` 策略,改变了可执行目标(executable target)接口头文件集(interface header sets)验证的执行条件:此前只有开启了 `ENABLE_EXPORTS` 的可执行目标才会被校验头文件,而现在无论是否导出符号,只要目标启用了 `VERIFY_INTERFACE_HEADER_SETS`,CMake 就会执行验证。本文基于
CC Switch 开了本地路由,Codex 请求还是 404?按这条链路逐项自查
你在 CC Switch 里保存了第三方供应商并打开本地路由,结果 Codex 里发请求照样报 404,或干脆感觉路由没起作用。这篇文章先讲清一次请求从 CC Switch 到上游要经过哪几环,再按你看到的具体症状给出分支式的自查操作,做完后你的供应商应该能正常发出请求并在路由面板里看到记录。 [![CC Switch 供应商列表与本地路由接管的主界面](https://raw.gitcode.
Spring Boot与微服务电商实战:大厂面试架构决策指南
在Java后端开发中,Spring Boot与微服务架构已成为企业级应用的核心底座,也是大厂技术面试的高频考察方向。Spring Boot通过自动配置与Starter机制大幅简化了项目搭建流程,而微服务架构则要求开发者具备服务拆分、分布式事务、幂等设计等工程实践能力。本文从电商业务场景切入,系统梳理了四层架构的职责边界、条件装配的底层原理、服务治理的关键设施,以及订单、库存、支付等核心链路的落地策略。同时结合线程池调优、缓存一致性、日志排查等实战细节,帮助读者建立从基础概念到架构决策的完整知识体系,从容应对
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章