ajax 页面无刷新

<!-- 使用原生Ajax 和 $.ajax 实现局部刷新的过程 -->
<!-- 封装通用XMLHttpRequest对象 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>创建XMLHttpRequest</title>
<style>
*{
padding: 0;
margin: 0;
}
div{
width: 80vw;
height: 75vh;
margin: auto;
background: #4785ab;
overflow: hidden;
position: relative;
}
div a{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
}
div a img{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
display: block;
width: 98%;
height: 96%;
}
</style>
<script type='text/javascript' src="js/jquery.js"></script>
</head>
<body>
<div class="banner"></div>
<div class="container"></div>
<script type="text/javascript">
// 如何使用Ajax?
// 要完整实现一个AJAX异步调用和局部刷新,通常需要三个步骤:
// 一,创建XMLHttpRequest对象,也就是创建一个异步调用对象。
// 二,创建一个新的HTTP请求,并指定该HTTP请求的方法,URL。
// 三,设置响应HTTP请求状态变化的函数。
// 四,发送HTTP请求
// 请求发往服务器--> 服务器根据请求生成响应--> 传回给xhr对象
// 语法:send(string) 将请求发送到服务器端,string仅用于POST请求
// 注意事项:仅POST请求时可以传入参数,不需要则发送null,调用send方法,请求被发往服务器。
// 五,获取异步调用返回的数据
// 在收到相应后相应数据会填充到xhr对象的属性,有四个相关属性会被填充:
// 1,responseText 从服务器进程返回数据的字符串形式
// 2,responseXML 从服务请进程返回的DOM兼容的文档数据对象
// 3,status 从服务器返回数字代码,如:404(未找到),200(已就绪)
// 4,status Text 伴随状态码的字符串信息
// 六,使用JavaScript和DOM实现局部刷新

//创建一个新的HTTP请求
// 语法:open(method,url,async);
// 功能:创建HTTP请求,规定请求的类型,URL及是否异步处理请求
// method: 请求类型 GET 或者 POST,不指定时默认GET。
// GET:更简单,更快,大部分情况下可以使用,有数据量限制,不用考虑安全性,不传参数。
// POST: 可以传string参数,以下情况必须使用POST
// 1,无法使用缓存文件(更新服务器上的文件或数据库)
// 2,向服务器发送大量数据(POST没有数据量限制)
// 3,发送包含未知字符的用户输入时,POST比GET更稳定更可靠。(考虑安全性问题)
// url: 文件在服务器上的位置,必须指定的参数,该文件可以是任何类型的文件,
// 如:.txt .xml 服务器脚本(.asp .php),在传回相应之前,在服务器上执行任务。
// async: true(异步)或false(同步)
// 同步处理:提交请求--> 等待服务器处理--> 处理完毕返回(期间客户端浏览器不能做任何事情)
// 说白了就是要排队等候,一个一个处理。
// false: 客户端要等待服务器返回消息后才能执行其他操作。
// 异步处理:请求通过事件处理--> 服务器处理(浏览器可以做其他事情)--> 处理完毕(不用返回)
// true: 默认值,客户端不用等待服务器的响应,可以直接做其他事情。
//

// xmlhttp就是XMLHttpRequest的实例
// 使用POST请求时需要做的一个动作:
// 如果需要像HTML表单那样POST数据,需要使用setRequestHeader()来添加HTTP头,
// 然后在send()方法规定希望发送的数据。
// 语法:xmlhttp.setRequestHeader(header,value);
// 使用: xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');

//注意事项:
//open不会向服务器发送真正请求,它相当于初始化请求并准备发送,
//只能向同一个域中使用相同协议和端口的URL发送请求,否则会因为安全原因报错。

