java 前后端分离_到底什么是前后端分离?
前后端分离的"前"特指浏览器端(或客户端)。
Java服务器端初学者最容易引起误解的一个概念就是: JSP是前端技术。
JSP一定一定一定要知道全称:Java Server Page。是运行在服务器端JVM之上Servlet容器里的,只是执行的结果是HTML,响应给浏览器。
Java EE先有的Servlet,那时候已经有了ASP(同样要知道是Active Server Page的意思)。
由于要在Servlet里面拼大量的HTML代码,所以Java规范学习了ASP,提出JSP。Servlet是Java代码里混入HTML,JSP是HTML代码里混入Java。
浏览器根本不关心服务器端是JSP、ASP、PHP,或者还是原始的Servlet,或是静态服务器上的HTML,只要返回的是合法的HTML就可以。
所以,把JSP中静态的HTML部分拿出来,变成简单的HTML文件,放在HTTP服务器上,浏览器只要获取到这些HTML就可以了。动态的数据部分用HTML里的JS通过AJAX的方式从服务器端获取,然后动态操作Dom,完成动态内容的展示。这样前后端就分离了。
上面的内容回答的是问题描述中的第一个子问题。问题描述里的后两个子问题应该这样理解:2.静态资源和数据接口被部署在两个不同的服务上就算前后端分离?
静态资源和服务(实现接口的业务逻辑),在开发阶段就分离开发,而部署阶段分离部署在不同服务器上,算是严格意义上的前后端分离。
有些小型项目,开发阶段没有分离开发,也就是说前后端代码在一个Project里。在部署阶段也没有分离,例如静态资源还是放在Tomcat里。这些情况,到底算不算前后端分离,关键是是否"严格"看待。3.接第二个问题,如果静态资源(html模板)是jsp,而jsp的所有动态数据均来自另一个服务,那这算不算前后端分离?
静态资源是JSP这个观点就是错误的,不做再次解释。JSP是运行在Server上的,动态获取另一个Server上的数据,这是服务器和服务器之间的调用,只是两台服务器的相互角色和分工不同。JSP所在的服务器被称为Consumer(消费者,也就是服务的使用者),另一台提供数据的服务器被称为Producer(生产者,也就是服务的提供者)。
如果上面为JSP提供数据的服务又调用了第三个服务的接口获取数据,那么就又产生了新的Consumer和Producer关系。
java 前后端分离_到底什么是前后端分离?相关推荐
- java 前端 后端 分离_到底什么是前后端分离?
这里是经常容易被混淆的一些概念. 在说前后端分离之前,要先弄清楚: 1.什么是前端? 2.什么是后端? 3.什么前后端不分离? 4.什么是动态数据? 5.什么是静态文件? 6.什么是动静分离? 然后, ...
- python flask 分页前后端分离_【flask + vue 前后端分离博客】创建第一个 Flask RESTFul(一)...
1. 代码管理 1.1 创建仓库 github 上创建仓库:flask-vuejs-madblog,并选择开源协议为 MIT License(也可以选择 gitee,速度快一些比之 github). ...
- 安卓前端与java后端交互_安卓1_基础前后端交互
1.前端 大体前端界面图 因为是线性排布 所以将按顺序依次介绍 PS: 图中黑色框部分为批注 界面.png (0)属性介绍 1)id:命名 用于跟后端关联 ps:下为 java代码 a = findV ...
- java 文本工具类_干货:排名前16的Java工具类
原标题:干货:排名前16的Java工具类 作者丨Java技术栈 https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Ja ...
- java 管理后台前台分离_系统前台后台是否应该分离(包括部署)
这个问题困惑我很久了,可能前台/后台这个用词不准确,稍微解释一下我的理解, 很多系统都分为前台和后台,其分别针对的使用者也是不同的 1. 前台一般针对"消费"用户(如读者.网购用户 ...
- java开发工具排名_干货:排名前16的Java工具类
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...
- python逻辑与界面分离_一种数据与逻辑分离的Python单元测试工具
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
- map分组后取前10个_人口净流入排名前10的城市,在这10个城市买房,只涨不跌
最近几年,房价是涨了又涨,达到了最巅峰!最贵的一二线大城市已经涨到了一平米六七万的高价,一套房子下来怎么也得几百万,普通老百姓可能听到这样的价格就吓傻了,这样的数字简直就是天文数字,很多人一辈子都赚不 ...
- python后端服务器_毕设里配合Python后端使用的所谓”CGI服务器“
1.[代码][C/C++]代码 #define _GNU_SOURCE #ifndef __GNUC__ #error FATAL #endif #include #include #include ...
- 查询成绩最好的前两名_一级建造师成绩查询前这几件事很重要
2020年已经只剩下一个月的时间了,12月份是我们向2020年说再见的月份,同样也是我们一级建造师查分的月份,不知不觉中一级建造师考试已经过去两个多月的时间了,马上就到了查分这个令人心动的的时间节点来 ...
最新文章
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
- Acwing799. 最长连续不重复子序列[C++题解]:双指针算法O(n)
- JVM:gc什么时候开始?System.gc()能保证gc一定发生吗?
- 7价 半导体掺杂_掺杂工艺(一)
- 使用linux 的wget下载国外的域名的地址,下载不了,
- 基于JAVA+Servlet+JSP+MYSQL的失物招领系统
- 全栈开发工程师微信小程序-上(中)
- order by排序的用法
- 苹果直营店_请谨慎选择百邦苹果售后维修,亲身体验,倒不如直接去直营店呢...
- 2018ACM-ICPC 焦作站现场赛 F. Honeycomb(BFS求最短路,卡memset)
- HTML5+CSS大作业——三八女人节主题设计(1页)
- 金龙云介绍——城轨云相关
- oracle database各个版本地址
- #300. 【CTSC2017】吉夫特
- tcp/ip的模型与原理
- vue+mysql实现前端对接数据库
- 大连三家软件企业入围全国软件百强排行榜
- CVPR-2021 | RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大
- 谈谈前端角度出发做好SEO需要考虑什么?
- 【Rust日报】2021-11-15 SIMD模块 nightly 已可用