前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java EE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系

Java EE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系

作者头像
Java团长
发布2018-08-03 11:21:28
5460
发布2018-08-03 11:21:28
举报

概述


一个JavaEE的项目,页面用JSP,后台用了Struts2+Spring+MyBatis,数据库用的是Oracle,这么多技术名词,他们之间的关系如何,整体是怎么运作的,用什么东西进行关联?这是开发过程中任何一个成员都必须要了解的。即使你只关注某一个方面,例如前端。

Web端


Struts其实是JavaEE常用的MVC框架,统筹Servlet(C)、视图层(V)和后台Action及Action中的Model之间的关系。用户通过http请求去访问Servlet,Struts就会给你指定好类,并把request中的数据按照一定的规则放在Model中。当Action中的Model数据发生变化,通过response返回的JSP页面上也能通过el表达式或者其他库去访问到这些变化。我们就不用把心思花在通讯协议及一些数据格式(JSON和Java实体类)之间的处理上。

三层架构


在Web1.0时代,我们的业务逻辑都是交给后台去处理的,也就是Action层、Manager、Dao层所组成的JavaEE后台。我们推荐action层处理去视图之间的关系,这样当你用客户端和浏览器访问同一个应用时,只需要在action层上下工夫即可。manager层是真正的java逻辑,用各种java类、库去处理数据。dao层关注数据库层面的逻辑,这样当你访问Oracle或者MSSQL数据库时,只需要关注dao层即可。Spring统筹这三者之间的关系,通过IoC等概念去解决这三层之间的耦合关系。

数据库


在Dao层,我们关注后台内存中的变量与数据库持久层之间的通讯,我们一般用jdbc去进行通讯的,这是方式。内容则是由MyBatis去处理,通过mybatis去写SQL接收变量,接收返回的数据或者数据集。

Web 2.0时代的MVC


进入Web2.0时代,我们在Struts统筹的视图层中,也包含了较多的业务逻辑,特别是不涉及到密码、权限等敏感数据,以提高用户体验为宗旨的逻辑。所以在这一层上也要有以MVC的概念去统筹各代码的关系,使之条理化的框架如angular。HTML/CSS是视图,业务逻辑的javascript是控制器,记录数据的javascript(或者叫JSON)是模型。这一层与后台之间的以包装了http请教的ajax技术去实现。

最后的话


另外一个方面,数据库的存储过程等东西表明,这里面也有较复杂的逻辑。一个软件项目各个层面的领域发展,都达到一定高度,有一定复杂性。JavaEE的框架也是其中一种组织代码的框架,但从中抽象化出来的原理,理解了,去看其他类似框架时,也就能举一反三。

PS:如果觉得我的分享不错,欢迎大家随手点赞、转发。

原文:cnblogs.com/p2227/p/3551243.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java团长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • Web端
  • Struts其实是JavaEE常用的MVC框架,统筹Servlet(C)、视图层(V)和后台Action及Action中的Model之间的关系。用户通过http请求去访问Servlet,Struts就会给你指定好类,并把request中的数据按照一定的规则放在Model中。当Action中的Model数据发生变化,通过response返回的JSP页面上也能通过el表达式或者其他库去访问到这些变化。我们就不用把心思花在通讯协议及一些数据格式(JSON和Java实体类)之间的处理上。
  • 三层架构
  • 数据库
  • Web 2.0时代的MVC
  • 最后的话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档