社区
Web 开发
帖子详情
view,action,service,dao,domain,如何按照mvc规范写web程序
tanshionjob
2013-08-12 09:13:13
我现在开始学习mvc分层架构,但是是不知道如何下手,知道程序应该差不多是按照控制层action->显示层view->业务层service->数据处理层dao,我先写了domain层,但是又不知道要从哪里接着写了,总是写着写着逻辑就乱了,请问大概要按照什么顺序写逻辑清晰一点呢?各个层之间怎么联系起来?请大大侠们帮忙。
...全文
219
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
火炬博客系统5
软件及安装说明
本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个层次,即表示层(Presentation Layer)、域模型层(
Dom
ain
Model Layer)、 业务层(bussiness Layer)和持久层(Persistence Layer),使用Spring框架整合Struts和 Hibernate,用Spring的“控制反转IOC”, 或者“setter依赖注入”来操作这些对象,这些对象在一个外部的XML文件中被引用。
表示层主要负责前台Jsp页面的表示,管理用户的请求;
域模型层由实际需求中的业务对象组成,既常说的BO(Business Object);
业务层是
Web
应用的中间部分,使业务逻辑和数据库持久操作解耦,使代码更容易维护,主要处理应用
程序
的业务逻辑和业务验证,管理事务,预留和其它层交互的接口,管理业务层对象之间的依赖,增加在表现层和持久层之间的灵活性,使它们互不直接通讯,管理从业务逻辑到持久层的实现。
持久层用于分离业务逻辑和数据存取,把数据封装在
DAO
中,负责与数据库进行联络的一些任务都封装在此。
各个层可以单独开发,互相的耦合度很低,这在开发大项目的过程中尤其有优势,层与层之间通过调用接口完成所需要的逻辑单元应用,一切显得非常清晰简单。
Struts是目前最流行的
Web
框架,提供对开发
MVC
系统的底层的很好的支持,采用的主要技术是Servlet、Jsp、和Custom Tag Library技术。使用该框架开发
MVC
程序
变的非常简单,Struts对
MVC
层的Model、
View
、和Controller都提供了对应的实现组件。Struts框架中Controller角色是由一个中心Servlet类和众多
Action
类合作扮演的,中心Servlet类为控制器提供中心控制点来初步处理所有的用户请求,并选择一个
Action
类处理具体业务逻辑。
Struts负责管理用户的请求,做出响应,提供控制器,委派调用业务逻辑,处理异常,UI 验证等,Struts用来作表示层部分,起控制和显示作用; 本系统使用 Spring 的DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor,将 Struts 动作整合到 Spring 框架中。
Spring框架是轻量级组件部署和运行的容器,可以很好的支持AOP(面向切面编程)的开发模式,Spring能有效地组织中间层对象,通过Bean容器为业务对象、
DAO
对象和资源对象提供了IOC类型的装配能力,将Struts和Hibernate集成起来,使用Spring构建的应用
程序
易于单元测试。Spring为数据存取提供了一个一致的框架,包括JDBC和O/R Mapping产品。
Spring用来作业务层部分,负责处理应用
程序
的业务逻辑和业务校验;管理事务;提供与其它层相互作用的接口;管理业务层级别的对象的依赖等,用来作业务层部分和数据库操作的事务处理,需要在配置文件里配置好;
Hibernate是一个优秀的开放源代码的对象关系映射(O/R Mapping)框架,它对JDBC进行了非常轻量级的对象封装,提供了强大高性能的对象到关系数据库的持久化服务,使
程序
员可使用面向对象思维来操纵数据库。
Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作
DAO
处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制Hibernate的SessionFactories,JDBC datasources及其它相关的资源,进行完整的事务管理和异常的包装,在此用了Spring的事物模板(Trans
action
Template)实现,可分离数据访问和事物处理,提高业务对象的可复用性,采用getHibernateTemplate()方法来操作hsql进行数据增删改等操作。
本系统是一个先进的博客系统,能基本完整的实现博客的功能,主要有以下功能:
1。用户注册登录功能。用户可以在网站上注册一个帐户,建立自己的博客,用户可以登录到自己的管理界面,管理文章、评论、相片、个人信息等。
2。博客首页功能。可显示火炬博客系统的全面信息,如最新文章、热门文章等。
3。我的首页功能。可显示个人博客的全面信息,如最新文章、最新评论、作者相片、日历等。
4。博客管理功能。用户可以管理自己的博客,包括文章管理、评论管理、相片管理、档案管理、类别管理、个人资料管理、注册信息管理等。
5。
写
文章功能。本系统采用流行的FCKEditor编辑器,提供强大的编辑和排版功能,文章可实现优美的显示效果。
6。评论功能。访问者可对文章发表评论。
7。留言功能。访问者可给每个博客留言。
8、搜索功能。可按不同项目进行搜索。
9。Tag功能。文章可产生多个相关Tag,可按不同Tag进行搜索。
10。RSS功能。本系统采用先进的RSS2.0技术,实现RSS功能,便于浏览。
11。相册功能。可浏览博客相片。
12。个人档案功能。可浏览博客个人资料。
13。找回密码功能。可通过问题回答找回密码。。
14。聊天功能。访问者和用户可在线聊天,可以群聊,也可以私聊,反应快速,功能强大。
15。博客统计功能。可统计博客系统的基本信息。
16。访问人数统计功能。可统计网站在线访问人数。
17。分页功能。本系统具备完善的分页功能。
18。连接池功能。本系统采用连接池技术,解决了数据库瓶颈,大大提高了运行速度。
19。注销功能。可安全退出系统。
20。防重复提交功能。本系统还采用Struts的Token机制和JavaScript技术实现绝对安全的防重复提交功能。
21。文章管理。可修改、删除文章。
22。评论管理。可回复、删除评论。
23。相片管理。可上传相片,设置主肖像,删除相片。
24。档案管理。可按月建立档案,浏览档案。
25 。类别管理。可建立、修改、删除类别。
26。个人资料管理。可输入修改个人资料。
27。 注册信息管理。可输入修改注册信息,包括修改密码。
28。 错误和异常管理。可处理错误情况,提示错误信息。
MYSQL安装
将安装包解压缩,运行tdbmysql.bat,然后用torchblogdb-setup.sql建表,
将数据导入 MYSQL数据库。
将torchblog目录COPY至Tomcat/
web
apps/下,即Tomcat/
web
apps/torchblog
修改Tomcat/
web
apps/torchblog/
WEB
-INF/classes/init.properties文件
主要修改
datasource.url=jdbc:mysql://127.0.0.1/torchblog?useUnicode=true&characterEncoding=gb2312
datasource.username=root
datasource.password=
这三项,根据你的实际情况修改,但注意useUnicode=true&characterEncoding=gb2312不能修改。
红梅居士
火炬博客系统7
软件及安装说明
本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个层次,即表示层(Presentation Layer)、域模型层(
Dom
ain
Model Layer)、 业务层(bussiness Layer)和持久层(Persistence Layer),使用Spring框架整合Struts和 Hibernate,用Spring的“控制反转IOC”, 或者“setter依赖注入”来操作这些对象,这些对象在一个外部的XML文件中被引用。
表示层主要负责前台Jsp页面的表示,管理用户的请求;
域模型层由实际需求中的业务对象组成,既常说的BO(Business Object);
业务层是
Web
应用的中间部分,使业务逻辑和数据库持久操作解耦,使代码更容易维护,主要处理应用
程序
的业务逻辑和业务验证,管理事务,预留和其它层交互的接口,管理业务层对象之间的依赖,增加在表现层和持久层之间的灵活性,使它们互不直接通讯,管理从业务逻辑到持久层的实现。
持久层用于分离业务逻辑和数据存取,把数据封装在
DAO
中,负责与数据库进行联络的一些任务都封装在此。
各个层可以单独开发,互相的耦合度很低,这在开发大项目的过程中尤其有优势,层与层之间通过调用接口完成所需要的逻辑单元应用,一切显得非常清晰简单。
Struts是目前最流行的
Web
框架,提供对开发
MVC
系统的底层的很好的支持,采用的主要技术是Servlet、Jsp、和Custom Tag Library技术。使用该框架开发
MVC
程序
变的非常简单,Struts对
MVC
层的Model、
View
、和Controller都提供了对应的实现组件。Struts框架中Controller角色是由一个中心Servlet类和众多
Action
类合作扮演的,中心Servlet类为控制器提供中心控制点来初步处理所有的用户请求,并选择一个
Action
类处理具体业务逻辑。
Struts负责管理用户的请求,做出响应,提供控制器,委派调用业务逻辑,处理异常,UI 验证等,Struts用来作表示层部分,起控制和显示作用; 本系统使用 Spring 的DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor,将 Struts 动作整合到 Spring 框架中。
Spring框架是轻量级组件部署和运行的容器,可以很好的支持AOP(面向切面编程)的开发模式,Spring能有效地组织中间层对象,通过Bean容器为业务对象、
DAO
对象和资源对象提供了IOC类型的装配能力,将Struts和Hibernate集成起来,使用Spring构建的应用
程序
易于单元测试。Spring为数据存取提供了一个一致的框架,包括JDBC和O/R Mapping产品。
Spring用来作业务层部分,负责处理应用
程序
的业务逻辑和业务校验;管理事务;提供与其它层相互作用的接口;管理业务层级别的对象的依赖等,用来作业务层部分和数据库操作的事务处理,需要在配置文件里配置好;
Hibernate是一个优秀的开放源代码的对象关系映射(O/R Mapping)框架,它对JDBC进行了非常轻量级的对象封装,提供了强大高性能的对象到关系数据库的持久化服务,使
程序
员可使用面向对象思维来操纵数据库。
Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作
DAO
处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制Hibernate的SessionFactories,JDBC datasources及其它相关的资源,进行完整的事务管理和异常的包装,在此用了Spring的事物模板(Trans
action
Template)实现,可分离数据访问和事物处理,提高业务对象的可复用性,采用getHibernateTemplate()方法来操作hsql进行数据增删改等操作。
本系统是一个先进的博客系统,能基本完整的实现博客的功能,主要有以下功能:
1。用户注册登录功能。用户可以在网站上注册一个帐户,建立自己的博客,用户可以登录到自己的管理界面,管理文章、评论、相片、个人信息等。
2。博客首页功能。可显示火炬博客系统的全面信息,如最新文章、热门文章等。
3。我的首页功能。可显示个人博客的全面信息,如最新文章、最新评论、作者相片、日历等。
4。博客管理功能。用户可以管理自己的博客,包括文章管理、评论管理、相片管理、档案管理、类别管理、个人资料管理、注册信息管理等。
5。
写
文章功能。本系统采用流行的FCKEditor编辑器,提供强大的编辑和排版功能,文章可实现优美的显示效果。
6。评论功能。访问者可对文章发表评论。
7。留言功能。访问者可给每个博客留言。
8、搜索功能。可按不同项目进行搜索。
9。Tag功能。文章可产生多个相关Tag,可按不同Tag进行搜索。
10。RSS功能。本系统采用先进的RSS2.0技术,实现RSS功能,便于浏览。
11。相册功能。可浏览博客相片。
12。个人档案功能。可浏览博客个人资料。
13。找回密码功能。可通过问题回答找回密码。。
14。聊天功能。访问者和用户可在线聊天,可以群聊,也可以私聊,反应快速,功能强大。
15。博客统计功能。可统计博客系统的基本信息。
16。访问人数统计功能。可统计网站在线访问人数。
17。分页功能。本系统具备完善的分页功能。
18。连接池功能。本系统采用连接池技术,解决了数据库瓶颈,大大提高了运行速度。
19。注销功能。可安全退出系统。
20。防重复提交功能。本系统还采用Struts的Token机制和JavaScript技术实现绝对安全的防重复提交功能。
21。文章管理。可修改、删除文章。
22。评论管理。可回复、删除评论。
23。相片管理。可上传相片,设置主肖像,删除相片。
24。档案管理。可按月建立档案,浏览档案。
25 。类别管理。可建立、修改、删除类别。
26。个人资料管理。可输入修改个人资料。
27。 注册信息管理。可输入修改注册信息,包括修改密码。
28。 错误和异常管理。可处理错误情况,提示错误信息。
MYSQL安装
将安装包解压缩,运行tdbmysql.bat,然后用torchblogdb-setup.sql建表,
将数据导入 MYSQL数据库。
将torchblog目录COPY至Tomcat/
web
apps/下,即Tomcat/
web
apps/torchblog
修改Tomcat/
web
apps/torchblog/
WEB
-INF/classes/init.properties文件
主要修改
datasource.url=jdbc:mysql://127.0.0.1/torchblog?useUnicode=true&characterEncoding=gb2312
datasource.username=root
datasource.password=
这三项,根据你的实际情况修改,但注意useUnicode=true&characterEncoding=gb2312不能修改
修改配置可用oracle。
红梅居士
小
程序
web
-
view
使用方法,微信
web
-
view
实现微信支付
会员免费看,http://edu.csdn.net/lecturer/842右侧可办理会员卡。小
程序
web
-
view
使用方法是子恒老师《子恒说小
程序
开发》视频教程的第4部。详细讲解了小
程序
web
-
view
组件的使用,内容包含
web
view
打开网页,网页与小
程序
之间的跳转,在
web
view
中实现微信支付等等。欢迎反馈,微信号:QQ68183131
火炬博客系统6
软件及安装说明
本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个层次,即表示层(Presentation Layer)、域模型层(
Dom
ain
Model Layer)、 业务层(bussiness Layer)和持久层(Persistence Layer),使用Spring框架整合Struts和 Hibernate,用Spring的“控制反转IOC”, 或者“setter依赖注入”来操作这些对象,这些对象在一个外部的XML文件中被引用。
表示层主要负责前台Jsp页面的表示,管理用户的请求;
域模型层由实际需求中的业务对象组成,既常说的BO(Business Object);
业务层是
Web
应用的中间部分,使业务逻辑和数据库持久操作解耦,使代码更容易维护,主要处理应用
程序
的业务逻辑和业务验证,管理事务,预留和其它层交互的接口,管理业务层对象之间的依赖,增加在表现层和持久层之间的灵活性,使它们互不直接通讯,管理从业务逻辑到持久层的实现。
持久层用于分离业务逻辑和数据存取,把数据封装在
DAO
中,负责与数据库进行联络的一些任务都封装在此。
各个层可以单独开发,互相的耦合度很低,这在开发大项目的过程中尤其有优势,层与层之间通过调用接口完成所需要的逻辑单元应用,一切显得非常清晰简单。
Struts是目前最流行的
Web
框架,提供对开发
MVC
系统的底层的很好的支持,采用的主要技术是Servlet、Jsp、和Custom Tag Library技术。使用该框架开发
MVC
程序
变的非常简单,Struts对
MVC
层的Model、
View
、和Controller都提供了对应的实现组件。Struts框架中Controller角色是由一个中心Servlet类和众多
Action
类合作扮演的,中心Servlet类为控制器提供中心控制点来初步处理所有的用户请求,并选择一个
Action
类处理具体业务逻辑。
Struts负责管理用户的请求,做出响应,提供控制器,委派调用业务逻辑,处理异常,UI 验证等,Struts用来作表示层部分,起控制和显示作用; 本系统使用 Spring 的DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor,将 Struts 动作整合到 Spring 框架中。
Spring框架是轻量级组件部署和运行的容器,可以很好的支持AOP(面向切面编程)的开发模式,Spring能有效地组织中间层对象,通过Bean容器为业务对象、
DAO
对象和资源对象提供了IOC类型的装配能力,将Struts和Hibernate集成起来,使用Spring构建的应用
程序
易于单元测试。Spring为数据存取提供了一个一致的框架,包括JDBC和O/R Mapping产品。
Spring用来作业务层部分,负责处理应用
程序
的业务逻辑和业务校验;管理事务;提供与其它层相互作用的接口;管理业务层级别的对象的依赖等,用来作业务层部分和数据库操作的事务处理,需要在配置文件里配置好;
Hibernate是一个优秀的开放源代码的对象关系映射(O/R Mapping)框架,它对JDBC进行了非常轻量级的对象封装,提供了强大高性能的对象到关系数据库的持久化服务,使
程序
员可使用面向对象思维来操纵数据库。
Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作
DAO
处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制Hibernate的SessionFactories,JDBC datasources及其它相关的资源,进行完整的事务管理和异常的包装,在此用了Spring的事物模板(Trans
action
Template)实现,可分离数据访问和事物处理,提高业务对象的可复用性,采用getHibernateTemplate()方法来操作hsql进行数据增删改等操作。
本系统是一个先进的博客系统,能基本完整的实现博客的功能,主要有以下功能:
1。用户注册登录功能。用户可以在网站上注册一个帐户,建立自己的博客,用户可以登录到自己的管理界面,管理文章、评论、相片、个人信息等。
2。博客首页功能。可显示火炬博客系统的全面信息,如最新文章、热门文章等。
3。我的首页功能。可显示个人博客的全面信息,如最新文章、最新评论、作者相片、日历等。
4。博客管理功能。用户可以管理自己的博客,包括文章管理、评论管理、相片管理、档案管理、类别管理、个人资料管理、注册信息管理等。
5。
写
文章功能。本系统采用流行的FCKEditor编辑器,提供强大的编辑和排版功能,文章可实现优美的显示效果。
6。评论功能。访问者可对文章发表评论。
7。留言功能。访问者可给每个博客留言。
8、搜索功能。可按不同项目进行搜索。
9。Tag功能。文章可产生多个相关Tag,可按不同Tag进行搜索。
10。RSS功能。本系统采用先进的RSS2.0技术,实现RSS功能,便于浏览。
11。相册功能。可浏览博客相片。
12。个人档案功能。可浏览博客个人资料。
13。找回密码功能。可通过问题回答找回密码。。
14。聊天功能。访问者和用户可在线聊天,可以群聊,也可以私聊,反应快速,功能强大。
15。博客统计功能。可统计博客系统的基本信息。
16。访问人数统计功能。可统计网站在线访问人数。
17。分页功能。本系统具备完善的分页功能。
18。连接池功能。本系统采用连接池技术,解决了数据库瓶颈,大大提高了运行速度。
19。注销功能。可安全退出系统。
20。防重复提交功能。本系统还采用Struts的Token机制和JavaScript技术实现绝对安全的防重复提交功能。
21。文章管理。可修改、删除文章。
22。评论管理。可回复、删除评论。
23。相片管理。可上传相片,设置主肖像,删除相片。
24。档案管理。可按月建立档案,浏览档案。
25 。类别管理。可建立、修改、删除类别。
26。个人资料管理。可输入修改个人资料。
27。 注册信息管理。可输入修改注册信息,包括修改密码。
28。 错误和异常管理。可处理错误情况,提示错误信息。
MYSQL安装
将安装包解压缩,运行tdbmysql.bat,然后用torchblogdb-setup.sql建表,
将数据导入 MYSQL数据库。
将torchblog目录COPY至Tomcat/
web
apps/下,即Tomcat/
web
apps/torchblog
修改Tomcat/
web
apps/torchblog/
WEB
-INF/classes/init.properties文件
主要修改
datasource.url=jdbc:mysql://127.0.0.1/torchblog?useUnicode=true&characterEncoding=gb2312
datasource.username=root
datasource.password=
这三项,根据你的实际情况修改,但注意useUnicode=true&characterEncoding=gb2312不能修改
修改配置可用oracle。
红梅居士
java
web
中
action
,
service
,
dao
,
dom
ain
的解释(涉及
MVC
和三层架构)
文章一: 关于
MVC
结构中的
action
,
service
,
dao
,
dom
ain
的解释: 这里是引用
service
是业务层,
dao
是数据访问层。简单的说
DAO
层是跟数据库打交道的,
service
层是处理一些业务流程的 表示层调用控制层,控制层调用业务层,业务层调用数据访问层。 举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能
写
成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里
写
。 比说你现在用的是SSH框架,
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章