专栏名称: java那些事
分享java开发中常用的技术,分享软件开发中各种新技术的应用方法。每天推送java技术相关或者互联网相关文章。关注“java那些事”,让自己做一个潮流的java技术人!《java程序员由笨鸟到菜鸟》系列文章火热更新中。
目录
相关文章推荐
Java编程精选  ·  前阿里员工:内推了个38岁的研发,简历到HR ... ·  21 小时前  
芋道源码  ·  SpringBoot封装AI模块,快速实现智能化! ·  2 天前  
芋道源码  ·  SpringBoot CORS ... ·  2 天前  
芋道源码  ·  船新 IDEA 2025.1 要来了,新特性真香! ·  3 天前  
51好读  ›  专栏  ›  java那些事

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

java那些事  · 公众号  · Java  · 2018-07-23 08:30

正文


概述



一个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







请到「今天看啥」查看全文