Web项目框架

2021-01-22

Web项目框架涉及到的技术包括:数据库、计算机网络、前后端开发、前后端框架、Web 应用服务器、负载均衡、大量并发访问等等。

同时还涉及到优化:数据库优化、网络优化、前后端代码优化、前后端框架优化、Web 应用服务器优化、负载均衡优化等等。

目前来说,Web开发主要是前后端开发两块。早期前后端不分离,现在前后端分离。

 

说到web项目,我们知道,信息是通过网络传输的,因此需要学习《计算机网络》才能更深入的理解。

并且这里涉及到需要将项目发布到网站的技术,即Web 应用服务器,比如用Tomcat等。

同时这里还涉及对数据的操作,数据大都存储在数据库中,所以需要学习《数据库》才能更深入的理解。

Web项目框架- 前端框架的发展史

前端的演化史是: JSP  -->  JSP+CSS+JavaScript --> HTML+CSS+JavaScript --> Bootstrap框架 --> VUE框架

JSP是java服务器页面。

所以前端开发的最基础的是 HTML+CSS+JavaScript ,前端框架如Bootstrap框架、VUE框架都是在此基础上演化而来。

Web项目框架- Java的发展史

前端主要采用HTML+CSS+JavaScript及其发展品(Bootstrap 、VUE等),后端主要是Java语言比较多(当然也可以用python、C++等等。),由Servlet及其发展品(SSH、SSM、SpringBoot、SpringCloud等),其发展过程如下所示:

1)前端(JSP+CSS+JavaScript) + 后端JAVA(Servlet) -- mysql数据库用jdbc包,web服务用Tomcat启动,且这个阶段没有严格意义的前后端。

-- 之后出现了MVC框架(Model-View-Controller)

2) 前端(JSP+CSS+JavaScript) + 后端JAVA {SSH - (Struts,Spring,Hibernate)}  -- 数据库用Hibernate,web服务用Tomcat启动,且这个阶段没有太清楚有前后端。 

3)前端(JSP+CSS+JavaScript) + 后端JAVA {SSH - (SpringMVC,Spring,Hibernate)}  -- 数据库用Hibernate,web服务用Tomcat启动,且这个阶段有前后端概念。

4) 前端(JSP+CSS+JavaScript) + 后端JAVA {SSM - (Spring+SpringMVC+MyBatis)}  -- 数据库用MyBatis,web服务用Tomcat启动,且这个阶段有前后端概念

5)前端(HTML+CSS+JavaScript) + 后端JAVA {SSH - (SpringMVC,Spring,Hibernate)}  -- 数据库用Hibernate,web服务后端用Tomcat启动,且这个阶段前后端开始分离。

6) 前端(HTML+CSS+JavaScript) + 后端JAVA {SSM - (Spring+SpringMVC+MyBatis)}  -- 数据库用MyBatis,web服务后端用Tomcat启动,,且这个阶段有前后端开始分离。

7)前端(Bootstrap ) + 后端JAVA {SSH - (SpringMVC,Spring,Hibernate)}  -- 数据库用Hibernate,web服务前端用NodeJS等,后端用Tomcat启动,且这个阶段前后端开始分离。

8)前端(Bootstrap ) + 后端JAVA {SSM - (Spring+SpringMVC+MyBatis)}  -- 数据库用MyBatis,web服务前端用NodeJS等,后端用Tomcat启动,,且这个阶段有前后端开始分离。

9)前端(VUE ) + 后端JAVA {SSM - (Spring+SpringMVC+Hibernate)}  -- 数据库用Hibernate,web服务前端用NodeJS等,后端用Tomcat启动,,且这个阶段有前后端开始分离。

10)前端(VUE ) + 后端JAVA {SSM - (Spring+SpringMVC+MyBatis)}  -- 数据库用MyBatis,web服务前端用NodeJS等,后端用Tomcat启动,,且这个阶段有前后端开始分离。

-- 开始进入微服务

11)前端(HTML+CSS+JavaScript) + 后端JAVA (SpringBoot)--  SpringBoot内嵌了web服务部署工具,我们可以自由选择用Hibernate或者MyBatis操作数据库,前后端分离。

12)前端(VUE) + 后端JAVA (SpringBoot)--  SpringBoot内嵌了web服务部署工具,我们可以自由选择用Hibernate或者MyBatis操作数据库,前后端分离。

web服务的部署,后端除了Tomcat还有其他,这里暂不介绍;前端也是;

前端的演化史是: JSP  -->  JSP+CSS+JavaScript --> HTML+CSS+JavaScript --> Bootstrap框架 --> VUE框架

后端的演化史:JSP+Servlet --> Struts+Spring+Hibernate --> SpringMVC+Spring+Hibernate --> SpringMVC+Spring+MyBatis --> SpringBoot(引入Hibernate/MyBatis )  --> SpringCloud

 严格来说,JSP也是后端的一部分,前后端未分离。 

JAVA后端开发的基础技术是 JSP+Servlet, 之后出现的 SSH、SSM、SpringBoot等都是基于此发展起来的。

前端开发:

 

后端开发:

针对Java语言开发的Web后端框架主要是早期的 JSP+Servlet。

 

SSM和Springboot框架比较的优缺点:

一、SSM优缺点应该分开来说的,比如

1)spring 不说了,核心ioc、aop技术,ioc解耦,使得代码复用,可维护性大幅度提升,aop提供切面编程,同样的增强了生产力。

2)spring mvc嘛,是对比struts2等mvc框架来说的,不说struts2爆出的那么多安全漏洞,而且是类拦截,所有Action变量共享,同时是filter入口的,而spring mvc是方法拦截,controller独享request response数据,采用的serlvet入口,与spring无缝对接。开发而言,spring mvc更加轻量和低入门。

3)mybatis嘛,看业务场景,主要是mybatis的sql可以由开发者去掌控和调优,相对hibernate等orm框架来说,更加直观。在业务场景比较复杂,sql好多联合关联的情况下,mybatis谁用谁知道。当然缺点就是对sql不熟悉的开发者就不太友好了。

二、 SSM框架和spring boot全家桶相比有哪些优缺点? 这两者对比起来有点奇怪。因为SSM是WEB应用框架,涵盖整个应用层,而spring boot你可以看做一个启动、配置、快速开发的辅助框架,本身针对的是微服务。

springboot 只是为了提高开发效率,是为了提升生产力的:

1、springboot一个应用是一个可执行jar(启动类main方法启动web应用),而不像传统的war,内嵌tomcat容器,可以jar形式启动一个服务,可以快速部署发布web服务,微服务最好不过了。

2、将原有的xml配置,简化为java配置

3、当然结构可能跟一般的ssm有一定区别,但其实主要是在资源文件。

 

posted @ 2021-01-22 10:11  秦时明月0515  阅读(303)  评论(0编辑  收藏  举报