前后端交互的两种方式

2023-11-18

方式一:表单提交

表单(form):表单用于收集用户输入信息,并将数据提交给服务器。是一种常见的与服务端数据交互的一种方式

//1. action:指定表单的提交地址
//2. method:指定表单的提交方式,get/post,默认get
//3. input的数据想要提交到后台,必须指定name属性,后台通过name属性获取值
//4. 想要提交表单,不能使用input:button 必须使用input:submit

php获取表单数据

 //$_GET是PHP系统提供的一个超全局变量,是一个数组,里面存放了表单通过get方式提交的数据。
 //$_POST是PHP系统提供的一个超全局变量,是一个数组,里面存放了表单通过post方式提交的数据。

get与post的区别

//1. get方式
	//1.1 数据会拼接在url地址的后面?username=hcc&password=123456
	//1.2 地址栏有长度限制,因此get方式提交数据大小不会超过4k
//2. post方式
	//2.1 数据不会在url中显示,相比get方式,post更安全
	//2.2 提交的数据没有大小限制

//根据HTTP规范,GET用于信息获取,POST表示可能修改变服务器上的资源的请求

http协议

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则
HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和服务器之间互相通信的规则,HTTP协议分为请求响应 两个部分组成。

请求与请求报文

get请求的请求报文详解

//--------------------------请求行--------------------------------
// GET  请求方式
// /day02/01.php?username=hucc&password=123456    请求路径+参数(注意点)
// HTTP/1.1 HTTP的版本号
GET /day02/01.php?username=hucc&password=123456 HTTP/1.1

//--------------------------请求头--------------------------------
// Host:主机地址
Host: www.study.com
// HTTP1.1版本默认开启,建立过连接后,TCP连接不会断开,下次连接可以继续使用(底层,不用管)
Connection: keep-alive
//chrome浏览器自己增加的,不用管
Upgrade-Insecure-Requests: 1
//浏览器的代理字符串(版本信息)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36
//浏览器端可以接受的类型。
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,`*/*`;q=0.8
//从哪个页面发出的请求
Referer: http://www.study.com/day02/01-login.html
//检查浏览器支持的压缩方式
Accept-Encoding: gzip, deflate, sdch
//浏览器支持的语言,优先中文。
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6

//----------------------------请求体-------------------------------------
//get请求没有请求体,但是参数会拼接到请求行中

POST请求的请求报文

//-----------------------请求行---------------------------------------------
POST /day02/01.php HTTP/1.1

//-----------------------请求头--------------------------------------------
Host: www.study.com
Connection: keep-alive
//传递的参数的长度。
Content-Length: 29
Cache-Control: max-age=0
Origin: http://www.study.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36
//内容类型:表单数据,如果是post请求,必须指定这个属性。
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,`*/*`;q=0.8
Referer: http://www.study.com/day02/01-login.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6

//------------------------请求体------------------------------------------
username=hucc&password=123456

GET请求与POST请求的对比

  • GET请求没有请求体,因为GET请求的参数拼接到地址栏中了
  • POST请求有请求体,就是传递的参数
  • POST请求需要指定content-type属性。

响应与响应报文

//---------------------状态行(响应行)-------------------------------
//HTTP/1.1  HTTP版本
//200 响应的状态
	//200表示成功
	//304表示读缓存
	//404表示找不到资源
	//500表示服务端错误
HTTP/1.1 200 OK

//----------------------响应头-----------------------------------------------
Date: Thu, 22 Jun 2017 16:51:22 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
X-Powered-By: PHP/5.4.45
Content-Length: 18
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
//内容类型,告诉浏览器该如何解析响应结果
Content-Type: text/html;charset=utf-8
//-----------------------响应体------------------------------------------------
用户登录成功

通常来说,我们不会用抓包工具来查看请求和响应,太麻烦了,可以直接使用谷歌浏览器来查看请求报文和响应报文。

谷歌浏览器会对报文进行一定的格式化,看起来虽然不是原生的报文,但是使用起来更加的方便简洁。

方式二:Ajax

即 Asynchronous [e’sɪŋkrənəs] Javascript And XML, AJAX 不是一门的新的语言,而是对现有技术的综合利用。 本质是在HTTP协议的基础上以异步的方式与服务器进行通信。

同步与异步

同步和异步概念:

同步: 指的就是事情要一件一件做。等做完前一件才能做后一件任务

异步: 不受当前任务的影响,两件事情同时进行,做一件事情时,不影响另一件事情的进行。