// 一,创建XMLHttpRequest对象
//--------两种方式封装通用的XMLHttpRequest对象-----------
//第一种,比较全面点,也复杂点。
//封装通用的xhr对象,兼容各个版本
/*function createXHR(){
//判断浏览器是否将XMLHttpRequest作为本地对象实现,针对IE7,chrome,firefox,opera等等
if (typeof XMLHttpRequest!='undefined') {
return new XMLHttpRequest();//返回XMLHttpRequest对象
}else if(typeof ActiveXObject!='undefined'){
//将所有可能出现的版本都放在数组中进行遍历
var xhrArr=['Mrcrosoft.XMLHTTP','MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP.2.0'];
//遍历XMLHttpRequest对象
var len=xhr.length,xhr;
for (var i = 0; i < len; i++) {
try{
//创建XMLHttpRequest对象
xhr=new ActiveXObject(xhrArr[i]);
break;
}catch(e){
//如果抛出错误,那么说明不支持该版本,则不进行任何操作,直到找到合适版本即可。
}
}
return xhr;
}else{
throw new Error("您的浏览器不支持XMLHttpRequest!");
}
}
var xhr=createXHR();
console.log(xhr);//输出XMLHttpRequest,则创建成功,否则失败*/

//第二种,相对简单,但是也可以满足主流浏览器的使用。
//封装通用的XMLHttpRequest对象
function createXHR(){
var xhr;
if (window.XMLHttpRequest) {
//如果支持XMLHttpRequest,则实例化对象
xhr=new XMLHttpRequest();
}else{
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
}
//创建XMLHttpRequest实例
var xhr=createXHR();
var data=null;//用于接收服务器返回的数据
//console.log(xhr);//输出XMLHttpRequest则创建成功,否则失败

//响应XMLHttpRequest对象状态变化的函数。
//onreadystatechange 在 readystatechange属性值发生改变时触发事件
xhr.onreadystatechange=function(){
//xhr.readyState 不同值的意思:
// 0 没有初始化,没有用send方法
// 1 已经调用send方法正在发送请求
// 2 send方法执行完成,
// 3 正在解析响应的内容
// 4 异步调用成功,响应内容解析完成
//异步调用成功,响应内容解析完成,意为着可以在客户端调用
if (xhr.readyState===4) {
// xhr.status<=200 && xhr.status<300 表示异步调用成功,即数据交换是成功的
// xhr.status===304 表示请求资源没有被修改,可以使用浏览器缓存(说明之前已经请求成功过,且请求资源没有改变过)
if ((xhr.status>=200 && xhr.status<300) || xhr.status===304) {
//获取服务器返回的数据
// console.log(xhr.responseText);

//eval()是原生javascript代码进行string转换成 object对象
//而这里是对JSON数据进行转换
//eval()用于把string(json数据)字符串转化为对象,
//就可以使用 obj.属性 进行取值了。
//在转化时,一定要在json数据前后加上小括号,这样转化成一个对象,否则报错。
/*data=eval("("+xhr.responseText+")");
console.log(data.code);
console.log(data.people);//返回的是一个数组对象,通过遍历和index来访问其中的值
console.log(data.people[3]);//返回数组第四个值:{name: "weidejun", age: "31"}*/
//以下是JSON的两个互转的方法:JSON.parse(),JSON.stringify() 这两个方法互为逆转。
data=JSON.parse(xhr.responseText);
// console.log(data);//返回JSON数据的一个数组[...]
// console.log(data.people);//返回people属性值的一个数组

//将JSON.parse(xhr.responeText)返回的原生javascript值
//逆转会JSON字符串,即序列化为JSON字符串。
// console.log(JSON.stringify(data));

//把返回的服务器数据渲染到DOM对象中
renderDataToDom();
}
}
}

//以下是使用GET方法进行发送请求
//创建HTTP请求,用get方法传参数直接写在url后面,?name=zs&psd=1234 如下:
xhr.open('get','./js/slider.json',true);
//发送请求,使用get()方法不需要在send中传递参数,那么直接给一个null即可。
xhr.send(null);//如果,使用get方法,尝试使用xhr.send()看看能不能成功执行。

//把返回的服务器JSON数据渲染到DOM对象中
function renderDataToDom(){
var pictures=data.picture;
var len=pictures.length;
var str="";
var div=document.getElementsByTagName('div')[0];
for (var i = 0; i < len; i++) {
// console.log(pictures[i]);
console.log(pictures[i].linkUrl);
console.log(pictures[i].picUrl);
str+="<a href='"+pictures[i].linkUrl+"'><img src='"+pictures[i].picUrl+"'></a>";
div.innerHTML=str;
}
}
/*//以下是使用POST方法进行发送数据
//创建HTTP请求,用post方法传参数时,把参数写到send({name:'zhangsan',psd:'123456'})方法中的,
//如果不需要传参数,那么在直接:xhr.send(null),即可。如下:
xhr.open('get','./js/slider.json?name=zhangsan&psd=1234567',true);
//发送请求
xhr.send({name:'zhangsan',psd:'123456'});
//设置http头部信息
xhr.setRequestHeader('Content-type','application/x-www.x-www-form-urlencoded');*/

//以下是jquery封装好的$.ajax方法,简单好用,尝试用自己封装。
$.ajax({
url:"./js/slider.json", //请求地址
type:"get", //请求方式
async:true, //异步同步
dataType:"json", //获取数据格式
success:function(imgData){ //请求成功后的回调函数
JSrenderDataToDom(imgData)
// console.log(imgData.picture);
}
})
function JSrenderDataToDom(data){
var str="";
$.each(data.picture, function(index,obj) {
str="<a href='"+obj.linkUrl+"'><img src='"
+obj.picUrl+"'/></a>";
$(".container").html(str);
});
}
</script>
</body>
</html>
<!--
1,在使用Ajax时,必须先安装MAMP(即:Apache Server 和 MySQL Server)
2,配置Web Server 网页的默认访问路径,同时配置本地端口号:80
3,编写Ajax页面时,页面必须放在该默认路径下面文件夹里面才可以正常访问
4,且访问时,不能直接点击文件打开,而是通过MAMP软件页面的---》
Open WerStart page 来打开 如:http://localhost:81 等价于:http://localhost:81/index.html
访问其他页面:http://localhost:81/xxx.html
5,打开页面后,可以使用开发者工具---Network---All---刷新页面
---点击localhost---查看各种参数 如;
Request URL: http://localhost:81/ 请求地址
Request Method: GET 请求的方法
Status Code: 200 OK 请求的状态
Remote Address: 127.0.0.1:81 远程访问地址

xmlhttprequst有以下两个方法:
1.open() 方法:open() 有三个参数。第一个参数定义发送请求所使用的方法,第二个参数规定服务器端脚本的URL,第三个参数规定应当对请求进行异步地处理。xmlHttp.open("GET","test.php",true);
2.send() 方法:send() 方法将请求送往服务器。如果我们假设 HTML 文件和 PHP 文件位于相同的目录,那么代码是这样的:xmlHttp.send(null);

服务器返回状态和状态码:
200 OK
请求正常处理完毕
204 No Content
请求成功处理,没有实体的主体返回
206 Partial Content
GET范围请求已成功处理
301 Moved Permanently
永久重定向,资源已永久分配新URI
302 Found
临时重定向,资源已临时分配新URI
303 See Other
临时重定向,期望使用GET定向获取
304 Not Modified
发送的附带条件请求未满足
307 Temporary Redirect
临时重定向,POST不会变成GET
400 Bad Request
请求报文语法错误或参数错误
401 Unauthorized
需要通过HTTP认证,或认证失败
403 Forbidden
请求资源被拒绝
404 Not Found
无法找到请求资源(服务器无理由拒绝)
500 Internal Server Error
服务器故障或Web应用故障
503 Service Unavailable
服务器超负载或停机维护 -->
还差两个问题没解决:
1,自己封装$.ajax方法
2,跨域

<!-- 什么是JSON?
1,JSON: JavaScript Object Nonation 全称:JavaScript对象表示法
2,是一种数据交换格式,不是编程语言,用于读取结构化数据
3,2001年提出,目的是取代繁琐笨重的XML格式

JSON语法可以表示以下三种类型的值:
一,简单值:
1,用法与JavaScript用法相同,可以是:字符串,数值,布尔值,null
字符串必须使用双引号,不能使用单引号,数值必须是十进制,
不能使用NaN和Infinify,还有undefined值。
二,对象:
1,对象是一种复杂的数据类型,表示一组有序的键值对,而每个键值对中的值
可以是简单值,也可以是复杂数据类型的值。
2,JSON中对象的键名必须放在双引号里面,因为JSON不是javascript语句,
所以没有末尾的分号。
3,对于同一个对象中不应该出现两个同名属性
三,数组:
1,数组是一种复杂数据类型,表示一组有序的值的列表,
可以通过数值索引来访问其中的值。
2,数组或对象最后一个成员的后面,不能加逗号。 -->

<!-- ajax返回的JSON数据转化为object对象进行数据操作的方法:
1,JSON.parse(服务器返回的数据) 将JSON字符串转化为Object对象
2,JSON.stringify(服务器返回的数据) 将一个值转换为字符串,该字符串符合JSON格式,
并且可以被JSON.parse(服务器返回的数据)方法还原。

JSON总结:
1,JSON之所以流行,因为可以把JSON数据结构解析为有用的javascript对象。
2,JSON对象的两个方法:JSON.stringify(服务器返回的数据) 和 JSON.parse(服务器返回的数据) 分别用于:
JSON.stringify(服务器返回的数据) 把javascript对象序列化为JSON字符串
JSON.parse(服务器返回的数据) 把JSON字符串解析为原生的javascript值
3,javascript的eval(服务器返回的数据)类似于JSON.parse(服务器返回的数据),可以将JSON字符串转换为JSON对象,
但是,eval()可以执行不符合JSON格式的代码,有可能包含恶意代码,所以少用。

// 如何使用Ajax?
// 要完整实现一个AJAX异步调用和局部刷新,通常需要三个步骤:
// 一,创建XMLHttpRequest对象,也就是创建一个异步调用对象。
// 二,创建一个新的HTTP请求,并指定该HTTP请求的方法,URL。
// 三,设置响应HTTP请求状态变化的函数。
// 四,发送HTTP请求
// 请求发往服务器 服务器根据请求生成响应 传回给xhr对象
// 语法:send(string) 将请求发送到服务器端,string仅用于POST请求
// 注意事项:仅POST请求时可以传入参数,不需要则发送null,调用send方法,请求被发往服务器。
// 五,获取异步调用返回的数据
// 在收到相应后相应数据会填充到xhr对象的属性,有四个相关属性会被填充:
// 1,responseText 从服务器进程返回数据的字符串形式
// 2,responseXML 从服务请进程返回的DOM兼容的文档数据对象
// 3,status 从服务器返回数字代码,如:404(未找到),200(已就绪)
// 4,status Text 伴随状态码的字符串信息
// 六,使用JavaScript和DOM实现局部刷新
=============以下六个步骤就是使用原生的javascript编写的ajax过程=============
一://封装通用的XMLHttpRequest对象
function createXHR(){
var xhr;
if (window.XMLHttpRequest) {
//如果支持XMLHttpRequest,则实例化对象
xhr=new XMLHttpRequest();
}else{
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
}

三:xhr.onreadystatechange=function(){
//异步调用成功,响应内容解析完成,意为着可以在客户端调用
if (xhr.readyState===4) {
// xhr.status<=200 && xhr.status<300 表示异步调用成功,即数据交换是成功的
// xhr.status===304 表示请求资源没有被修改,可以使用浏览器缓存(说明之前已经请求成功过,且请求资源没有改变过)
if ((xhr.status>=200 && xhr.status<300) || xhr.status===304) {
五,获取异步调用返回的数据
//以下是JSON的两个互转的方法:JSON.parse(),JSON.stringify() 这两个方法互为逆转。
data=JSON.parse(xhr.responseText);

六: //封装渲染函数,把返回的服务器数据渲染到DOM对象中
renderDataToDom();
}
}
}

习惯把 二 和 四 写在一起
二://以下是使用GET方法进行发送请求
//创建HTTP请求,用get方法传参数直接写在url后面,?name=zs&psd=1234 如下:
xhr.open('get','./js/slider.json',true);

四://发送请求,使用get()方法不需要在send中传递参数,那么直接给一个null即可。
xhr.send(null);//如果,使用get方法,尝试使用xhr.send()看看能不能成功执行。

六://把返回的服务器JSON数据渲染到DOM对象中
function renderDataToDom(){
var pictures=data.picture;
var len=pictures.length;
var str="";
var div=document.getElementsByTagName('div')[0];
for (var i = 0; i < len; i++) {
// console.log(pictures[i]);
console.log(pictures[i].linkUrl);
console.log(pictures[i].picUrl);
str+="<a href='"+pictures[i].linkUrl+"'><img src='"+pictures[i].picUrl+"'></a>";
div.innerHTML=str;
}
}
===========以下是jquery封装好的$.ajax方法,简单好用,尝试自己封装=============

//以下是jquery封装好的$.ajax方法,简单好用,尝试用自己封装。
$.ajax({
url:"./js/slider.json", //请求地址
type:"get", //请求方式
async:true, //异步同步
dataType:"json", //获取数据格式
success:function(imgData){ //请求成功后的回调函数
JSrenderDataToDom(imgData)
// console.log(imgData.picture);
}
})
function JSrenderDataToDom(data){
var str="";
$.each(data.picture, function(index,obj) {
str="<a href='"+obj.linkUrl+"'><img src='"
+obj.picUrl+"'/></a>";
$(".container").html(str);
});
} -->
========以下是xxx.json实例==========
{
"code":0,
"picture":[
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/1.jpg"
},
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/2.jpg"
},
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/3.jpg"
},
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/4.jpg"
},
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/5.jpg"
},
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/6.jpg"
},
{
"linkUrl":"https://www.baiud.com",
"picUrl":"images/7.jpg"
}
]
}
==========================

 

 

