web基础

HTTP

GET方法与POST方法

  • GET:从指定的资源请求数据。
    GET方法会直接将数据添加到地址栏中,透明传输,有大小限制,不同浏览器支持的长度不同。
/test/demo_form.asp?name1=value1&name2=value2
  • POST:向指定的资源提交要被处理的数据
    POST方法是在 POST 请求的 HTTP 消息主体中发送的,无大小限制
POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

web相关技术

关系:Javascript(脚本语言,客户端运行,简称JS),jquery封装了Javascript并且提供API接口,JSON是数据格式(基于Javascript),AJAX是一种基于Javascript数据交互方式。
Java server page( 服务器端运行),html页面中穿插JAVA语言(逐渐被淘汰,老项目在使用)

JSP在HTML中用<%%>里面实现。
JS在html中用<Script> </Script>实现

JavaScript

JavaScript 为页面提供更多功能,是页面交互功能的基础语言。此外它的语言规范和引擎还被用于其他领域,比如 Node 等。

人类为了让自己页面功能更加丰富,使用了大量的 JavaScript,并且写了非常多的代码。这时候发现不同浏览器对 JavaScript 的支持程度非常不统一,而且原生 JavaScript 实现某些看起来很简单的功能都很麻烦。于是 jQuery 就把这些兼容性问题统一,并封装了大量的 API,可以让你非常简单就实现很多功能。

Jquery

jQuery 屏蔽了浏览器之间的兼容性问题,针对常用功能封装了大量的 API,并支持插件机制,让你写 JS 的效率很高,质量很好。

简单的页面上的交互再次不满足人类的需求,比如一个资料填写表单,需要填写一个名称,这个名称还必须不能跟之前的重复。校验这个名称不能重复,就需要把数据提交上去,与服务器端数据交互的方法就是 form 提交表单。这时候需要用户填完所有的表单,点击『确定』之后提交校验。如果此时名称被占用就悲剧了。

解决这个问题的方案关键点在数据交互上面。最好的解决方案应该是输入完名字之后,就自动去吧数据发给后端,然后拿到结果并提示给用户,而不是统一提交。于是人类就想出了一套新的数据交互方案,即无刷新的异步请求,名字叫 Ajax。通过 Ajax 可以通过 JS 与后端接口进行数据交互,而不会影响当前页面。当接口返回『被占用』的时候,JS 在页面上给个提示就可以很好的实现了。

Ajax

Ajax 技术提供了一种新的前后端数据交互方式,不需要刷新页面,而且不阻塞页面执行流程,异步的去请求去获取、交互数据。

一开始只是通过 Ajax 异步发一个请求,数据就是一个简单的用户名称,所以直接按照字符串发过去就好了。后来需要 Ajax 发送的数据越来越多,比如一整张表单。这时候就需要有一套规则来描述更复杂的数据,一开始估计就是用一些字符分割拼起来,再后来人类用 xml 来描述,发现解析还是挺麻烦的,于是就基于 JavaScript 的数据类型创造了 JSON 这种数据描述格式,很简单的就可以描述很复杂的数据。同时独立于语言,这样就可以在多种语言内使用。

JSON

JSON 用来描述前后端数据交互的内容格式,有了 JSON 这样的一套统一的描述规则,前后端解析数据的成本变低,使用非常简单。JSON 属于 JavaScript 的一个子集。

var gareen = {“name”:“盖伦”,“hp”:616};
这样就创建了一个JSON 对象
JSON对象由 名称/值对组成 名称和值之间用冒号:隔开
名称必须用双引号" 包含起来
值可以是任意javascript数据类型,字符串,布尔,数字 ,数组甚至是对象
不同的名称/值对之间用 逗号 , 隔开
通过 点. 访问JSON对象的属性
在这里插入图片描述

Cookie与Session

Cookie

cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

		//新建cookie
        Cookie cookie1 = new Cookie("company", "Jzd");
        Cookie cookie2 = new Cookie("company2", "alibaba");
        Cookie cookie3 = new Cookie("company3", "baidu");

        //设置cookie的放置路径
        cookie3.setPath("/crud/main.html");
        cookie2.setPath("/crud/main.html");
        cookie1.setPath("/crud/main.html");

        //设置过期时间,单位为秒,过期后删除,默认过期时间为关闭浏览器时
        cookie1.setMaxAge(60*60*24);

        //添加cookie
        response.addCookie(cookie1);
        response.addCookie(cookie2);
        response.addCookie(cookie3);
//其他GetMapping中,通过HttpServletRequest request来获取cookies
Cookie[] cookies = request.getCookies();
        for(Cookie cookie : cookies){
            System.out.println(cookie.getName()+ "----" + cookie.getValue());
        }

查看访问的html的http协议头可见已经带上我们设置的cookie
前后端分离,存在跨域问题优先使用token

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值