ajax异步请求: 同时发送两个异步请求

同时发送两个ajax请求, 如果第一个请求响应失败, 第二个请求的响应数据浏览器还会接收到吗?

2个回答

要看你的代码怎么写,如果第二个请求和第一个是并列的关系,那么互不影响
如果第二个请求写在第一个的success里面,那么肯定就不行了。

第一个 option? 第二个才是 get 或者post类型?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
向服务器发送了两个异步请求 结果却总是同时返回
js代码 ``` window.onload = function () { gp(); gp1(); } function gp() { $.ajax({ type: "post", url: "Filepro.aspx", data: { type: "gp" }, success: function (data) { alert(data); setTimeout("gp()", 500); }, error: function (data) { } }) } } function gp1() { $.ajax({ type: "post", url: "Filepro1.aspx", data: { type: "gp" }, success: function (data) { alert(data); setTimeout("gp1()", 500); }, error: function (data) { } }) } ``` asp.net 代码 ``` //Filepro.aspx String tag = Request.Form["type"]; String a = ""; if (tag.Equals("gp")) { Thread.Sleep(5000); Response.Write("我是0"); Response.End(); } //Filepro1.aspx String tag = Request.Form["type"]; String a = ""; if (tag.Equals("gp")) { Response.Write("我是1"); Response.End(); } ``` 前台就是简单的发了两个异步请求出去 服务器有两个页面分别处理这两个请求,其中一个做了延时,我想要的效果是在大概五秒时间里 服务器返回N个“我是1”返回一个“我是0”但现在的现像是这两个请求总是大概五秒一次的同时返回,是服务器把这两个异步请求当成一个去处理了吗?其中一个Sleep的时候 另一个也被指挂起了? 我想要的那种效果应该怎么实现 请指教!
Ajax异步请求
myeclipse8.5中开发 new Ajax.Request("OAMaxFileNoSend.wf?fronttitle="+fronttitle+"&REGID="+<%= regBean.getREGID()%>,{method:"post", onSuccess:function(req){ document.getElementById("message").innerHTML="提示:当前最大文号为"+req.responseText; } }); url带有两个参数,url就执行不了, 但是一个参数时url就执行了 很奇怪! MyEclipse5.5中没有这样的情况啊
Linux下的ajax请求问题
我练习写了一个小web项目,页面大部分数据是用的jQuery的load方法 发出的ajax请求得到, 在本机上(XP系统)的三个浏览器下(qq,百度,360)测试一切正常, 但我把项目部署到Linux上的时候,百度浏览器可以正常运行, 但是其他两个浏览器下运行网页凡是属于ajax的异步请求, 都得不到数据,请问这种情况兼容性问题出在哪啊,也不报错,无从分析, 求指点
vue.js 请求方法设置同步问题
使用vue.js对后台进行请求发送。 现在问题描述。 定义一个vue中,有6个方法,其中有一个方法请求成功后会调用另外两个方法, 调用时候,必须等第一个方法成功返回之后对页面渲染后再掉第二个方法。 目前vue 默认为异步请求,调用的第一个方法还没有渲染完页面, 第二个方法就已经请求了,造成页面获取值为未更新之前的数据。 现在想完成的形式: 定义一个vue,6个方法中,不设置就使用异步, 有一个方法需要单独设置为执行同步。 请大神说说vue的思路。就是需要vue实现部分方法同步 【ps:想说使用ajax的或者把第二个参数写在第一个参数里边的就不用说了】
ajax请求后台阻塞问题
写了两个AJAX函数,第一个用于导入数据,同时将进度信息写到全局变量中,第二个每隔一秒种获取全局变量的进度信息 但是为何第二个ajax一定要等到第一个结束时才会去执行? 1. 设置过jquery AJAX的async 为te,即异步执行 2. 第二个ajax(获取进度信息的), 就算我随便返回个值(非session)里面的都不会去调用后台方法, 直到第1个执行完成才会进来。 也不是session的问题。。。 那么真的很奇怪啊, 大神速来~~~
求助IIS服务器单用户并发请求的问题
我有一个页面,有两个ajax异步请求,在同一时间(先后)请求一个站点,第一个请求是耗时的请求,要一分钟返回消息;第二个请求是即时消息,只用一秒。 页面程序执行结果是,在第一个耗时请求返回消息后,第二个请求才会被asp.net接收到,这样的用户体验非常糟糕。 我尝试配置IIS的最大工作进程数,调节至1000(默认为1),以增加w3wp的数量来提高并发处理效率。但是执行效果仍然是“即时请求”排列在“耗时请求”之后执行,即IIS并未为我的第二个请求分配一个闲置的工作进程。 求问技术达人,这种情况需要如何解决? (PS:耗时请求和即时请求先后顺序不可控)
请问这个异步请求方式,怎么做!
![图片说明](https://img-ask.csdn.net/upload/201507/20/1437385238_673199.png) 当选择车型,下面的三项都异步生成;然后选择“车的年代”,下面的两行自动生产;选择“车款式”,下面一行的车的颜色也随之生产。 用mvc三成架构,应该怎么做?
jquery ajax方法调用在session超时以后如何跳转到登录页面?
jquery ajax方法调用在session超时以后如何跳转到登录页面? session超时以后虽然被过滤器过滤到了,但是并不会跳转到登录页面请求具体的解决方法。 我参考了这篇文章,但是我调用ajaxStart不起作用。 http://www.blogjava.net/vickzhu/archive/2009/06/05/280223.html ext jquery 用户访问超时(ext session过期) 解决两种情况下的用户访问超时。 a)普通http请求的session超时。 b)异步http请求的session超时,使用ext后大部分的界面刷新都是异步的ajax请求。 不管是那种类型的http请求总是可以由一个过滤器来捕捉。 分类:普通http请求的header参数中没有x-requested-with:XMLHttpRequest头信息,而异步的有。 其实对于常见的ajax框架,header中还有标示自己身份的header信息。 对于普通的http请求,发现session超时后直接重定向到一个超时页面,显示访问超时。 对于异步http请求,发现session超时后则向请求的response中写入特定的超时头信息,客户端ajax对象检测 头信息,发现有超时状态标志后调用显示超时信息的javascript方法,提示用户访问超时。 服务器端session超时后在过滤器中为response添加新的头信息,标记该请求超时: if(r.getHeader("x-requested-with")!=null && r.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){ response.setHeader("sessionstatus","timeout"); } 使用Ext.Ajaxt对象完成异步请求的交互,Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)。 注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件。在该事件的回调函数里面判断 访问请求是否超时。使用Ext.Ajax对象的好处是,只需要引入一个包含了几行超时处理代码的js文件,就可以 为当前应用增加超时处理功能,原有代码不需要做任何修改。 使用Ext.Ajaxt对象完成异步请求交互,假如checkUserSessionStatus是你的回调方法,每个页面引用: Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this); function checkUserSessionStatus(conn,response,options){ //Ext重新封装了response对象 if(typeof response.getResponseHeader.sessionstatus != 'undefined'){ //发现请求超时,退出处理代码... } } 可以利用的几个特性:a)所有的ajax请求均带有x-requested-with:XMLHttpRequest头信息b)Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)c)注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件(概念类似spring的aop拦截)。 jquery提供了几个全局事件可以用来处理session过期请求,如当ajax请求开始时会触发ajaxStart()方法的回调函数;当ajax请求结束时,会触发ajaxStop()方法的回调函数。这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有ajax请求发生时,都会触发它们。类似的事件还有:ajaxComplete(),ajaxError(),ajaxSend(),ajaxSuccess()等。 如果使某个ajax请求不受全局方法的影响,那么可以在使用$.ajax()方法时,将参数中的global设置为false,jquery代码如下:$.ajax({ url:"test.html", global:false//不触发全局ajax事件}) 对于其他的ajax框架,解决用户访问请求超时这个问题的思路是类似的。
我这样做asp.net异步文件上传进度条
前台两个请求  1.上传文件的请求  2.获取上传进度的请求 1. ``` $("#ufrm").ajaxSubmit({ url: "ReceivFile.ashx", type: "post", success: function (data) { ... ``` 2. ``` $.ajax({ type: "post", url: "Filepro.aspx", data: { type: "gp" }, success: function (data) { ... ``` 后台两个处理: 1.接收文件的处理 ```       int readcount = 0; int tcount = 0; tcount = files.ContentLength; byte[] buffer=new byte[10]; System.IO.FileStream fs= System.IO.File.Create(context.Server.MapPath(pic)); HttpContext.Current.Session["fp"] = "1"; while ((readcount=stream.Read(buffer,0,10))>0) { fs.Write(buffer, 0, readcount); HttpContext.Current.Session["fp"] = fs.Length + "/" + tcount; } ``` 2.返回进度 ```  if (tag.Equals("gp")) { if (Session["fp"] != null) { Response.Write(Session["fp"].ToString()); Response.End(); } else { Response.Write("NULL"); Response.End(); } } ``` 服务器接收文件的过程中把上传的进度存到session中 前台请求上传进度的时候 服务器从这个session里获取值发送给前台 前台再显示出来 我这样去实现上传的进度显示可以吗? 现在的问题是 返回的进度总是NULL 像是被接收文件那个线程给独占了一样  应该怎样去改进 求指教 我查了这两个请求(上传文件请求和获取进度请求)的sessionid是一样的!
数据显示不到统计图中
![图片说明](https://img-ask.csdn.net/upload/201908/07/1565169152_990363.png) 这些信息一个在统计图上变显示啊,为什么显示不到echart的统计图上 ``` <div style="text-align: center;"> <h2>商品类型统计</h2> </div> <!-- 2.为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px; height: 450px; float:left;" > <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); //3.初始化,默认显示标题,图例和xy空坐标轴 myChart.setOption({ title : { text : '销售数量' }, tooltip : {}, legend : { data : [ '销售量' ] }, xAxis : { data : [] }, yAxis : {}, series : [ { name : '销售量', type : 'bar', data : [] } ] }); //4.设置加载动画(非必须) myChart.showLoading(); //数据加载完之前先显示一段简单的loading动画 //5.定义数据存放数组(动态变) var names = []; //建立一个类别数组(实际用来盛放X轴坐标值) var nums = []; //建立一个销量数组(实际用来盛放Y坐标值) //6.ajax发起数据请求 $.ajax({ type : "post", async : true, //异步请求(同步请求将会锁住浏览器,其他操作须等请求完成才可执行) url : "${pageContext.request.contextPath}/store/statisticsOne", //请求发送到controller data : {}, dataType : "json", //返回数据形式为json //7.请求成功后接收数据name+num两组数据 success : function(result) { //result为服务器返回的json对象 if (result) { //8.取出数据存入数组 for (var i = 0; i < result.length; i++) { names.push(result[i].pro_name); //迭代取出类别数据并填入类别数组 } for (var i = 0; i < result.length; i++) { nums.push(result[i].countproduct); //迭代取出销量并填入销量数组 } myChart.hideLoading(); //隐藏加载动画 //9.覆盖操作-根据数据加载数据图表 myChart.setOption({ xAxis : { data : names }, series : [ { // 根据名字对应到相应的数据 name : '数量', data : nums } ] }); } }, error : function(errorMsg) { //请求失败时执行该函数 alert("图表请求数据失败!"); myChart.hideLoading(); } }) </script> </div> ```
js焦点定位BUG怎么处理?
我有两个文本框用JS代码写的,触发onblur事件作验证处理,另一个也是。。现在我发现一个问题,就是第一个文本框输入完成后,验证不通过得到焦点,因为异步发送AJAX需要时间去数据库查询,而失去焦点的动作是我点击的第二个文本框,所以这问题就操蛋了,当点击第二个文本框后,第一个文本框异步发送请求返回的结果才返回回来,不通过第一个文本框要得到焦点,可是第二个文本框也有角发的事件呀,他不通过也要得到焦点,然后。。。大神们应该懂的,这怎么处理?我看网上说延时?还有其他更简单的方法吗
ajax获取不到php从数据库里面读取到的数据,(php读取到的数据已经成功转换成了json数据)
javascript代码: ```javascript // 初始化两个数组,盛装从数据库中获取到的数据 var dates = new Array(), moneys = new Array(); //调用ajax来实现异步的加载数据 function getusers() { $.ajax({ type: "post", async: false, data:{}, url: "dataDemo/dataIndex.php", data: {}, dataType: "json", success: function(result){ if(result){ for(var i = 0; i < result.length; i++){ dates.push(result[i].sum); moneys.push(result[i].money); } } }, error: function(errmsg) { alert("Ajax获取服务器数据出错了!"+ errmsg); } }); return dates, moneys; } //执行异步请求 getusers(); ``` public_function.php代码: ```php <?php function dbInit(){ global $con; $dsn = "mysql:dbname=info;localhost=127.0.0.1"; $user = "root"; $password = "644066YanMin&&!+"; try{ $con = new PDO($dsn,$user,$password); }catch(PDOExcepetion $e){ die ("Error!: " . $e->getMessage() . "<br/>"); } } /* 处理结果集中有多条数据的函数; */ function fetchAll($sql){ global $con; class user{ public $times; public $money; } if($result = $con->query($sql)){ //声明数组,用于接收结果集; $data = array(); //遍历结果集; while($row = $result->fetch(PDO::FETCH_ASSOC)){ $user = new User(); $user->times = $row['times']; $user->money = $row['sum']; $data[] = $user; } return $data; }else{ //执行失败; return false; } } ``` dataIndex.php代码 ```php <?php require "public_function.php"; dbInit(); $sql = 'select times,sum from date'; $datas = fetchAll($sql); // 返回JSON类型的数据 echo json_encode($datas); //$con = null; require "dataIndex.html"; ```
如何才能请爬到该页面?
一个异步加载的页面:http://q.10jqka.com.cn/thshy/index/field/199112/order/desc/page/1/ajax/1/ 打开上面的链接,右键‘查看源代码’可以看到需要的内容,但用requests.get()请求服务器只返回两个script标签(如下图)。请问各位高手如何才能正确的请求到页面内容? ![代码及返回值](https://img-ask.csdn.net/upload/201811/04/1541318850_517616.png)
x轴为什么显示undefined??
``` ```<!doctype html> <html> <head> <meta charset="utf-8"> <title>异步加载后台数据</title> <link href="css/index.css" type="text/css" rel="stylesheet" /> <script src="js/jquery.js"></script> <script src="js/echarts.js"></script> </head> <body> <div id="container"> <h3>开始测试</h3> <div id="wrap"></div> <script> // 初始化 图表对象 var mychart = echarts.init(document.getElementById("wrap")); // 初始化两个数组,盛装从数据库中获取到的数据 var teachers_tits = [], respro_num = []; //调用ajax来实现异步的加载数据 function get_resproject() { $.ajax({ type: "post", async: false, url: "config.php", data: {}, dataType: "json", success: function(result){ if(result){ for(var i = 0 ; i < result.length; i++){ teachers_tits.push(result[i].teachers_tits); respro_num.push(result[i].respro_num); } } }, error: function() { alert("Ajax获取服务器数据出错了!"); //return teachers_tits, respro_num; } }); return teachers_tits,respro_num; } // 执行异步请求 get_resproject(); // 进行相关项的设置,也就是所谓的搭搭骨架,方便待会的ajax异步的数据填充 var option = { title : { text : '职称科研项目数量图' }, tooltip : { show : true }, legend : { data : [ '项目数量' ] }, xAxis : [ { data : teachers_tits } ], yAxis : [ { type : 'value' } ], series : [ { "name" : "项目数量", "type" : "bar", "data" : respro_num }] }; // 将配置项赋给chart对象,来显示相关的数据 mychart.setOption(option); </script> </div> </body> </html> ``` ```![图片说明](https://img-ask.csdn.net/upload/201812/05/1544011145_563899.png)
关于es6入门,看到promise的时候发现两个小问题,不知道是怎么回事
问题1:promise实现ajax请求的时候 resolve里面的参数 this.response 是什么, ajax里面好像没有这个属性,是不是应该是respinseText ``` var getJSON = function(url) { var promise = new Promise(function(resolve, reject){ var client = new XMLHttpRequest(); client.open("GET", url); client.onreadystatechange = handler; client.responseType = "json"; client.setRequestHeader("Accept", "application/json"); client.send(); function handler() { if (this.readyState !== 4) { return; } if (this.status === 200) { resolve(this.response); //这里this.response } else { reject(new Error(this.statusText)); } }; }); ``` 问题2. settimeout 第3个参数实际上是第一个参数的函数的参数,而 resolve又是能传递参数的 ``` function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done'); //改成 setTimeout(resolve('done'), ms); }); } timeout(5000).then((value) => { console.log(value); }); ``` 书上的例子我稍微改一改,为什么就不能异步执行了
comet实现服务器推送技术出现了一些问题
如题 自己写的基于comet服务器推送信息的网站,自己调试的时候没有问题,数据能够更改。 但是 发布到IIS上, 用别的电脑访问的时候,数据不能更改,感觉没有运行代码。 这两台电脑的 防火墙都是关闭的~ js ``` $(function () { a(); } function a(){ $.ajax({ url: "../../NetAnomaly.ashx?"+Math.random(), type: "post", data: { "type": "connection" }, success: function (data) { if (data=="1") { a(); } a(); }, error: function () { a(); } }) } ``` cs ``` public class NetAnomaly1 : IHttpAsyncHandler { public static string name = HttpContext.Current.User.Identity.Name; public void ProcessRequest(HttpContext context) { } public bool IsReusable { get { return false; } } public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData) { //web server 调用BeginProcessRequest 开始异步处理http请求 IAsyncResult ar = new NetAsyncResult(context, cb, extraData); if (context.Request["type"].Equals("connection")) { chatManager.Start_Long_Connection(ar, name); } return ar; } public void EndProcessRequest(IAsyncResult result) { //web server 调用EndProcessRequest结束 异步处理http请求 一次http连接结束 } } /// <summary> /// 唯一标示一个异步请求http请求 /// </summary> class NetAsyncResult : IAsyncResult { HttpContext _context; //与当前http请求相关的context AsyncCallback _cb; //异步处理的回调方法 object _extraData; // 开启异步处理时 传进来的附加参数 bool _isCompleted; //异步过程是否完成 public NetAsyncResult(HttpContext context, AsyncCallback cb, object extraData) { _context = context; _cb = cb; _extraData = extraData; } //向客户端发送 数据 public void SendMsg(string msg) { try { _context.Response.ContentType = "text/html"; _context.Response.Write(msg); try { if (_cb != null) { //这步非常关键 该操作告诉web server 结束本次http链接(即server-borwser的 一次http连接结束) _cb(this); } } catch (Exception ex) { throw ex.message; } } finally { _isCompleted = true; } } public object AsyncState { get { return null; } } public System.Threading.WaitHandle AsyncWaitHandle { get { return null; } } public bool CompletedSynchronously { get { return false; } } public bool IsCompleted { get { return _isCompleted; } } } class chatClient { static IAsyncResult _netAsyncResult; static object _syncObj = new object(); static DateTime _last_connect_time = DateTime.Now; public chatClient(IAsyncResult ar) { _netAsyncResult = ar; _last_connect_time = DateTime.Now; } public static bool CheckState() { if (DateTime.Now.AddSeconds(-30) > _last_connect_time) { //30秒没有新的长连接建立 则认为 客户端断开 return false; } if (DateTime.Now.AddSeconds(-15) > _last_connect_time) { //每15秒发送一次心跳包 强制browser重新建立连接 lock (_syncObj) { (_netAsyncResult as NetAsyncResult).SendMsg("1"); } } return true; } public void UpdateAsyncResult(IAsyncResult ar) //重新建立http长连接 { lock (_syncObj) { _netAsyncResult = ar; _last_connect_time = DateTime.Now; (_netAsyncResult as NetAsyncResult).SendMsg("1"); } } } class chatManager { static object _syncObj = new object(); static string name = string.Empty; static chatManager() { StartCheckState(); } /// <summary> /// 监测在线用户的连接状态 /// </summary> private static void StartCheckState() { BackgroundWorker b = new BackgroundWorker(); b.DoWork += new DoWorkEventHandler(b_DoWork); b.RunWorkerAsync();//开始执行后台操作 } static void b_DoWork(object sender, DoWorkEventArgs e) { while (true) { lock (_syncObj) { try { //判断当前长链接是否建立 if (!chatClient.CheckState()) { //具体的操作 break; } } catch (Exception ex) { throw ex; } } Thread.Sleep(1000); } } /// <summary> /// browser端 开始建立一个http长连接 /// </summary> /// <param name="ar"></param> public static void Start_Long_Connection(IAsyncResult ar, string uname) { lock (_syncObj) { name = uname; chatClient client = new chatClient(ar); client.UpdateAsyncResult(ar); } } } ``` 这代码是我按照一个例子更改的 链接地址:http://www.cnblogs.com/xiaozhi_5638/p/3722017.html
关于IE的问题(拒绝访问js)
<p>这几天遇到几个关于IE的问题,找不到原因,让人崩溃啊,提出来看看大家能否帮忙解决。</p> <p>1、ajax的异步请求没有响应(火狐能够响应)。</p> <p>    在页面中如果单击一个按钮,就在js中发送请求给服务器(使用jquery的post方法),服务器的result类型是json,代码没有任何问题,在ie中单击按钮没有任何反应,后来我调试了一下,在action的return "success"语句后一直执行一个方法,无法返回到页面;而我在浏览器端调试js的时候,也是一直在jquery的一个语句上循环,不知道是什么原因;在火狐上可以正确返回结果,但是中文乱码(明明所有的地方都设置为了utf-8,可以使用工具查看的时候出现的是gbk,很奇怪);</p> <p>js的代码如下:没有任何反应</p> <pre name="code" class="java">$.post( $("#printLoanDueBillActionUrl").text(), {"loanDueBill.id":$("#loanDueBill_id").val(),"printType":"tblInvoice"}, function (data){ alert("%%%%"); alert(data.borrowerName); if(CheckLodop()){ myPrintView(); } },"json");</pre> <p> 配置文件代码:content是一个JSONObject对象</p> <pre name="code" class="java">&lt;result name="tblInvoice" type="json"&gt; &lt;param name="jsonObject"&gt;content&lt;/param&gt; &lt;/result&gt;</pre> <p>  </p> <p>2、IE提示拒绝访问JS</p> <p>  主要原因可能是因为我的页面时两个域, 当我在一个域访问另一个域的内容的时候就会提示</p> <div class="quote_div">网页错误详细信息 <br>消息: 拒绝访问。 <br>行: 35 <br>字符: 3 <br>代码: 0 <br>URI: http://localhost:8080/talc/js/print/loanDueBill.js <br> </div> <p>  提示出错的代码如下:</p> <pre name="code" class="java">var prtDate = $(window.parent.document).find('#prtDate').text();</pre> <p> 该页面是在另一个 http://localhost:8080/<span style="color: #000000;">xx</span>/的iframe里面</p> <p> </p> <p>以上两个问题让我非常的头疼,可是完全不知道该怎么解决,好像是我自己电脑的问题,因为用我的代码在别人的电脑上能够正确的执行(代码复制过去能运行,直接访问我的则不行),我的系统是win7的,ie8,别人的也是。可是如果直接在别的电脑上访问我的项目也会出错。<br>请知道的帮个忙,多谢了!</p>
“阿飞哥”快来帮我看看这个hibernate得错误
<p>情况说明:</p> <p>      前台异步传入参数“speakId”,action获取speakId后(业务逻辑暂且在action中处理),到comment表中查找外键为speakId的comment们,保存在commList中,commList作为json类型返回前台(?)。</p> <p> </p> <p>ajax代码:</p> <pre name="code" class="html">... $.ajax({ type : "POST", url : "showComment.action", data : { speakId : speakId }, success : callbackShowComm, dataType : "json", error : function (data, status, e){ alert(e); history.go(0);} }); <pre name="code" class="html">//callbackShowComm function callbackShowComm(backData,status){  if(status == "success"){    if(backData != null){      //test      alert(backData);//此处没有返回值    }//end backData  }else{    alert(status);  } } </pre> <br><br>...</pre> <p> </p> <p>action代码:</p> <pre name="code" class="java">package com.shaiyaya.action; import java.util.*; import java.text.SimpleDateFormat; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.Query; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.shaiyaya.constant.ConstantVariable; import com.shaiyaya.dao.User; import com.shaiyaya.dao.Speak; import com.shaiyaya.dao.Comment; import com.shaiyaya.orm.HibernateSessionFactory; import com.shaiyaya.service.CommentService; public class CommentAction extends ActionSupport implements ServletRequestAware { private HttpServletRequest request; public void setServletRequest(HttpServletRequest request) { this.request = request; } private List&lt;Comment&gt; commList = new ArrayList&lt;Comment&gt;();//包含查看相应speakID对应的评论的Comment信息 public void setCommList(ArrayList&lt;Comment&gt; commList){ this.commList = commList; } public List&lt;Comment&gt; getCommList(){ return this.commList; } /** * 异步获取speakID对应的comment信息 * @return */ public String showComment(){ int speakId = Integer.valueOf( request.getParameter("speakId") ); if(speakId &lt;1){ return "errorSpeakId"; } Session session = HibernateSessionFactory.getSession(); Transaction tran = session.beginTransaction(); String sql = "from Comment as c where c.speak =" +speakId+ "order by commentId desc" ; Query query = session.createQuery(sql); commList = query.list();//说明:要是List commList = commentservice.findCommentBySpeakId(speakId);则没有报错了 // commList = commentservice.findCommentBySpeakId(speakId); tran.commit(); session.close(); request.setAttribute("commList", commList); System.out.println("commListSize:"+commList.size()); return "success"; } }//end class </pre> <p> </p> <p> </p> <p>struts-xml配置文件:</p> <pre name="code" class="xml"><span style="background-color: #ffffff;">... </span>&lt;package name="ajax-comment" extends="json-default"&gt; &lt;!-- 查看speak对应的评论异步请求 --&gt; &lt;action name="showComment" class="com.shaiyaya.action.CommentAction" method="showComment"&gt; &lt;result name="success" type="json"&gt; &lt;param name="root"&gt;commList&lt;/param&gt; &lt;/result&gt; &lt;result name="errorSpeakId" type="json"&gt; &lt;param name="root"&gt;commList&lt;/param&gt; &lt;/result&gt; &lt;/action&gt; &lt;/package&gt; ...</pre> <p> </p> <p>运行结果及报错:</p> <pre name="code" class="java">Hibernate: select comment0_.comment_id as comment1_23_, comment0_.speak_id as speak2_23_, comment0_.user_id as user3_23_, comment0_.content as content23_, comment0_.create_time as create5_23_ from shaiyaya.comment comment0_ where comment0_.speak_id=112 order by comment0_.comment_id desc Hibernate: select speak0_.speak_id as speak1_5_0_, speak0_.user_id as user2_5_0_, speak0_.content as content5_0_, speak0_.create_time as create4_5_0_, speak0_.last_comm_time as last5_5_0_, speak0_.cate_flag as cate6_5_0_, speak0_.attachment_flag as attachment7_5_0_, speak0_.comment_sum as comment8_5_0_, speak0_.love_sum as love9_5_0_, speak0_.forward_sum as forward10_5_0_ from shaiyaya.speak speak0_ where speak0_.speak_id=? Hibernate: select user0_.user_id as user1_15_0_, user0_.user_nick as user2_15_0_, user0_.real_name as real3_15_0_, user0_.password as password15_0_, user0_.user_ip as user5_15_0_, user0_.address as address15_0_, user0_.user_sex as user7_15_0_, user0_.create_time as create8_15_0_, user0_.update_time as update9_15_0_, user0_.user_email as user10_15_0_, user0_.user_intro as user11_15_0_, user0_.user_status as user12_15_0_, user0_.login_sum as login13_15_0_, user0_.last_login_time as last14_15_0_, user0_.role as role15_0_, user0_.memo as memo15_0_ from shaiyaya.user user0_ where user0_.user_id=? commListSize:2 [ERROR] 10-19-19:12:23 org.hibernate.LazyInitializationException.&lt;init&gt;(LazyInitializationException.java:19) [thread:http-80-2] [messgage:failed to lazily initialize a collection of role: com.shaiyaya.dao.Speak.comments, no session or session was closed] org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.shaiyaya.dao.Speak.comments, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.equals(PersistentSet.java:350) at java.util.Vector.indexOf(Vector.java:361) at java.util.Vector.contains(Vector.java:320) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:110) at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:324) at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:225) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:161) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:324) at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:225) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:161) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.array(JSONWriter.java:416) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:151) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.write(JSONWriter.java:95) at com.googlecode.jsonplugin.JSONUtil.serialize(JSONUtil.java:98) at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:179) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619)</pre> <p> </p> <p>前面action里面的commList = query.list改为List commList = commentservice.findCommentBySpeakId(speakId);则没有报错,不过这样就没有往前台传值了,ajax的success函数中的backData是没有值的。</p> <p>comment表有两个外键speakId和userId 在comment.hbm.xml已经设置了lazy=“false”,代码如下:</p> <pre name="code" class="xml">&lt;hibernate-mapping&gt; &lt;class name="com.shaiyaya.dao.Comment" table="comment" catalog="shaiyaya"&gt; &lt;id name="commentId" type="java.lang.Integer"&gt; &lt;column name="comment_id" /&gt; &lt;generator class="native" /&gt; &lt;/id&gt; &lt;many-to-one name="speak" class="com.shaiyaya.dao.Speak" fetch="select" lazy="false"&gt; &lt;column name="speak_id" /&gt; &lt;/many-to-one&gt; &lt;many-to-one name="user" class="com.shaiyaya.dao.User" fetch="select" lazy="false"&gt; &lt;column name="user_id" /&gt; &lt;/many-to-one&gt; &lt;property name="content" type="java.lang.String"&gt; &lt;column name="content" /&gt; &lt;/property&gt; &lt;property name="createTime" type="java.util.Date"&gt; &lt;column name="create_time" length="19" /&gt; &lt;/property&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt;</pre> <p> </p> <p> </p> <p>这是什么原因呢?或者我要怎样才能把commList即comment对象的List传给前台呢?</p>
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Android性能优化(4):UI渲染机制以及优化
文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView 在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...
微服务中的Kafka与Micronaut
今天,我们将通过Apache Kafka主题构建一些彼此异步通信的微服务。我们使用Micronaut框架,它为与Kafka集成提供专门的库。让我们简要介绍一下示例系统的体系结构。我们有四个微型服务:订单服务,行程服务,司机服务和乘客服务。这些应用程序的实现非常简单。它们都有内存存储,并连接到同一个Kafka实例。 我们系统的主要目标是为客户安排行程。订单服务应用程序还充当网关。它接收来自客户的请求...
致 Python 初学者们!
作者| 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器,关于Tomcat的所有属性都在ServerProperties配置类中。同时,也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置,网络上有大量的资料,但都是基于SpringBoot1.5.x版本,并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫, 去获取暂时用不上的教程 import threading import time import pandas as pd import requests import re from threading import Thread, Lock # import urllib.request as request # req=urllib.request.Requ...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
HTML5适合的情人节礼物有纪念日期功能
前言 利用HTML5,css,js实现爱心树 以及 纪念日期的功能 网页有播放音乐功能 以及打字倾诉感情的画面,非常适合情人节送给女朋友 具体的HTML代码 具体只要修改代码里面的男某某和女某某 文字段也可自行修改,还有代码下半部分的JS代码需要修改一下起始日期 注意月份为0~11月 也就是月份需要减一。 当然只有一部分HTML和JS代码不够运行的,文章最下面还附加了完整代码的下载地址 &lt;!...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允许使用这...
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问