JAVA基础之JavaEE与MVC

   所谓的架构、模式都是方便开发和查看的,分工明确的,理解每层的具体的意义!

一、JavaEE:

1、Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)。是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件。Java EE 可以说是一个框架,也可以说是一种规范。
JavaEE 是 Java 应用最广泛的部分。

JavaEE 是在 JavaSE 的基础上构建的,是对 JavaSE 的扩展,增加了一些更加便捷的应用框架。

除了 EE 和 SE,还有为移动端而生的 JavaME,但目前应用不算广泛。

2、JavaEE主要技术:

JavaEE 号称有十三种核心技术。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JTS、JTA、JavaMail和JAF。

JDBC:

Java 数据库连接,(Java Database Connectivity,JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

JNDI:
Java 命名和目录接口(Java Naming and Directory Interface,JNDI),是 Java 的一个目录服务应用程序界面(API),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。
EJB:
企业级 JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。
Servlet:
Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。
JSP:
JSP(全称JavaServer Pages)是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。

二、开发模式:

1、模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式;

2、javaEE经历的模式:

model1模式:

  技术组成:jsp+javaBean(实体类)

model1的弊端:随着业务复杂性 导致jsp页面比较混乱

model2模式

技术组成:jsp+servlet+javaBean

 model2的优点:开发中 使用各个技术擅长的方面

  servlet:擅长处理java业务代码

  jsp:擅长页面的实现

三、MVC:

  web开发的设计模式

M:Model---模型 javaBean(实体类):封装数据

V:View-----视图 jsp:单纯进行页面的显示

C:Controller----控制器 Servelt:获取数据--对数据进行封装--传递数据--指派显示的jsp页面

四、javaEE的三层架构

服务器开发时 分为三层

  web层:与客户端交互-接请求、发响应

  service层:复杂业务处理-逻辑运算

  dao层:与数据库进行交互

开发实践时 三层架构通过包结构体现

五、总结:

两者本为不同领域下的设计模式,并无直接关联。

​ 三层架构是典型的架构模式(Architecture Pattern),将产品的开发细分为三层,这么做的好处是能够让每个人都能发挥自己的专长。比如前端工程师能专注页面的设计,如何吸引用户,而不用在乎业务逻辑的实现。数据库工程师,又可以专注数据库的处理,使其变得高效,而不必关注如何展示。

​ MVC是表现模式(Presentation Pattern),是为了让HTML代码和业务逻辑分开,使代码清晰(el表达式的引入也是为了这个原因),但在某种意义上,也是将功能进行分化。

​ 如果说可能的联系,那么在javaee的三层架构中的ui层(web层)中继续细分下去,又刚好符合一个mvc的设计模式。也就是说,mvc是把第一层web层细继续分为控制器Servlet、视图jsp、实体模型javabean。其中Servlet不仅负责mvc中的信息控制,还负责三层架构中的信息调用返回。

详见https://www.cnblogs.com/richardwlee/p/10302270.html

原文地址:https://www.cnblogs.com/21-forever/p/11161807.html