让你彻底明白html+js+java后台Http交互原理

大家好,我是小编LRyab,公众号LRyab博客网,LRyab博客网是分享一些个人成长、思考方向、个人感悟、职业规划,博客涵盖java技术 vue. html. css.前端技术spring全家桶. linux运维技术在365天把你打造出来一个全栈工程师!
点击下方卡片关注公众号,每天分享一篇技术干货!

引言:

很久没写文章了,首先恭喜自己这2年的付出,全网阅读突破10W+,或许这不能说明但是对于我来说是我前进的动力,努力没有白费,我一直坚信,经验是由一点一点积累的,思维也是由一天一天训练出来的。

1为什么写这篇技术文章

工作这么久了,基本上对数据非常敏感,特别自己刚入门java的时候,感觉总是力不从心,一会数据库,一会后台,一会前端,一会前端数据一会改变后台数据,自己非常迷糊。现在明白了,不管前台数据还是后台数据只有清楚的掌握HTML+js与网站后台的交互原理,不论是编写代码还是修改功能都可以迎刃而解。

2技术大纲

看文章之前,还是老样子,请先看下面这个技术大纲,大概了解这里面涉及到的技术,按照大纲看文章你会豁然开朗。

  3聊聊html到底如何与后台进行数据交互的

3.1Html+JstL(EL表达式)+DOM浏览器操作+Struts2框架时代

1、struts可以想象为一个后台存储数据的地方,我们借助struts的Action一个容器,可以将我们所有想要在浏览器中想要展示的数据放入到Action中。

例如我们要想把电商网站的:商品类目显示到浏览器这个时候我们需要将红色框中的文字设置在struts2的Action中。

2、有了这些数据我们借助Jstl+El表达式就可以直接将这些数据直接渲染到HTML页面上去。此时用户就可以看到网站的商品类目数据了。

 3.2Html+javascript+Json数据格式+spring mvc框架rest ApI接口时代

1、srping mvc 可以想象为一个后台存储数据的地方,我们借助Spring MVC responseBod注解,可以将我们所有想要在浏览器中想要展示的数据转换为json格式的数据。

2、有了这些数据我们借助javascript以及jquery技术渲染到HTML页面上去。此时用户就可以看到网站的商品类目数据了。

3.3angularjs+vue  MVVM 框架+spring boot+spring Cloud微服务时代

1、spring boot+spring Cloud可以想象为一个后台存储数据的地方,我们借助spring boot+spring Cloud进行对项目进行模块化管理:比如我的电商项目可以分为:购物车模块、个人中心模块、商品搜索模块。这些模块都可以使用spring Cloud微服务进行管理,然后最终分别返回后台数据接口。

2、有了这些数据我们使用angularjs和vue技术,进行页面实施渲染,直接通过前端vue技术能够进行实时渲染数据,MVVM框架最强大的功能是双向数据绑定功能,你不再去操作dom了,因为操作浏览器Dom元素过于复杂繁琐,有了前端VUE框架的出现,你只需要页面实时渲染就可以了。

  4技术实战

1、 说了这么多,到底知道这些原理有什么用呢?拿到一个项目首先需要分析他的前端是struts框架还是spring mvc框架,或者是spring cloud框架。第二步后端分析完成进行前端框架分析,看他的前端框架属于第几代框架。如果后端是struts框架那么前端一定是jsp或者EL表达式,如果后端是spring mvc这种restful接口,前端一定是AJAX动态DOM渲染技术,进行渲染页面。

2、大家可以看我这套电商项目,获取购物车模块是一个AJAX请求的我们电商模块后台,因为我的电商项目后台是使用sping  mvc以及spring boot微服务实现的,所以我返回的数据格式绝对是JSON格式的数据。

那么我前端一定是使用jquery或者javascript进行页面元素渲染。大家可以看这句话

$(".cart-count").html(data.data);这句话就是将页面上的html的购物车图标数量设置渲染到页面上。

3、大家工作基本上使用到最多的就是这种操作DOM的前端技术,在这我给大家提几个技术点,学会了

无论工作和学习,发现任何网站数据都可以进行随心所欲篡改,本质是改变浏览器的DOM数据渲染。

  • 页面元素渲染机制(延时渲染)js、setTimeOut方法

  • jquey元素匹配、dom元素动态渲染,移除、查找

  • jquery元素遍历查找追加元素属性

  • jquery常用API  $("选择器").each遍历函数

$("选择器").sibing查找当前元素的兄弟节点

$("选择器").parent()当前元素的父节点

$("选择器").before();当前元素之前插入元素

$("选择器").hide();隐藏当前元素

  5有意义的一句话