编程中:异步程序代码执行时不会阻塞其它程序代码执行,从而提升整体执行效率。

ajax技术的应用:

  1. 验证你的用户名是否已经存在(一边输入,一边获取你的信息,和后台比对)。
  2. 百度搜索提示,及相关内容展示(一边输入,一边找出了你可能要的内容)。

XMLHttpRequest可以以异步方式的处理程序。

XMLHttpRequest

浏览器内建对象,用于与服务器通信(交换数据) , 由此我们便可实现对网页的部分更新,而不是刷新整个页面。这个请求是异步,即在往服务器发送请求时,并不会阻碍程序的运行,浏览器会继续渲染后续的结构。

发送get请求

XMLHttpRequest以异步的方式发送HTTP请求,因此在发送请求时,一样需要遵循HTTP协议。

//使用XMLHttpRequest发送get请求的步骤
//1. 创建一个XMLHttpRequest对象
var xhr = new XMLHttpRequest;//构造函数没有参数的情况,括号可以省略
//2. 设置请求行
//第一个参数:请求方式  get/post
//第二个参数:请求的地址 需要在url后面拼上参数列表
xhr.open("get", "08.php?name=hucc");
//3. 设置请求头
//浏览器会给我们默认添加基本的请求头,get请求时无需设置
//4. 设置请求体
//get请求的请求体为空,因为参数列表拼接到url后面了
xhr.send(null);
  • get请求,设置请求行时,需要把参数列表拼接到url后面
  • get请求不用设置请求头
  • get请求的请求体为null

发送post请求

var xhr = new XMLHttpRequest;
//1. 设置请求行 post请求的参数列表在请求体中
xhr.open("post", "09.php");
//2. 设置请求头, post请求必须设置content-type,不然后端无法获取到数据
xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
//3. 设置请求体
xhr.send("name=hucc&age=18");
  • post请求,设置请求行时,参数列表不能拼接到url后面
  • post必须设置请求头中的content-type为application/x-www-form-urlencoded
  • post请求需要将参数列表设置到请求体中.

获取响应

HTTP响应分为3个部分,状态行、响应头、响应体。

//给xhr注册一个onload事件,当xhr的状态发生状态发生改变时,会触发这个事件。
xhr.onload = function () { 
    //1. 获取状态行
    console.log("状态行:"+xhr.status);
    //2. 获取响应头
    console.log("所有的相应头:"+xhr.getAllResponseHeaders());
    console.log("指定相应头:"+xhr.getResponseHeader("content-type"));
    //3. 获取响应体
    console.log(xhr.responseText);
}

readyState

readyState:记录了XMLHttpRequest对象的当前状态

//0:请求未初始化。
//1:请求已经建立,但是还没有开始发送。
//2:请求已发送,正在处理中
//3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
//4:响应已完成;您可以获取并使用服务器的响应了。(我们只需要关注状态4即可)

数据交互

浏览器端只是负责用户的交互和数据的收集以及展示,真正的数据都是存储在服务器端的。我们现在通过ajax的确可以返回一些简单的数据(一个字符串),但是在实际开发过程中,肯定会会设计到大量的复杂类型的数据传输,比如数组、对象等,但是每个编程语言的语法都不一样。因此我们会采用通过的数据交换格式(XML、JSON)来进行数据的交互。

XML

什么是XML

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。

语法规范

  • 第一行必须是版本信息
  • 必须有一个根元素(有且仅有一个)
  • 标签不可有空格、不可以数字或.开头、大小写敏感
  • 不可交叉嵌套,都是双标签,如果是单标签,必须闭合
  • 属性双引号(浏览器自动修正成双引号了)
  • 特殊符号要使用实体
  • 注释和HTML一样
<students>
    <student>
        <name>张三</name>
        <age>18</age>
        <gender></gender>
        <desc>路人甲</desc>
    </student>
    <student>
        <name>李四</name>
        <age>20</age>
        <gender></gender>
        <desc>路人乙</desc>
    </student>
</students>

php获取xml文件的内容

//注意,如果需要返回xml数据,需要把content-type改成text/xml,不然浏览器以text/html进行解析。
header('content-type:text/xml;charset=utf-8');
//用于获取文件的内容
//参数:文件的路径
$result = file_get_contents("data.xml");
echo $result;

html解析xml

//获取服务端返回的xml数据,需要使用xhr.responseXML,这是一个document对象,可以使用DOM中的方法查找元素。
var data = xhr.responseXML;
//获取所有的学生
var students = data.querySelectorAll("student");