转载于:https://www.cnblogs.com/Knowledge-is-infinite/p/11135294.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php7安装详解_,PHP7 redis扩展安装详解

1、安装redis(1)下载&#xff1a;https://github.com/phpredis/phpredis/tree/php7 或下载http://pan.baidu.com/s/1i5DFrjn用samba挂载导进去(2)yum -y install m4 autoconf # 安装依赖(3)unzip phpredis-php7.zip # 解压(4)cd ./phpredis-php7 # 进入目录(5)phpize #用php…

python之_init_函数的简介

1、每个package中都必须包含一个_init_.py文件除了不需要加载模块的 它方便在外部统一调用&#xff0c;和在内部互相调用&#xff0c;它可以为空&#xff0c;当为空时&#xff0c;作用是将这个文件夹下的内容当作包执行&#xff0c;便于解释器区分执行。 2、定义类的时候&#…

22. Generate Parentheses

题目描述&#xff1a; Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n 3, a solution set is: ["((()))","(()())","(())()","()(())","()()…

es6中的块级作用域

块级作用域 凡是带{}都是块级作用域&#xff0c;if(){} for(){} 对象{} 1.在块级作用域下&#xff0c;var 和function跟在window下一样&#xff0c; function有个特殊的一点&#xff0c;在块级作用域下会提前声明&#xff0c;不会提前定义 2.在块级作用域下 let和const声明的变…