存在问题,需要先思考,先思考问题寻找解决的办法,然后再进行分析哪种方案可行,最终选择一种最佳方案解决它。而不是不思考直接解决它,也不能不思考也不解决它。


   6结束语
还是那句话,首先知道自己想要什么,就去获取什么?学会改变思维,学会布局,不断的试错,找到自己喜欢的,久而久之或许你就 找到了。
我看过很多互联网的技术博客文章从来没有程序员分享他们是怎么靠业余时间增加收入的,因为大部分程序员都在闷声发大财,关注我,让天下码农没有难做的生意,帮你打造适合自己的领域,LRyab每天业余时间就是写博客,积累自己的数据库,因为我始终知道只要我自己向内心求答案,学会抓重点聚焦一个自己喜欢,擅长的领域,精耕细作能赚钱。感兴趣可以看看我的个人博客你会学到更多《点击进入我的博客》。
=全文完=
(0)

相关推荐

  • Angular、React 和 Vue 三大框架,Web 开发该如何选择?

    终端研发部 1周前 前言 随着社交媒体和用户生成内容的爆炸式增长,互联网正在向更好的方向发展.为了跟上时代发展的步伐,提供更好的交互性,开发人员开始构建库和框架来简化交互式站点的构建.2006 年,J ...

  • Vue最新技术内容

    Vue.js是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.学习Vue.js前,尽 ...

  • React 和 VUE 的区别和优缺点

    前言 React 是由Facebook创建的JavaScript UI框架,React推广了 Virtual DOM( 虚拟 DOM )并创造了 JSX 语法.JSX 语法的出现允许我们在 javas ...

  • 为什么 Web 开发人员需要学习一个 JavaScript 框架?

    原文链接 可能当我们结束本文时,一个新的 Javascript 框架已经在某处启动了.但这确实不在我们的控制范围内.因此,我们应该简单地继续我们所拥有的.至少,由于免责声明,我们可以确定我们不是在发明 ...

  • 前端开发之Vue开发框架的主要特征

    Vue易于使用 许多人对Vue的评价都是易于使用的JavaScript框架,这里的易于使用包括两个方面,一方面Vue易于学习,了解基本的JavaScript语法即可上手开发,另一方面Vue易于部署,并 ...

  • 排名考前的基于SpringBoot搭建的开源项目

    SpringBoot一直是开发者比较青睐的一款轻量级框架,他不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程. Halo Halo [ˈh ...

  • 一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)

    写代码的渣渣鹏 今天 作者:huanzi-qch cnblogs.com/huanzi-qch/p/11534203.html 前言 这套Base Admin是一套简单通用的后台管理系统,主要功能有: ...

  • 从零搭建java后台管理系统(二)mysql和redis安装

    接上篇开始安装mysql和redis 注意了,如果用阿里云服务器,外网访问的端口必须在安全组开启,否则外网访问不通 三.服务器安装redis和mysql 本次环境搭建将所有第三方服务会安装在阿里云服务 ...

  • java后台启动jar包

    当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 java -jar shareniu.jar 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行. java -j ...

  • Java学习——114.交互线程

    线程在执行的过程中,有可能会需要共享资源或者交换数据,则称这一组线程为交互线程. 线程间的交互存在两种关系:竞争和协作. 竞争关系是指,两个线程同时使用同一个资源时,会产生竞争.此时,由于线程的并发执 ...

  • 详述Java线程池实现原理

    优质文章,第一时间送达一.写在前面1.1 线程池是什么线程池(Thread Pool) 是一种池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL.线程过多会带来额外的开销,其中包括创建销毁 ...

  • Java并发之AQS原理剖析

    优质文章,第一时间送达 作者 |  Yanci丶 来源 |  urlify.cn/IFJ3Mb 概述: AbstractQueuedSynchronizer,可以称为抽象队列同步器. AQS有独占模式 ...

  • Java线程池实现原理及其在美团业务中的实践

    随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员 ...

  • 基于JAVA Socket的底层原理分析及工具实现

    前言 在工作开始之前,我们先来了解一下Socket 所谓Socket,又被称作套接字,它是一个抽象层,简单来说就是存在于不同平台(os)的公共接口.学过网络的同学可以把它理解为基于传输TCP/IP协议 ...

  • JS防水涂料复试都需要做哪些项目,不明白的赶紧看过来!

    材料见证记录见证编号FSTL001表 B-14工程名称xx·云鼎1#商业楼等15项(观唐·云鼎项目)试件名称防水涂料生产厂家北京xx防水技术股份有限公司试件品种聚合物水泥防水涂料材料出厂编号/试件规格 ...