缺点:虽然可以描述和传输复杂数据,但是其解析过于复杂并且体积较大,所以实现开发已经很少使用了。

JSON数据

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

  • 数据在名称/值对中
  • 数据由逗号分隔(最后一个健/值对不能带逗号)
  • 花括号保存对象,方括号保存数组
  • 键使用双引号
    var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
    var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串

JSON数据在不同语言进行传输时,类型为字符串,不同的语言各自也都对应有解析方法,需要解析完成后才能读取

php处理json

  • php关联数组==> json
// php的关联数组
$obj = array(
  "a"=>"hello",
  "b"=>"world",
  "name"=>"胡聪聪"
);
//json字符串
$json = json_encode($obj);
echo $json;
  • json===>php对象
$json = '{"a": "Hello", "b": "World"}';//json字符串
//第一个参数:json字符串
//第二个参数:
	//false,将json转换成对象(默认)
	//true:将对象转换成数组(推荐)
$obj = json_decode($json,true);
echo $obj['a'];

//通过json文件获取到的内容就是一个json字符串。
$data = file_get_contents("data.json");
//将json转换成数组
$result = json_decode($data, true);
print_r($result);

JS处理json

  • JS对象 ==> JSON字符串 JSON.stringify(obj)
    //obj是一个js对象
    var obj = {a: 'Hello', b: 'World'}
    //result就变成了一个json字符串了
    var result = JSON.stringify(obj);// '{"a": "Hello", "b": "World"}'
  • JSON字符串 ==> JS对象 JSON.parse(obj)
    //json是一个json字符串
    var json = '{"a": "Hello", "b": "World"}';
    //obj就变成了一个js对象
    var obj = JSON.parse(json);// {a: 'Hello', b: 'World'}

兼容性处理

var xhr = null;
if(XMLHttpRequest){
  //现代浏览器
  xhr = new  XMLHttpRequest();
}else{
  //IE5.5支持
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}

前后端分离

​ 我们使用php动态渲染页面时,有很多比较麻烦的地方。

  • 在前端写好页面以后,需要后台进行修改,意味这后端程序员也需要懂前端的知识,其实渲染的工作应该交给前端来做。
  • 前端没有写好页面的话,后端无法开始工作,需要等待前端的页面完成之后才能开始工作,拖延项目 的进度。
  • 在客户端设备多元化的情况下,后台渲染的页面无法满足所有用户的需求
  • 前后端代码混合在一个文件中,项目修改和维护成本高​

jQuery中的ajax方法

jQuery为我们提供了更强大的Ajax封装

$.ajax

参数列表

参数名称 描述 取值 示例
url 接口地址 url:“02.php”
type 请求方式 get/post type:“get”
timeout 超时时间 单位毫秒 timeout:5000
dataType 服务器返回的格式 json/xml/text(默认) dataType:“json”
data 发送的请求数据 对象、查询字符串 data:{name:“zs”, age:18}
beforeSend 调用前的回调函数 function(){} beforeSend:function(){ alert(1) }
success 成功的回调函数 function (data) {} success:function (data) {}
error 失败的回调函数 function (error) {} error:function(data) {}
complete 完成后的回调函数 function () {} complete:function () {}

使用示例:

$.ajax({
  type:"get",//请求类型
  url:"02.php",//请求地址
  data:{name:"zs", age:18},//请求数据
  dataType:"json",//希望接受的数据类型
  timeout:5000,//设置超时时间
  beforeSend:function () {
    //alert("发送前调用");
  },
  success:function (data) {
    //alert("成功时调用");
    console.log(data);
  },
  error:function (error) {
    //alert("失败时调用");
    console.log(error);
  },
  complete:function () {
    //alert("请求完成时调用");
  }
});

其他api

//$.post(url, callback, [dataType]);只发送post请求
//$.get(url, callback, [dataType]);
//$.getJSON(url, callback);
//$.getScript(url,callback);//载入服务器端的js文件
//$("div").load(url);//载入一个服务器端的html页面。

接口化开发

请求地址即所谓的接口,通常我们所说的接口化开发,其实是指一个接口对应一个功能, 并且严格约束了请求参数响应结果 的格式,这样前后端在开发过程中,可以减少不必要的讨论, 从而并行开发,可以极大的提升开发效率,另外一个好处,当网站进行改版后,服务端接口进行调整时,并不影响到前端的功能。

