JAVA EE项目:(1)简介

一、MVC模型的发展

①在早期的javaweb开发中,主要是JSP+javabean模式,被称之为Model1但这样JSP和Java Bean出现严重耦合,Java和html也耦合在一起,这样开发者不仅要会Java还要会前端开发,对开发者要求颇高。而且页面的前后端出现相互依赖的情况,前端和后端无法单独测试,只有全部完成才能进行有效测试。并且几乎所有操作难以复用,因为业务逻辑和页面逻辑相互混杂无法分离。

JAVA EE项目:(1)简介_第1张图片

②为解决种种弊端,早期的MVC模型:Servlet+JSP+Java Bean出现了,被称为Model2

过程:用户请求到达Servlet,Servlet作为控制器接受请求,并调度模型层的Java Bean来读写数据库的数据,然后将数据放入视图层的JSP中展示给用户

好处:⑴虽然仍有耦合,但前后端已有了一定的分离。⑵后端的控制器和模型层的分离使得大量java代码得以复用

JAVA EE项目:(1)简介_第2张图片

③之后,MVC的经典框架struct1、struct2、模型层Hibernate纷纷崛起。

④如今,随着手机端兴起,web页面大部分使用ajax请求,它们之间只需交换json数据,对于JSP的依赖大大减少,因此struct已经不适合时代发展。而由于不可优化SQL、不够灵活等原因,Hibernate逐渐被MyBatis淘汰。为了适应这些变化Spring MVC应运而生。

JAVA EE项目:(1)简介_第3张图片

二、库、框架和架构

:一系列预先编写好的代码集合,供开发者在编程中调用,减少工作量

从npm、maven等下载的包都是库,自己写的函数包装好后调用,也叫库

框架:一个半成品,对基础代码进行了封装并提供了API,最大的特征是它会接管程序的主控制流,开发者只需编写业务逻辑代码,具体执行工作由框架来调用

        比如,用spring开发web项目,只需要编写控制层、业务层和模型层以及配置文件等,具体到项目如何启动,如何监听端口,每次网络请求的响应处理,这些都由框架实现。

        每种语言都有自己的开发框架,而且一直在不断的更新和产生新框架,但每种语言都由自己的经典框架,比如java的spring。

库:主要是你写的代码在调用库中的代码

框架:主要是框架的代码在调用你的代码

架构:规模更大的抽象概念,并不涉及具体的语言和代码,它可以是编程模式(MVC模式、MVVM模式等)、客户端形式(B/S架构、C/S架构)、服务器结构(分布式架构、微服务架构)

所以架构师并不是写代码块、bug少,而是掌握并评估项目适合什么架构

三、JAVA

JavaSE:java技术的核心,是 jdk、jvm 以及自带的api合集的具体实现,它允许开发和部署在桌面、服务器、嵌入式环境中使用java程序,是Java ME和Java EE编程的基础。

JavaEE:用于企业级开发,主要用于javaweb,基于JavaSE而发展出来的一套接口规范(是规范,并不是实现),包含十三种核心技术:JDBC、XML、JSP、Servlet等。

JavaME:基于JavaSE的一套运行专门为移动设备和嵌入式设备设计的接口规范,比如机顶盒。

四、Spring

Spring:基于JAVA EE产生的轻量级开发框架。

        ⑴Spring是一个独立的框架,它替代并改进了JavaEE的许多部分,因此它并不完全遵守JavaEE规范。

        ⑵Spring允许使用所有的JavaEE技术

        ⑶Spring最核心的理念是:IOC(控制反转)和AOP(面向切面编程)

Spring详解(控制反转(IOC)与面向切面编程(AOP))

        ⑷JavaEE和Spring各有优势和缺点,两者无从比较

SpringMVC:一种基于Spring的MVC模式Web开发框架,是Spring的内容的一部分

SpringBoot:一种微服务框架,解决了Spring框架需要配置各种注解和XML文件添加各种依赖等重复性工作问题,将这些工作封装为模块交由SpringBoot执行,大大简化了项目搭建过程,使得工作人员能够更专注于业务逻辑。

五、SSM

Mybatis:一种持久层框架,它免除了几乎所有的JDBC代码以及设置参数和获取结果的工作,能够更好的和数据库交互

Maven:一个标准化的java项目管理和构建工具

作用:①确定统一的项目结构,方便团队开发②pom文件中包含了项目基本信息、项目如何构建、项目所需的依赖(jar包),用于项目执行时提供信息③pom文件中声明一个依赖项可以自动下载对应jar包,并导入classpath,不用自己去网上下载。

SSM:一种Spring+SpringMVC+Mybatis的整合框架,是目前较主流的javaEE企业级框架,适合于数据源较简单的Web项目。

SSM是一种MVC模式:

Mybatis:Model层,数据对象的持久化引擎

SpringMVC:Controller+View层,前后端数据交互和视图展示

Spring:整个项目组件管理和控制

你可能感兴趣的:(java-ee,mvc,java)