用ajax去读取一个路径上的文件失败,路径显示和设置的不一样显示undefintdata

图片说明
图片说明
应该是getFictionInfo 方法读取本地的data/chapter.json文件 结果调不错来,看报错 请求的路径都好像有点问题,求大神指点

1个回答

你哪时调用init函数的?肯定是你调用的时候Chapter_id还没有复制,所以默认undefined,你地址就是undefined的。。。

你的getFictionInfo要先执行完毕后才执行init,应该是这样来调用

 getFictionInfo(init);///
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
node怎么render渲染ajax数据
在后面ejs页面,管理员点击每个表,都会通过ajax把表名传给index.js, index.js拿到表明去数据库读取相应的数据,读取完数据后,我不想把数据传给ajax, 而是直接render给ejs页面,为什么render过去的数据,在ejs没有反应 注:路径,读取数据什么的都没错,就算是redner给ejs,ejs接受不了
如何用$.load()方法加载服务器里面存放的txt文件并在html页面显示?
我的txt文件上传的时候保存在tomcat服务器中的webapps里面,然后把路径存到了数据库, 读取的时候使用$.load("数据库中存的路径")加载时,出现了以下问题 XMLHttpRequest cannot load file:///D:/develop/apache-tomcat-6.0.35/webapps/kdl/import/20170713101140/DEMO-1_output.txt?_=1500086161381. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 网上查说是ajax跨域的问题,请问该如何解决啊
用JS读取CSV文件里的内容
我现的的CSV文件叫a.csv,里面全存的是E-mail地址,想全读出来,但我没做过JS,不会写这样的函数,哪位高手能帮我写写看,我研究一下,谢谢了。 CSV文件路径D:\www\a.CSV 谢谢了哈 [b]问题补充:[/b] 好像kimmking的做不出来啊,我是要这样,如CSV文件里的内容是 123@123.com; 345@126.com; adfg@163.com; adfag@qq.com; 最后我要取到的是这样, email=123@123.com;345@126.com;adfg@163.com;adfag@qq.com; 谁能帮写写看,我从没做过这个东西,JS只做过前台页面的效果。不明白这个 [b]问题补充:[/b] fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile(GO.settings.modules.files.url + "jupload/index.php?path=" + encodeURIComponent(this.path)); email_item = ts.ReadAll(); ts.Close(); 这是我的部分代码,但是不兼容,别的浏览器下怎么能兼容呢? [b]问题补充:[/b] if(window.ActiveXObject) { //IE浏览器 开始初始化XMLHttpRequest 对象 try { //http_request=new ActiveXObject("Msxml2.XMLHTTP"); fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile(GO.settings.modules.files.url + "jupload/index.php?path=" + encodeURIComponent(this.path)); email_item = ts.ReadAll(); ts.Close(); } catch(exception){ http_request=new ActiveXObject("Microsoft.XMLHTTP"); } }else{ //Mozilla 浏览器---window.XMLHttpRequest fso = new XMLHttpRequest("Scripting.FileSystemObject"); ts = fso.OpenTextFile(GO.settings.modules.files.url + "jupload/index.php?path=" + encodeURIComponent(this.path)); email_item = ts.ReadAll(); ts.Close(); } 受你的启发,了解一点AJAX,所以我这样来写,应该是的吧。嘿嘿
这个问题有点难,哪位大牛给看看!!
这个问题有点难,哪位大牛给看看!! 应用服务器A,B:win 2008 server IIS 7 文件服务器W:win 2008 server 需求:A,B服务器 搭建网站,需要把文件上传共享到W服务器共享目录,处理并实时反馈处理进度。 问题:A,B服务器 网站在开启线程,异步读取W服务器的时候,报拒绝访问异常。在同一台机器上处理没有问题。 应用场景描述: 通过访问A服务网站,上传一个EXCEL文件到W服务器共享目录下,在A服务器同时读取W服务器上传的文件进行处理(包括:校验数据,提取数据,转换数据等,反正过程比较麻烦,处理时间比较长),这时,我会在A服务器后台开启一个线程,代理方式 ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035443_865722.png) ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035507_643415.png) 去处理这一个过程,并把处理的过程写到W服务器共享目录的Log文件中。主线程直接返回,前台提示用户: ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035527_908829.png) 并在用户前台浏览器用Ajax,每隔5秒访问一次A服务,查询处理状态(A服务器读取W服务共享目录的Log文件),把状态返回的文字更新回文本框内。 配置实现过程详细说明: 1. 先拿一台A应用服务器的实现过程描述,发布网站到A,网站的应用池 Net4.0, 模式是“集成”。 2. 在网站里建立共享虚拟目录, ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035544_26908.png) 路径指向W服务器的共享目录,A、W服务器都增加了相同的用户user, ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035567_712331.png) 并把此用户指定为两边(A,W)访问的特定用户,也把user用户分别添加到W服器的共享目录和A服务器虚拟目录,并给完全控制的权限。 3. A服务器的 ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035594_490595.png) 此目录也给user用户分配了完全控制权限。 4. A网站的web.config也添加了indentity impersonate属性: ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035632_643563.png) 5. IIS7中,ASP.NET 模拟 也启用了: ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035636_796014.png) ![图片说明](https://img-ask.csdn.net/upload/201601/29/1454035653_741511.png) 问题总结: 现在从A上传Excel到W是没有问题的~不用线程方式来处理的话(前台会卡死一直loading等待处理完成),也是可以成功的,说明配置IIS7的共享目录和权限设置都没有问题,现在只是,用线程方式去访问W的共享目录时,才会出问题。 我个人觉得是 开启的线程没有那么大的权限去通过模拟访问W的共享目录,也就是没有用user这个用户去访问,所以被拒绝。 以前在IIS6,这么配置是没有问题的,IIS6下,有一个设置FULLTRUST的方法,网上有相关文章(感谢一下)http://www.cnblogs.com/fengtangquan/archive/2010/11/12/1876145.html,但在IIS7这里就没配置方法了,也不知道是不是这个原因,现在在这里求教哪位大牛给小弟出出主意,先感谢啦~~
Ajax异步处理跳转不了
这是第一个jsp页面的代码,可以正常进入AjaxServlet ``` var xmlHttpRequest=null; //页面加载 window.onload=function(){ //获取按钮对象 var but=document.getElementById("login"); but.onclick=function(){ //处理ajax //对浏览器判断 if (window.ActiveXOject) { //IE xmlHttpRequest=new ActiveXOject(Microsoft.XMLHTTP); }else{ xmlHttpRequest=new XMLHttpRequest(); } //获取内容 var loginname=document.getElementById("loginname").value; var upassword=document.getElementById("upassword").value; var inputRand=document.getElementById("inputRand").value; //打开链接 xmlHttpRequest.open("get","AjaxServlet?loginname="+loginname+"&upassword="+upassword+"&inputRand="+inputRand+"&type=1"+"&random="+new Date().getTime(),true); //回调函数 xmlHttpRequest.onreadystatechange=AjaxCallBack; //发送 xmlHttpRequest.send(null); } }; //创建回调函数 function AjaxCallBack(){ if (xmlHttpRequest.readyState==4) { if (xmlHttpRequest.status==200) { //读取后台回传的数据 var content=xmlHttpRequest.responseText; var divObject=document.getElementById("resultdiv"); divObject.innerHTML=content; if (content=="登录成功") { window.location.href="index.jsp"; } } } } ``` 这是第二个jsp页面的代码,执行之后没有进入后台AjaxServlet,路径是没有错的 而且不光是进不了AjaxServlet,把URL改成随便的一个JSP页面或者Servlet也跳不过去 ``` var xmlHttpRequest=null; //页面加载 window.onload=function(){ //获取按钮对象 var but=document.getElementById("OK"); but.onclick=function(){ //处理ajax //对浏览器判断 if (window.ActiveXOject) { //IE xmlHttpRequest=new ActiveXOject(Microsoft.XMLHTTP); }else{ xmlHttpRequest=new XMLHttpRequest(); } //获取内容 var oldpassword=document.getElementById("oldpassword").value; var newpassword=document.getElementById("newpassword").value; var renewpassword=document.getElementById("renewpassword").value; //打开链接 //alert("执行到这里"); xmlHttpRequest.open("get","../../AjaxServlet?oldpassword="+oldpassword+"&newpassword="+newpassword+"&renewpassword="+renewpassword+"&type=2",true); //回调函数 xmlHttpRequest.onreadystatechange=AjaxCallBack; //发送 xmlHttpRequest.send(null); } }; //创建回调函数 function AjaxCallBack(){ if (xmlHttpRequest.readyState==4) { if (xmlHttpRequest.status==200) { //读取后台回传的数据 var content=xmlHttpRequest.responseText; var divObject=document.getElementById("resultdiv"); divObject.innerHTML=content; } } } ``` 我是初学者,如果是写法不对,想请教一下怎样在一个项目里面的多个JSP页面实现异步处理
vue 动态引入url加载不到图片,路径没问题
![读取不到图片](https://img-ask.csdn.net/upload/201906/08/1559972257_471702.png)
spring boot设置了Access-Control-Allow-Origin还是有跨域问题
最近使用spring cloud框架进行前后端分离开发,因为我们是通过网关去访问后台接口,ip 、端口都相同,所以没有出现过跨域问题,但是前端的同事把项目用webstrom打开以后(端口和ip就成了webstrom分配的)就有了跨域问题无法请求到后台,浏览器报"CORS 头缺少 'Access-Control-Allow-Origin'",但是我们已经在网关里设置了Access-Control-Allow-Origin为*,代码如下: ``` @Service public class AuthFilter extends ZuulFilter { /** * 日志对象 */ private static final Logger logger = LoggerFactory.getLogger(AuthFilter.class); @Autowired private FilterConfig filterConfig; /** * redis缓存 */ @Autowired private RedisService redisService; @Override public boolean shouldFilter() { return true; } @Override public Object run() { RequestContext ctx = RequestContext.getCurrentContext(); HttpServletRequest request = ctx.getRequest(); HttpServletResponse response = ctx.getResponse(); //解决浏览器跨域问题 response.addHeader("Access-Control-Allow-Origin", "*"); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // response.addHeader("Access-Control-Allow-Credentials", "true"); // response.addHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH"); // response.addHeader("Access-Control-Max-Age", "3600"); // response.addHeader("Vary", "Origin"); response.addHeader("Access-Control-Allow-Headers", "token,accesstoken,Content-type"); //请求接口URL时登录token有效性校验 return null; } @Override public String filterType() { return "pre"; } @Override public int filterOrder() { return 0; } } ``` 对此我在本地随便写了个小项目还原了当时的情景,我把代码以及报错贴出来麻烦各位看一下哪里有不对的; 前端代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.9.1.min.js"></script> </head> <script> function t1(){ $.ajax({ url:'http://localhost:9001/xzw/say', type:'post', contentType : 'application/json;charset=utf-8', dataType:'json', data : JSON.stringify({ batch_id : 'ncveirugheasolvgil' }), success : function(data){ alert('成功跨域'); alert(data); }, error : function(){ alert('error'); } }) } </script> <body> <input type="button" value="测试跨域是否能获取数据" onclick="t1()"/> </body> </html> ``` 后台代码: ``` @RestController @RequestMapping("/xzw") public class PageDemoController { @RequestMapping("/say") public String say(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="batch_id")String batch_id){ response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.addHeader("Access-Control-Allow-Headers", "*"); System.out.println("batch_id="+batch_id); return "hello world"; } } ``` 浏览器报错 > 已拦截跨源请求:同源策略禁止读取位于 http://localhost:9001/xzw/say 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。[详细了解] > > 已拦截跨源请求:同源策略禁止读取位于 http://localhost:9001/xzw/say 的远程资源。(原因:CORS 请求未能成功)。[详细了解] 我们项目里的拦截器原本除了设置Access-Control-Allow-Origin还有验证token的代码,前端如果先进行登陆然后在ajax请求的时候把token拿到放在header里就不会有跨域问题,我把token验证的代码去掉了就出现了跨域问题,但是我看验证token的逻辑判断对跨域没有什么特殊的处理,一下为拦截器原代码: ``` public Object run() { RequestContext ctx = RequestContext.getCurrentContext(); HttpServletRequest request = ctx.getRequest(); HttpServletResponse response = ctx.getResponse(); //解决浏览器跨域问题 response.addHeader("Access-Control-Allow-Origin", "*"); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // response.addHeader("Access-Control-Allow-Credentials", "true"); // response.addHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH"); // response.addHeader("Access-Control-Max-Age", "3600"); // response.addHeader("Vary", "Origin"); response.addHeader("Access-Control-Allow-Headers", "token,accesstoken,Content-type"); //请求接口URL时登录token有效性校验 Object token = request.getHeader("token"); if(token==null||token.equals("")) { token = null; } boolean flag = false;//请求路径是否在过滤范围标识 if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { ctx.setSendZuulResponse(false); return null; } String ignores = filterConfig.getIgnores(); if(!StringUtilHelper.isEmpty(ignores)) { String[] ignores_arr = ignores.split(","); for(String ignore:ignores_arr) { if(request.getRequestURI().toString().contains(ignore)) { //无需token校验 flag = true; break; } } } logger.info("网关日志:method={}, uri={},result={},token={}",request.getMethod(), request.getRequestURI(), (true==flag?"无需token校验":"需要token校验"),token); if(!flag) { //需要校验token有效性 if(token==null) { ctx.setSendZuulResponse(false); ctx.setResponseStatusCode(HttpServletResponse.SC_UNAUTHORIZED); ctx.setResponseBody("token为空,未认证用户"); return null; } else { //redis校验 if(redisService.check(token.toString())!=ServiceConstants.STATE_1) { ctx.setSendZuulResponse(false); ctx.setResponseStatusCode(HttpServletResponse.SC_UNAUTHORIZED); ctx.setResponseBody("token超时,请重新登录"); return null; } } } return null; } ```
调用扫一扫接口scanQRCode 没有反应
我前端调用扫一扫接口,莫得反应是怎么回事,,获取签名什么的都成功了,,debug 也没用弹出信息 ``` $.ajax({ url: '请求签名的后台地址', method: "post", xhrFields: { withCredentials: true }, data: pageUrl,//获取当前页面路径 dataType: "json", cache: false,//第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取 success: function(data) { console.log(data) console.log(pageUrl.url) console.log(data.nonceStr) // //alert(data.member.nickName); wx.config({ debug:true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,                                                            仅在pc端时才会打印。 appId: data.appID, // 必填,公众号的唯一标识 timestamp: data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.nonceStr, // 必填,生成签名的随机串 signature: data.signature, // 必填,签名,见附录1 jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表, }); console.log(wx); wx.error(function(res){ alert("错误信息== " + res.errMsg); }); wx.ready(function(){ console.log("----------------------") wx.scanQRCode({ needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 alert(result); } }); }); } }); ```
js 加上alert就成功执行,不加就不对??
``` @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <script src="~/echarts/build/source/echarts.js"></script> <script src="~/echarts/build/dist/echarts.js"></script> <script src="~/Scripts/jquery-1.7.1.js"></script> <script src="~/Scripts/jquery-1.7.1.min.js"></script> <title>echartLineJson</title> <script type="text/javascript"> //ajax获取后台数据,x轴的name从数据库中读取 function fetchXname() { var arr = new Array(); $.ajax( { url: "/DropDownTree/echartLineJsonTest", dataType: "text", success: function (data) { //调用函数获取值,转换成数组模式 var ss = eval(data); for (var i = 0; i < ss.length; i++) { //alert(ss[i].name); arr.push(ss[i].name); } } }); return arr; } //最高气温 function dataXRand() { var dataarr = new Array(); $.ajax({ url: "/DropDownTree/echartLineJsonTest", dataType: "text", success: function (data) { var ss = eval(data); for (var i = 0; i < ss.length; i++) { dataarr.push(ss[i].data2); } } }); alert(dataarr); //在此处加上alert()就成功,取消显示结果就不正确?? // window.setTimeout(function () { return dataarr; },1000); return dataarr; } //option配置 var option = { title: { text: '未来一周气温变化', subtext: '纯属虚构' }, tooltip: { trigger: 'axis' }, legend: { data: ['最高气温', '最低气温'] }, toolbox: { show: true, feature: { mark: { show: true }, dataView: { show: true, readOnly: false }, magicType: { show: true, type: ['line', 'bar'] }, restore: { show: true }, saveAsImage: { show: true } } }, calculable: true, xAxis: [ { type: 'category', boundaryGap: false, data: fetchXname() } ], yAxis: [ { type: 'value', axisLabel: { formatter: '{value} °C' } } ], series: function () { }, series: [ { name: "最高气温", type: 'line', data: dataXRand(), markPoint: { data: [ { type: 'max', name: '最大值' }, { type: 'min', name: '最小值' } ] }, markLine: { data: [ { type: 'average', name: '平均值' } ] } }, { name: '最低气温', type: 'line', data: [1, -2, 2, 5, 2, 3, -1.5], markPoint: { data: [ { name: '周最低', value: -2, xAxis: 1, yAxis: -1.5 } ] }, markLine: { data: [ { type: 'average', name: '平均值' } ] } } ] }; // 路径配置 require.config({ paths: { echarts: '/echarts/build/dist' } }); //使用 require( [ 'echarts', 'echarts/chart/line' //line为折线图, 使用柱状图就加载bar模块,按需加 ], function (ec) { // 基于准备好的dom,初始化echarts图表 var myChart = ec.init(document.getElementById('main')); // 为echarts对象加载数据 myChart.setOption(option); myChart.hideLoading(); } ); </script> </head> <body> <div> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="height:400px"></div> <input id="jsontest" /> </div> </body> </html> ``` 具体代码如上所示,在最高气温dataXRand函数内的alert()加上就成功执行,不加就不对。前台接收的是后台传过来的json字符串 正确执行的结果如下图所示 ![图片说明](https://img-ask.csdn.net/upload/201504/09/1428570225_10305.png) 请问这种情况应该如何解决?
导出excel,如何在下方弹出是否打开或保存
/***导出勾选列内容生成excel***/ function exportToExcel(tableid,chkname) //读取表格中每个单元到EXCEL中 { var curTbl = document.getElementById(tableid); if(chkname==undefined) chkname=""; var curChk = $("[name='"+chkname+"']"); var oXL; try{ oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel }catch(e){ dalert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用"); return false; } var oWB = oXL.Workbooks.Add();//获取workbook对象 var oSheet = oWB.ActiveSheet;//激活当前sheet var hang = curTbl.rows.length;//取得表格行数 var lie =curTbl.rows(0).cells.length;//取得数据源列数 for(var i=0;i<hang;i++){//i为表单对应的行,j为表单对应的列 for(var j=0,k=0;j<lie-1;j++,k++){//k为生成EXCEL对应的列 if(curChk[j].checked){//当勾选上时记录相应的数据 oSheet.Cells(i+1,k+1).NumberFormatLocal = "@";//设置单元格数字格式为文本 oSheet.Cells(i+1,k+1).value=curTbl.rows(i).cells(j).innerText; }else{ k--;//当未勾选时,EXCEL列回退 } } } oXL.Visible = true;//设置excel可见属性 try{ var fname = oXL.Application.GetSaveAsFilename("用户导出结果.xls", "Excel Spreadsheets (*.xls), *.xls"); }catch(e){ print("Nested catch caught " + e); }finally{ location.href='用户导出结果.xls'; oWB.SaveAs(fname); oWB.Close(savechanges=false); //xls.visible = false; oXL.Quit(); oXL=null; //结束excel进程,退出完成 //window.setInterval("Cleanup();",1); idTmr = window.setInterval("Cleanup();",1); } } IE浏览器 1.我想要的是这种展示:(这是用jsp中java代码写的输出流) ![图片说明](https://img-ask.csdn.net/upload/201905/13/1557730691_867688.png) 2.目前js导出的,就直接把excel打开了,又弹出了另存为。是这样的:(现在只用js,不能像之前那样) ![图片说明](https://img-ask.csdn.net/upload/201905/13/1557730708_914458.png) 想问下大神们,创建ActiveXObject的方式能不能实现第一种 (查了很久,貌似用a标签路径下载可以,但我是ajax查询返回的数据,在调用 exportToExcel方法,如何实现)
java HttpURLConnection 模拟 返回和预计的不一样
访问的地址是:http://aq.qq.com/cn2/login_limit/login_limit_index public final static String CONTENT_TYPE = "Content-Type"; public static void main(String[] args) throws Exception { // login // 验证码的位置 // Content content = getRandom("GET", // "http://localhost:8080/back/random.action", null, null, false,"d:/"); Content content = getRandom( "GET", "http://captcha.qq.com/getimage?aid=2001601&0.6973676234483719", null, null, false, "d:/"); // build request headers & do rate of user review List<String> lsit = content.getHeaders().get("Set-Cookie"); Map<String, String> resmap = new HashMap<String, String>(); String cookie = ""; if (lsit != null) { StringBuffer sb = new StringBuffer(); boolean isLast = false; int i = 0; for (String val : lsit) { i++; if (i == lsit.size()) { isLast = true; } int pos = val.indexOf("="); if (pos != -1) { String cookieName = val.substring(0, pos); String cookieVal = val.substring(pos + 1); System.out.println(cookieName + ":" + cookieVal); cookieVal = cookieVal.split(";")[0]; if (isLast) { sb.append(cookieName + "=" + cookieVal); } else { sb.append(cookieName + "=" + cookieVal + ";"); } } } cookie = sb.toString(); } String a = ""; System.out.print("请输入验证码:"); BufferedReader strin = new BufferedReader(new InputStreamReader( System.in)); try { a = strin.readLine(); } catch (IOException e) { e.printStackTrace(); } System.out.println("输入的数是:" + a); String userCode = "admin"; String account = "1158752036"; // String loginUrl = "http://localhost:9090/w/login.action"; String rateReviewUrl = "http://aq.qq.com/cn2/ajax/check_verifycode?verify_code=" + URLEncoder.encode(a, "utf-8") + "&account=" + URLEncoder.encode(account, "utf-8") + "&session_type=" + URLEncoder.encode("on_rand", "utf-8"); // String rateReviewUrl = // "http://fdjkpoi.xicp.net/udp/baseinfo/getQQ.action"; Map<String, String> paramMap = new HashMap<String, String>(); // content = curl("POST", loginUrl, paramMap, resmap, false, ""); System.out .println("第一次 content.getBody()= " + content == null ? "no body" : content.getBody()); // build request headers & do rate of user review // paramMap = new HashMap<String, String>(); content = curl("get", rateReviewUrl, paramMap, cookie, false, ""); // inFile(content.getBody(), "D:/sss.txt"); } public static Content curl(String method, // 方法类型 String sUrl,// 要解析的URL Map<String, String> paramMap, // 存放用户名和密码的map String requestHeaderMap,// 存放COOKIE的map boolean isOnlyReturnHeader, String path) throws Exception {// 存放文件路径 System.out.println("-------------" + sUrl + "-------------------"); Content content = null; try { URL getUrl = new URL(sUrl); // 根据拼凑的URL,打开连接,URL.openConnection函数会根据URL的类型, // 返回不同的URLConnection子类的对象,这里URL是一个http,因此实际返回的是HttpURLConnection HttpURLConnection connection = (HttpURLConnection) getUrl .openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("Accept", "application/json, text/javascript, */*"); connection.setRequestProperty("Accept-Encoding", "UTF-8"); connection.setRequestProperty("Connection", "keep-alive"); connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8"); connection.setRequestProperty("Cookie", requestHeaderMap); // 进行连接,但是实际上get request要在下一句的connection.getInputStream()函数中才会真正发到 // 服务器 connection.connect(); // 取得输入流,并使用Reader读取 BufferedReader reader = new BufferedReader(new InputStreamReader( connection.getInputStream(),"UTF-8")); String lines; while ((lines = reader.readLine()) != null) { System.out.println(lines); } reader.close(); // 断开连接 connection.disconnect(); } catch (Exception e) { return null; } finally { } return content; } public static Content getRandom(String method, String sUrl,// 要解析的url Map<String, String> paramMap, // 存放用户名和密码的map Map<String, String> requestHeaderMap,// 存放COOKIE的map boolean isOnlyReturnHeader, String path) { Content content = null; HttpURLConnection httpUrlConnection = null; InputStream in = null; try { URL url = new URL(sUrl); boolean isPost = "POST".equals(method); if (method == null || (!"GET".equalsIgnoreCase(method) && !"POST" .equalsIgnoreCase(method))) { method = "POST"; } URL resolvedURL = url; URLConnection urlConnection = resolvedURL.openConnection(); httpUrlConnection = (HttpURLConnection) urlConnection; httpUrlConnection.setRequestMethod(method); httpUrlConnection.setRequestProperty("Accept-Language", "zh-cn,zh;q=0.5"); // Do not follow redirects, We will handle redirects ourself httpUrlConnection.setInstanceFollowRedirects(false); httpUrlConnection.setDoOutput(true); httpUrlConnection.setDoInput(true); httpUrlConnection.setConnectTimeout(5000); httpUrlConnection.setReadTimeout(5000); httpUrlConnection.setUseCaches(false); httpUrlConnection.setDefaultUseCaches(false); httpUrlConnection.connect(); int responseCode = httpUrlConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED) { byte[] bytes = new byte[0]; if (!isOnlyReturnHeader) { DataInputStream ins = new DataInputStream(httpUrlConnection .getInputStream()); // 验证码的位置 DataOutputStream out = new DataOutputStream( new FileOutputStream(path + "/code.bmp")); byte[] buffer = new byte[4096]; int count = 0; while ((count = ins.read(buffer)) > 0) { out.write(buffer, 0, count); } out.close(); ins.close(); } String encoding = null; if (encoding == null) { encoding = getEncodingFromContentType(httpUrlConnection .getHeaderField(CONTENT_TYPE)); } content = new Content(sUrl, new String(bytes, encoding), httpUrlConnection.getHeaderFields()); } } catch (Exception e) { return null; } finally { if (httpUrlConnection != null) { httpUrlConnection.disconnect(); } } return content; } public static String getEncodingFromContentType(String contentType) { String encoding = null; if (contentType == null) { return null; } StringTokenizer tok = new StringTokenizer(contentType, ";"); if (tok.hasMoreTokens()) { tok.nextToken(); while (tok.hasMoreTokens()) { String assignment = tok.nextToken().trim(); int eqIdx = assignment.indexOf('='); if (eqIdx != -1) { String varName = assignment.substring(0, eqIdx).trim(); if ("charset".equalsIgnoreCase(varName)) { String varValue = assignment.substring(eqIdx + 1) .trim(); if (varValue.startsWith("\"") && varValue.endsWith("\"")) { // substring works on indices varValue = varValue.substring(1, varValue.length() - 1); } if (Charset.isSupported(varValue)) { encoding = varValue; } } } } } if (encoding == null) { return "UTF-8"; } return encoding; } // 这个是输出 public static boolean inFile(String content, String path) { PrintWriter out = null; File file = new File(path); try { if (!file.exists()) { file.createNewFile(); } out = new PrintWriter(new FileWriter(file)); out.write(content); out.flush(); return true; } catch (Exception e) { e.printStackTrace(); } finally { out.close(); } return false; } public static String getHtmlReadLine(String httpurl) { String CurrentLine = ""; String TotalString = ""; InputStream urlStream; String content = ""; try { URL url = new URL(httpurl); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.connect(); System.out.println(connection.getResponseCode()); urlStream = connection.getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader(urlStream, "utf-8")); while ((CurrentLine = reader.readLine()) != null) { TotalString += CurrentLine + "\n"; } content = TotalString; } catch (Exception e) { } return content; } } class Content { private String url; private String body; private Map<String, List<String>> m_mHeaders = new HashMap<String, List<String>>(); public Content(String url, String body, Map<String, List<String>> headers) { this.url = url; this.body = body; this.m_mHeaders = headers; } public String getUrl() { return url; } public String getBody() { return body; } public Map<String, List<String>> getHeaders() { return m_mHeaders; } 贴上代码, 1158752036 QQ号已经被冻结,但是返回是 {"Err":"0" } 我输入没有冻结的QQ号 返回的也一样,输入错误的验证码,返回是 {"Err":"您输入的验证码有误" },证明已经通了,不知是否这个地址 还有其他的参数吗? 小白一个往大神教导
extjs如何控制左侧菜单默认不打开,现在项目进去后默认打开第一个,下面是我的js代码
``` Ext.namespace('Ext.app.frame'); Ext.app.frame.LeftPanel = Ext.extend(Ext.Panel, { //初始化加载的菜单ID welcomeMenuId : customInfo['defaultTopMenuId'], //项目路径 context : customInfo['context'], //构造方法 constructor : function(_cfg) { Ext.apply(this, _cfg); }, wizCount :0, readyCount :0, //初始化 initialize:function(_cfg){ //生成左侧面板 Ext.app.frame.LeftPanel.superclass.constructor.call(this, { id : 'accordion-panel', iconCls : 'icon-nav', layout : 'accordion', region : 'west', margins : '10 10 2 2', width : 220, bodyStyle : 'background-color:#DFE8F6', collapsible : true, split : false, layoutConfig : { animate : true } }); //左侧面板首次设置内容 var welcomeMenu = {menuId:this.welcomeMenuId, text:customInfo['defaultTopMenuName']}; this.setContent(welcomeMenu); }, //设置面板内容(主要方法) setContent:function(currMenu){ var aim = Ext.getCmp('accordion-panel'); var currScope = this; aim.removeAll(true); if(currMenu!=undefined && currMenu.menuId!=undefined){ var _temptitle = currMenu.text || ""; aim.setTitle(_temptitle); //添加扩展,如果菜单配置URL为IFM:开头的话, 表示为做菜单是扩展的菜单,嵌入IFRAME显示URL var _tempURL = currMenu.menuURL|| ""; if(_tempURL!=""){ aim.body.update(""); } if(_tempURL.indexOf("IFM:")>-1){ _tempURL = _tempURL.substring(4); aim.body.update("<IFRAME width=\"100%\" height=\"100%\" FRAMEBORDER=0 SCROLLING=auto SRC='"+_tempURL+"'></IFRAME>"); if(currScope.ownerCt.menuBar){ currScope.ownerCt.menuBar.enableAllButtons(); } return; } var requesturl = this.context+'/menu!topLeft.lxd?menuId='+currMenu.menuId; Ext.Ajax.request({ url: requesturl, success: function(response) { //获取响应的json字符 json = Ext.decode(response.responseText); if(json!=undefined && json.length!=undefined){ currScope.wizCount = json.length; currScope.readyCount = 0; for(var i=0;i<json.length;i++){ var left = json[i]; var title = left.text; var id = left.id; var url; if(left.menuUrl!=undefined){ url=left.menuUrl.substring(0,4)=="IFM:"?left.menuUrl.substring(4):left.menuUrl; } var target = left.urltarget; var panel; if(url && target=="leftFrame"){ if(url.substring(0,4)!="http"){ url = customInfo['context']+"/"+url; } panel = new Ext.Panel({ id : id, title : title, layout: 'fit', border: false, iconCls : 'icon-nav', items : [ new Ext.ux.IFrameComponent({ id: 'menu_iframe_'+id, url: url }) ] }); }else{ panel = new Ext.app.frame.WizardPanel({ id : id, title : title, group : 'group', checked : 'checked', dataUrl : '/menu!downLeft.lxd?menuId=' + id }); } aim.add(panel); aim.doLayout(); currScope.readyCount++; if(currScope.readyCount == currScope.wizCount){ if(currScope.ownerCt.menuBar){ currScope.ownerCt.menuBar.enableAllButtons(); } } } }else{ Ext.Msg.alert('错误','读取菜单错误!'); if(currScope.ownerCt.menuBar){ currScope.ownerCt.menuBar.enableAllButtons(); } } }, failure: function(){ Ext.Msg.alert('错误','连接服务器超时!'); if(currScope.ownerCt.menuBar){ currScope.ownerCt.menuBar.enableAllButtons(); } } }); } } }); Ext.app.frame.WizardPanel = Ext.extend(Ext.Panel, { context : customInfo['context'], iconCls : 'icon-nav', border : false, rootVisible : false, autoScroll : true, dataUrl : null, //buttons : {}, tree : null, constructor : function(_cfg) { Ext.apply(this, _cfg); var _tree = new Ext.tree.TreePanel({ iconCls : 'icon-nav', border : false, rootVisible : false, loader : new Ext.tree.TreeLoader({ // dataUrl : context + // '/jsonTree!wizardJson.lxd' dataUrl : this.context + this.dataUrl }), style : { padding : 3 }, root : new Ext.tree.AsyncTreeNode({ text : _cfg.title || this.title, // , // children : _cfg.childrens || null expanded : false }), listeners : { 'click' : function(n) { try { if (n.leaf) { if(n.attributes.urltarget=='_blank'){ var openURL = n.attributes.menuUrl; if(openURL.substring(0,4)!="http"){ openURL = customInfo['context']+"/"+openURL; } window.open(openURL); }else{ this.onNodeClick(n.id, n.text,n.attributes.menuUrl); } }else{ if(n.attributes.menuUrl){ if(n.attributes.urltarget=='_blank'){ var openURL = n.attributes.menuUrl; if(openURL.substring(0,4)!="http"){ openURL = encodeURI(customInfo['context']+"/"+openURL); } window.open(openURL); }else{ this.onNodeClick(n.id, n.text,n.attributes.menuUrl); } } } } catch (e) { } }, scope : this } }); this.tree = _tree; Ext.app.frame.WizardPanel.superclass.constructor.call(this, { margins : '2 0 5 5', layout : 'anchor', items : [this.tree] }); }, afterRender : function(){ Ext.app.frame.WizardPanel.superclass.afterRender.call(this); }, // 树图刷新 tree_refresh : function(menuId) { this.refresh(menuId); }, ReturnValue : function(title, value) { Ext.Msg.show({ title : title, msg : value, icon : Ext.Msg.INFO, minWidth : 210, buttons : Ext.Msg.OK }); }, // 为叶子菜单增加对应点击事件,调用链接对应的页面 onNodeClick : function(id,name,menuUrl) { var tabPanel = Ext.getCmp("content-panel"); var allItems = tabPanel.items.items; var tabPage; var b = true; var delegateArray = {'id':id,'name':name,'menuUrl':menuUrl}; if(menuUrl.substring(0,4)!="http"){ menuUrl = encodeURI(customInfo['context']+"/"+menuUrl); } for (var i = 0; i < allItems.length; i++) { var _text = allItems[i].title; if (_text == name) { tabPage = allItems[i]; // 设置当前tab页 tabPanel.setActiveTab(tabPage); b = false; // 重新刷新当前活动tab Ext.get('f_'+name).dom.src=menuUrl; break; } } if (b) { Ext.Ajax.request({ url : menuUrl,// 增加传递参数,处理暂停流程 success : this.showNodeTabPanel.createDelegate(this, delegateArray, true),// 调用异步函数,传递对应参数 failure : this.menuError, scope : this }); } }, // 为叶子菜单增加对应点击事件,调用链接对应的页面 showNodeTabPanel : function(result, thisObj, delegateArray) { var text = result.responseText; var tabPanel = Ext.getCmp("content-panel"); var _url = delegateArray['menuUrl']; if(_url.substring(0,4)!="http"){ _url = encodeURI(customInfo['context']+"/"+_url); } tabPage = tabPanel.add({ title : delegateArray['name'], html : "<iframe id='f_" + delegateArray['name'] + "' scrolling='auto' frameborder='0' width='100%' height='100%' src='" + _url + "'></iframe>", closable : true }); tabPanel.setActiveTab(tabPage); // 设置当前tab页 }, refresh : function(topMenuId) { var loader = new Ext.tree.TreeLoader({ dataUrl : this.context + '/menu!left.lxd?menuId=' +topMenuId }); loader.load(this.tree.root); this.tree.root.expand(true);//不起作用? }, expandTreeNodes: function(){ var tree = this.tree; tree.root.expand(true); } }); //根据组件ID获得相应的组件 function getComponent(id){ return Ext.getCmp(id); } //tab数量大于6个时,显示的提示信息 function alarmMessage(){ Ext.Msg.alert("提示信息","最多打开6个tab,请关闭无用页面"); } ```
SSM框架controller只要引入其他类就会报404错误
``` @Controller @RequestMapping(value = "user") public class UserController { @Autowired private UserService userService; /** * 用户登录 * @param user * @return */ @RequestMapping(value = "login",method = RequestMethod.POST) @ResponseBody public String userLogin(User user){ User u = userService.selectByUsername(user.getUsername()); if(u!=null ){ return "1"; } System.out.println("sss"); return "2"; } /** * 测试 * @return */ @RequestMapping(value = "test",method = RequestMethod.POST) @ResponseBody public String test(){ System.out.println("111"); return "2"; } } ``` ``` $("#login").on("click",function () { var u = $("#username").val(); var p = $("#password").val(); $.post("user/login",{"username":u,"password":p},function(res){ if(res==1){ alert("登录成功!"); }else{ alert("登录失败"); } }) }) ``` ajax路径为login时前台会报错jquery.js:8623 POST http://localhost:8080/bookManage_war/user/login 404 (Not Found) 改为test时就能正常使用 只要加上user实体类或是service或是dao,就会找不到路径,只能简单实现返回一个值 web.xml ``` <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- spring mvc的配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` applicationContext.xml ``` <context:component-scan base-package="com.wyj.service"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/> </context:component-scan> <context:annotation-config/> <mvc:annotation-driven /> <!--开通静态资源的访问--> <mvc:default-servlet-handler /> <!-- 读取配置文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 数据源 使用c3p0连接,需要jar包支持 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/> <property name="minPoolSize" value="${c3p0.minPoolSize}"/> <property name="autoCommitOnClose" value="${c3p0.autoCommitOnClose}"/> <property name="checkoutTimeout" value="${c3p0.checkoutTimeout}"/> <property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}"/> </bean> <!-- 集成Mybatis(sqlSessionFactory )--> <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="typeAliasesPackage" value="com.wyj"></property> </bean> <!-- 映射帮助类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="sessionFactory"></property> <property name="basePackage" value="com.wyj.dao"></property> </bean> <!-- 注册异常处理 --> <bean id="exceptionHandler" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView" value="error"></property> <property name="exceptionAttribute" value="exp"></property> <property name="exceptionMappings"> <props> <prop key="cn.dtw.exception.MyException">myError</prop> </props> </property> </bean> ``` spring-mvc.xml ``` <context:component-scan base-package="com.wyj.controller"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <context:annotation-config/> <mvc:annotation-driven /> <!--开通静态资源的访问--> <mvc:default-servlet-handler /> <!-- 视图定位 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".html" /> </bean> ```
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
我在支付宝花了1分钟,查到了女朋友的开房记录!
在大数据时代下,不管你做什么都会留下蛛丝马迹,只要学会把各种软件运用到极致,捉奸简直轻而易举。今天就来给大家分享一下,什么叫大数据抓出轨。据史料证明,马爸爸年轻时曾被...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
使用 Python 和百度语音识别生成视频字幕
文章目录从视频中提取音频根据静音对音频分段使用百度语音识别获取 Access Token使用 Raw 数据进行合成生成字幕总结 从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFileClip(video_file) video.audio.write_...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
Python全栈 Linux基础之3.Linux常用命令
Linux对文件(包括目录)有很多常用命令,可以加快开发效率:ls是列出当前目录下的文件列表,选项有-a、-l、-h,还可以使用通配符;c功能是跳转目录,可以使用相对路径和绝对路径;mkdir命令创建一个新的目录,有-p选项,rm删除文件或目录,有-f、-r选项;cp用于复制文件,有-i、-r选项,tree命令可以将目录结构显示出来(树状显示),有-d选项,mv用来移动文件/目录,有-i选项;cat查看文件内容,more分屏显示文件内容,grep搜索内容;>、>>将执行结果重定向到一个文件;|用于管道输出。
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共3526字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
强烈推荐10本程序员必读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
非典逼出了淘宝和京东,新冠病毒能够逼出什么?
loonggg读完需要5分钟速读仅需 2 分钟大家好,我是你们的校长。我知道大家在家里都憋坏了,大家可能相对于封闭在家里“坐月子”,更希望能够早日上班。今天我带着大家换个思路来聊一个问题...
牛逼!一行代码居然能解决这么多曾经困扰我半天的算法题
春节假期这么长,干啥最好?当然是折腾一些算法题了,下面给大家讲几道一行代码就能解决的算法题,当然,我相信这些算法题你都做过,不过就算做过,也是可以看一看滴,毕竟,你当初大概率不是一行代码解决的。 学会了一行代码解决,以后遇到面试官问起的话,就可以装逼了。 一、2 的幂次方 问题描述:判断一个整数 n 是否为 2 的幂次方 对于这道题,常规操作是不断这把这个数除以 2,然后判断是否有余数,直到 ...
立即提问