php图片地址参数错误,图片上传时一直显示请求地址错误怎么办

1、出现“请求地址错误”的直接原因&#xff1a;图中$action null2.根本原因&#xff1a;url美化那一节课程&#xff0c;去掉 index.php的.htaccess 文件修改的时候&#xff0c;没有按照老师的来写&#xff0c;所以美化url以后获取不到地址栏参数&#xff0c;导致$action值为n…

C#写的WebServices可运行于树莓派

阅读目录 Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器Raspkate项目演示回到目录Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器 最近在业余时间玩玩树莓派&#xff0c;刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚&#x…

[导入]Ms XmlDom 异步装载Xml文件

Ms XmlDom 异步装载Xml文件文章来源:http://blog.csdn.net/net_lover/archive/2004/07/07/36015.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2004/07/07/816151.html

Django的View(视图)

Django的View&#xff08;视图&#xff09; 一个视图函数&#xff08;类&#xff09;&#xff0c;简称视图&#xff0c;是一个简单的Python 函数&#xff08;类&#xff09;&#xff0c;它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容&#xff0c;一个重定向&am…

设计模式之--原型模式

1.原型模式定义 原型模式非常简单&#xff0c;定义如下&#xff1a; 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象 2.通用类图 原型模式的核心是实现Cloneable接口&#xff0c;此接口为JDK提供的一个标识接口&#xff0c;只有实现了此接口的类才…

