SpringMVC

概念

静态Web架构

页面内容不可改变,早期Web形式,现在已经很少见,适合博客等静态展示为主的平台

动态Web架构(演进)

JSP Model1:Client->JSP(Servlet)->Data

JSP(本质是Servlet)或Servlet既负责接收请求、处理业务、还负责视图的数据填充和页面设计及返回响应,Data负责数据的增删查改

JSP Model2:Client->Servlet(->Data)(->JSP)

Servlet负责接收请求、处理业务、数据传送、返回响应,Data负责数据的增删查改,JSP(本质是Serlvet)负责数据填充和页面设计

Servlet接收请求后进行业务处理(调用Data进行数据处理),再把处理后的数据导入JSP(本质是Serlvet)中,最后把填充好数据的JSP返回给客户

MVC:Client->Controller(-Model)(->View)

Controller(本质是Servlet)负责接收请求、数据传送、返回响应,Model负责业务逻辑的处理和数据的增删查改,View(可以是Servlet也可以是Thymeleaf等)负责数据填充和页面设计

Controller接收请求后调用Model进行业务处理(涉及数据的增删查改),再把处理后的数据导入View,最后把填充好数据的View返回给客户

Restful:View->(Controller->Services->Data)

前端负责视图的数据填充和页面设计,后端负责接收前端请求、调用对应的服务(通常是多层次的),服务再调用数据数据处理的API,最后把处理后的数据(Json)返回给前端

CSR和SSR

前者是客户端渲染(Client-side Rendering),后者是服务端渲染(Server-side Rendering)

特性 服务器端渲染 (SSR) 客户端渲染 (CSR)
定义 页面在服务器上生成并发送完整的HTML文档到客户端浏览器。 页面的基本结构从服务器加载,数据通过AJAX/Fetch获取并在客户端动态填充。
首屏加载速度 较快,因为服务器直接返回完整的HTML页面。 较慢,首次需要加载JavaScript文件和API请求数据后才能显示内容。
SEO友好性 高,搜索引擎爬虫可以直接抓取完整页面内容。 低,传统搜索引擎可能难以抓取由JavaScript动态生成的内容。
用户体验 初次加载快,但后续导航可能会重新加载整个页面。 初始加载稍慢,但一旦加载完成,页面间切换速度快,体验流畅。
开发复杂度 相对较低,尤其是对于传统的Web应用。 较高,涉及到前端路由、状态管理等概念。
资源消耗 服务器承担了更多的计算工作,增加了服务器负载。 减轻了服务器压力,但增加了客户端设备的负担。
适用场景 适合SEO要求高的网站,如博客、新闻门户等;对首屏加载时间敏感的应用。 适用于交互性强的应用,如单页应用(SPA),社交网络平台等。
数据获取方式 在服务器端进行数据获取,并将结果嵌入到HTML中。 通过AJAX或Fetch API异步请求数据。
缓存机制 可以利用CDN缓存整个页面,提高访问速度。 常使用局部缓存策略,比如组件级别的缓存。
实时更新能力 弱,通常依赖于全页刷新来实现内容更新。 强,能够实现局部刷新,提供更好的用户交互体验。
#java##spring##springmvc#
计算机编程合集 文章被收录于专栏

本专栏包含Java、MySQL、JavaWeb、Spring、Redis、Docker等等,作为个人学习记录及知识总结,将长期进行更新! 如果浏览、点赞、收藏、订阅过少,考虑停更或删除了(😄有点打击积极性)

全部评论

相关推荐

昨天 12:03
山西大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务