view,action,service,dao,domain,如何按照mvc规范写web程序

tanshionjob 2013-08-12 09:13:13
我现在开始学习mvc分层架构,但是是不知道如何下手,知道程序应该差不多是按照控制层action->显示层view->业务层service->数据处理层dao,我先写了domain层,但是又不知道要从哪里接着写了,总是写着写着逻辑就乱了,请问大概要按照什么顺序写逻辑清晰一点呢?各个层之间怎么联系起来?请大大侠们帮忙。
...全文
219 3 打赏 收藏 转发到动态 举报
写回复
用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
软件及安装说明

本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个层次,即表示层(Presentation Layer)、域模型层(Domain 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的事物模板(TransactionTemplate)实现,可分离数据访问和事物处理,提高业务对象的可复用性,采用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/webapps/下,即Tomcat/webapps/torchblog
修改Tomcat/webapps/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不能修改。

红梅居士
软件及安装说明

本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个层次,即表示层(Presentation Layer)、域模型层(Domain 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的事物模板(TransactionTemplate)实现,可分离数据访问和事物处理,提高业务对象的可复用性,采用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/webapps/下,即Tomcat/webapps/torchblog
修改Tomcat/webapps/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。
红梅居士
软件及安装说明

本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个层次,即表示层(Presentation Layer)、域模型层(Domain 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的事物模板(TransactionTemplate)实现,可分离数据访问和事物处理,提高业务对象的可复用性,采用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/webapps/下,即Tomcat/webapps/torchblog
修改Tomcat/webapps/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。
红梅居士

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