搜索目录里所有文件(包括子目录)

搜索目录里所有文件(包括子目录&#xff09; 资料来源&#xff1a;http://www.cnblogs.com/jjwwww/archive/2004/09/04/39559.aspx 用到两个函数ParseDirectory 和CreatePathListvoidParseDirectory(stringpath, stringfilter) { strin…

一张图理解buffer与cache

转载于:https://blog.51cto.com/11193863/2169166

oracle服务器不识别tc服务,记一次ORACLE无法启动登陆事故

打开XSHELL 登陆ORACLE用户1.sqlplus scott/scott 提示登陆失败2.sqplus / as sysdba 启动数据库提示3.查找日志操作日志&#xff1a;$ORACLE_HOME/startup.log启动日志&#xff1a;$ORACLE_BASE/diag/rdbms/ora11g/ora11g/trace/alert_ora11g.log (ora11g为SID值)启动日志如果…

BMP位图之8位位图(三)

起始结构 typedef struct tagBITMAPFILEHEADER { WORD bfType; //类型名&#xff0c;字符串“BM”&#xff0c; DWORD bfSize; //文件大小 WORD bfReserved1; //保留字 WORD bfReserved2; //保留字 DWORD bfOffBits; //实际位图数据的偏移字节数&#xff0c;即前三个部分长度之…

Node.js 事件循环

Node.js 事件循环 Node.js 是单进程单线程应用程序&#xff0c;但是因为 V8 引擎提供的异步执行回调接口&#xff0c;通过这些接口可以处理大量的并发&#xff0c;所以性能非常高。 Node.js 几乎每一个 API 都是支持回调函数的。 Node.js 基本上所有的事件机制都是用设计模式中…

android天气查询(二)之网络json数据的获取

前面一篇文章介绍了如何使用ksoap获取天气信息&#xff0c;但是使用的网络资源受到了限制&#xff0c;所以我们这里会采用第二种方法&#xff0c;可以无限制的获取。http://m.weather.com.cn/data/101010100.html 但是对应的101010100(北京)我们怎么获取呢&#xff0c;还有就是…

累.....

今天我真的蔫了&#xff0c;好累&#xff0c;脑子也好浊&#xff0c;但是还好&#xff0c;最终达到了预期的目的。我终于把henry的dataGrid实现了&#xff0c;犯了低级错误&#xff0c;和好多人讨论&#xff0c;但最终还是henry解决的。那一刻&#xff0c;真的好爽&#xff0c;…

linux cp 时 略过文件,CentOS下执行cp命令式提示略过文件夹

今天在CentOS下复制一个文件夹到另一个文件夹的时候cp ./res /usr 的时候出现了问题&#xff0c;提示我的是&#xff1a;cp略过了文件夹后来我找了一下在网上search了一下CP命令的用法&#xff1a;CP命令该命令的功能是将给出的文件或目录拷贝到另一文件或目录中&#xff0c;同…

hibernate详解

Hibernate原理与应用 主要内容 1、引入 2、安装配置 3、基本概念和CURD 4、HQL和Criteria 5、关联映射 6、继承映射 7、集合映射 8、懒加载 9、缓存 10、事务 11、其他 12、Hibernate不适合的场景 13、与JPA的集成(annotation方式) 14、最佳实践 1、引入 模型不匹配(阻抗不匹配…

Android Studio 环境搭建参考,jdk10javac命令提示不是内部或外部命令

https://blog.csdn.net/qq_33658730/article/details/78547789 win10下Android Studio和SDK下载、安装和环境变量配置 http://yanmin99.com/ android-0基础从入门到精通 环境变量ANDROID_HOMEE:\Program Files (x86)\Android\SdkJAVA_HOMEE:\Program Files\Java\jdk1.8.0_161TO…

报表引擎 - 数据模型

介绍 本文档是报表模型的数据模型部分&#xff0c;说明平台报表中涉及的报表数据相关 术语 名称 说明 数据源 数据源是与数据存储的连接。支持数据源适配 数据集 定义报表数据来源的一个二维表 参数 报表往往有参数&#xff0c;例如&#xff0c;日报表&#xff0c;当…