注册接口

表单序列化

jquery提供了一个serialize()方法序列化表单,说白就是将表单中带有name属性的所有参数拼成一个格式为name=value&name1=value1这样的字符串。方便我们获取表单的数据。

//serialize将表单参数序列化成一个字符串。必须指定name属性
//name=hucc&pass=123456&repass=123456&mobile=18511249258&code=1234
$('form').serialize();

jquery的ajax方法,data参数能够直接识别表单序列化的数据data:$('form').serialize()

$.post({
  url:"register.php",
  data:$('form').serialize(),
  dataType:'json',
  success:function (info) {
    console.log(info);
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前后端交互的两种方式 的相关文章

  • 3.二进制数的应用、逻辑学及逻辑门

    由前面的例子中我们讲了很多设备 比如手电筒 继电器 以及两个编码 莫尔斯编码和布莱叶盲文 这些和我们熟知的二进制数有着很大的联系 二进制数我们已经很了解了 接下来举几个例子 1 胶卷的好坏判定 我们把胶卷拉开 会发现有12个方格 是由银色和
  • Keil(MDK-ARM-STM32)系列教程(四)工程目标选项配置(Ⅱ)

    写在前面 本文接着上一篇文章 工程目标选项配置 进行讲述工程目标选项中后五项的配置 也就是C C Asm Linker Debug Utilities这五项配置的具体内容 对于工程目标选项中的C C 选项 不管是初学者 还是资深的软件工程师
  • memcach redis的理解 和有点

    Memcach 是一种缓存技术 在一定的时间内将动态页面经过解析之后保存发到文件中国 下次访问时动态网页就直接调用这个文件 而不必再重新访问数据库 使用memcach 做缓存的好处是 提高网站的访问速度 减轻高并发是服务器的压力 优点 稳定
  • 对于一个程序员来说,电脑的内存需要多大?

    1 程序员电脑内存有多大内存够用足够了 纯写代码的编程对电脑要求不高 尤其对显卡几乎没有要求 一般编程可能开的任务窗口比较多 所以只要cpu和内存大点就可以了一般来说 处理器确实比显卡来得重要一些 因为我们的电脑中只配备了一块处理器 而处理
  • MEX 文件 ‘lsd.mexw64‘ 无效: 找不到指定的模块。问题解决方法

    问题描述 在跑MATLAB和C 混合编程的一个算法时 出现了如下错误 MEX 文件 C Project final code reference code lsd mexw64 无效 找不到指定的模块 如下图所示 原因分析 根据资料 1 的
  • windows安装cx_oracle的坑

    转自http rookiefly cn detail 69 作死小能手这两天闲着没事 把自己电脑重装了 然而重装过后配置开发环境踩了一些坑 这里把安装cx oracle遇到的坑记录下来 方便以后查看 使用pip安装出现的问题 命令 pip
  • linux下nc命令

    一 nc命令检测端口的用法 nc v w 10 IP z PORT v 显示指令执行过程 w lt 超时秒数 gt 设置等待连线的时间 u 表示使用UDP协议 z 使用0输入 输出模式 只在扫描通信端口时使用 例1 扫描指定的8080端口
  • 亚马逊云科技与百川智能发起AI黑客松,共探医疗健康和游戏娱乐领域的前沿应用

    8月31日 亚马逊云科技云创计划成员企业暨基础模型创业公司百川智能 率先通过了 生成式人工智能服务管理暂行办法 备案 即日起面向全社会开放服务 基础模型获准面向公众用户开放服务 意味着有机会基于大量真实用户的调用反馈建立模型迭代的飞轮 其效
  • Linux命令之远程连接ssh

    概述 ssh命令是openssh套件中的客户端连接工具 可以给予ssh加密协议实现安全的远程登录服务器 实现对服务器的远程管理 在脚本中该命令有着重要重要 可用于在远程服务器中执行命令 语法 ssh命令的基本语法如下 ssh 选项 参数 常
  • APP启动页隐私弹窗实现说明

    最近审核严禁 腾讯应用市场要求APP在启动页增加隐私政策和用户协议 用户从腾讯应用市场上下载APP 第一加载的时候弹窗 不然审核就不给过 样式大概如下 用户若点击不同意的时候 无法进入APP内部 下面把实现的代码贴上来 1 加个判断 其他应
  • java eclipse打不开_安装eclipse以后打不开,出现这个图

    方法1 将eclipse发送到桌面快捷方式 然后右键 属性 快捷方式 tab 目标 显示E dev enrionment eclipse eclipse exe 进行如下更改 E dev enrionment eclipse eclipse
  • 基于改进YoloV3卷积神经网络的番茄病虫害检测

    ABSTRACT 番茄在生长过程中受到各种病虫害的影响 如果控制不及时 就会导致减产甚至歉收 如何有效地控制病虫害 帮助菜农提高番茄的产量是非常重要的 而准确地识别病虫害是最重要的 与传统的模式识别方法相比 基于深度学习的病虫害识别方法可以
  • pycharm设置文件标头

    一 设置模板步骤 文件File 设置Settings 编辑器Editor File and Code Templates Python Script 里面设置模板 coding utf 8 Time DATE TIME 人生的事情并不是一帆
  • C++针对ZeroMQ库的选择

    介绍 ZeroMQ 也称为0MQ或 MQ 是一个高性能 低延迟的消息队列库 它为分布式和并发应用程序提供了简洁 高效的通信机制 它是一个开源的库 支持多种编程语言 包括C 和操作系统 ZeroMQ通过使用套接字抽象来实现消息传递 使得它易于
  • 计算机网络学习日记 把码元的振幅化为16个不同等级来传输-为什么要使用信道复用技术?

    奈氏准则 在宽带为W的低通信道中 若不考虑噪声影响 则马原传输的最高速率是2W 传输速率超过此上线 就会出现验证的码间串扰的问题 使接收端对码元的决判成为不可能 假定某信道收奈氏准则的限制最高码元速率为20000码元 秒 如果采用振幅调制
  • 如何使用CSS递归选择所有子元素?

    当元素是某个元素的子元素时 子选择器匹配 子选择器由两个或多个由 gt 分隔的选择器组成 也称为元素 gt 元素选择器 它选择特定父级的所有元素 语法如下 选择所有子元素 element gt element 如果子元素递归选择 则使用以下
  • Python_文件的代码格式

    导入模块 定义全局变量 定义类 定义函数 在代码的最下方 def main pass 根据 name 判断是否执行下方代码 if name main main
  • 图解十大经典机器学习算法入门

    通过本篇文章可以对机器学习的常用算法有个常识性的认识 没有代码 没有复杂的理论推导 就是图解一下 知道这些算法是什么 它们是怎么具体应用的 1 决策树 根据一些 feature 进行分类 每个节点提一个问题 通过判断 将数据分为两类 再继续
  • OPENCV手势识别抓取图片

    PENCV手势识别抓取图片 一位油管的小哥做的项目非常棒 照着写了一个 代码 注意 看好cvzone的版本 太新的版本中有个函数没有 如果找不到这个函数的时候请更换一下库的版本 import cv2 from cvzone HandTrac

随机推荐

  • RESETLOG之后数据文件丢失的RMAN恢复测试

    RESETLOG之后数据文件丢失的RMAN恢复测试 一 场景 在T0时间点做了RMAN全备 随后在T1时间点由于误操作将T0表truncate 在T2时间点通过RMAN的不完全恢复 将数据库恢复到T1时间点 truncate之前 reset
  • 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程、

    概述 苹果的证书繁锁复杂 制作管理相当麻烦 今天决定重置一个游戏项目中的所有证书 做了这么多次还是感觉很纠结 索性直接记录下来 日后你我他查阅都方便 首先得描述一下各个证书的定位 作用 这样在制作的时候心中有谱 对整个流程的把握也会准确一些
  • cmake的aux_source_directory

    一 问题背景 在同一目录下面 有多个源文件的时候 这个时候你不能都往下面第三条命令里面一直手动添加cpp源文件 那工作效率多低啊 cmake minimum required VERSION 2 8 project main add exe
  • 网站虚拟主机是什么?(什么是虚拟主机空间)

    刚入行的新手用户肯定会接触一个叫虚拟主机的空间 特别是建站行业和个人用户使用的很多 不过很多新手用户对虚拟主机空间还是理解的不太明白 下面我们就来聊聊什么是网站虚拟主机空间 什么是虚拟主机 虚拟主机又称虚拟空间 网站空间 它是由单台物理服务
  • Hadoop学习:深入解析MapReduce的大数据魔力(二)

    Hadoop学习 深入解析MapReduce的大数据魔力 二 3 3 Shuffle 机制 3 3 1 Shuffle 机制 3 3 2 Partition 分区 3 3 3 Partition 分区案例实操 3 3 4 WritableC
  • odoo安装启动遇到的问题

    问题 在第一次加载odoo配置文件的时候 启动失败 方法 1 先检查odoo conf的内容 尤其是路径 options This is the password that allows database operations admin
  • 【前端面试】taro面试题总结

    Taro是一个开放式跨端跨框架解决方案 支持使用React Vue js Nerv等框架来开发小程序 H5 react Native等应用 特性 多端转换支持 可以转换到h5 任意app小程序平台 父子组件通信 父组件用import引入子组
  • Python 中的 sscanf() 函数

    文章目录 Python 中的 sscanf 功能 使用 re 库中的正则表达式 使用Neuron库 函数 sscanf 来自编程语言 C 和 C 虽然 Python 没有为此方法提供任何完全等效的方法或库 但可能有其他方法来执行此功能 这篇
  • Flutter依赖注入

    依赖注入 依赖注入 Dependency Injection 简称DI 是一种软件设计模式 它的主要目的是将对象之间的依赖关系解耦 使得代码更加可维护 可测试 可扩展 使得代码更易于维护和测试 在Flutter中 DI可以帮助我们管理应用程
  • 设置 Oracle 监听器密码(LISTENER) .

    设置 Oracle 监听器密码 LISTENER 监听器也有安全 Sure 在缺省的情况下 任意用户不需要使用任何密码即通过lsnrctl 工具对Oracle Listener进行操作或关闭 从 而造成任意新的会话都将无法建立连接 在Ora
  • C51流水灯 running water lamp

    include
  • 百度智能云 × 火星人丨厨电智能化,从动“手”到动“口”

    家电智能化时代已至 厨电智能化怎甘落后 火星人厨具股份有限公司 简称 火星人 是一家致力改善人们厨房环境 解决厨房油烟危害的高科技公司 2010年成立以来 火星人集成灶凭借核心技术 目前已在全国发展专卖店达一千七百多家 销售额每年快速增长
  • 区块链技术与应用环境部署day-02

    区块链技术与应用环境部署 关于作者 作者介绍 博客主页 作者主页 简介 云计算领域优质创作者 在校期间参与众多计算机相关的省赛 国赛 斩获系列荣誉 考取华为资深工程师 红帽工程师等系列认证 关注我 简历模板 学习资料 文档下载 技术支持 都
  • python sorted函数详解2023.9.11

    sorted函数详解 1 输入和输出 2 key传入函数 1 输入和输出 help sorted Help on built in function sorted in module builtins sorted iterable key
  • VisualBrush画刷

    VisualBrush派生于TileBrush TileBrush可以用来重复填充目标区域 若要使用图像进行绘制 请使用 ImageBrush 若要通过绘图绘制 请使用 DrawingBrush 若要通过 Visual 进行绘制 请使用 V
  • va_list的原理及用法

    va list原理及用法 分类 编程2010 10 20 11 22 1426人阅读 评论 1 收藏 举报 list编译器平台语言x86编程 VA LIST 是在C语言中解决变参问题的一组宏 变参问题是指参数的个数不定 可以是传入一个参数也
  • 如何设置无需fn直接按F1~F10(HP Pavilion Notebook )

    在Windows10下F1 F12都有特定的功能 必须按Fn F1才可以输出F1功能 给我们游戏玩家带来一定的困扰 网上说Fn esc就可以 实际上win10的多数的都不可以实现这功能 电脑概览 电脑型号 HP HP Pavilion No
  • C#Excel文件加密实现,支持xlsx、docx、pptx(C#/NET/Asp.Net)

    C Excel文件加密实现 支持xlsx docx pptx C Net Asp Net 读在最前面 1 Excel文件加密实现 本文以 Microsoft Office 2007 为案例进行说明 2 Microsoft Office 20
  • 离散型制造业如何做生产质量管控和智能追溯?

    离散型制造业做生产质量管控和智能追溯应该做到完善的质量追踪体系和生产过程中的防错防呆来保证质量 首先质量管理应该建立完善的质量跟踪体系 建立产品的全生命周期的管理 从原材料的采购 入库 批次到生产 装配 完工 销售等一个环节都不能漏掉 比如
  • 前后端交互的两种方式

    方式一 表单提交 表单 form 表单用于收集用户输入信息 并将数据提交给服务器 是一种常见的与服务端数据交互的一种方式 1 action 指定表单的提交地址 2 method 指定表单的提交方式 get post 默认get 3 inpu