JS学习笔记5_DOM

1.DOM节点的常用属性(所有节点都支持)

  1. nodeType:元素1,属性2,文本3

  2. nodeName:元素标签名的大写形式

  3. nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性值

  4. 关系属性:parentNode,childNodes,nextSibling,previousSibling,firstChild,lastChild

  5. ownerDocument:文档节点(document对象)

2.操作DOM节点(增/删/改)

  1. appendChild(node);给当前节点的childNodes列表末尾添加一个节点。若node已存在,则把node移动到当前节点下

  2. insertBefore(node, targetNode);在targetNode前插入node

  3. replaceChild(node, targetNode);用node替换targetNode,注意:替换之后targetNode并没有被销毁,只是变成了游离在DOM树外的文档碎片

  4. removeChild(node);移除node,注意:移除之后node也没有被销毁,该方法返回node的引用

  5. cloneNode(true/false);复制一个与当前节点完全相同的节点,若true则深复制,否则浅复制,IE会复制相关事件处理器,其它浏览器不会

  6. normalize();用来删掉空文本节点,合并相邻文本节点

3.document对象相关

  1. document.documentElement;指向元素

  2. document.body;指向元素

  3. document.title;指向元素,直接赋值可以<em>修改文档标题</em></p> </li> <li> <p>document.URL;获取完整URL</p> <p>document.domain;获取域名,可以直接赋值设置域名,当页面中多个frame需要通信时必须修改该属性,以<em>解除跨域安全限制</em></p> <p>document.referrer;获取上一个页面的url,可能是空串</p> </li> <li> <p>查找元素</p> <ul> <li> <p>document.getElementById(str);</p> </li> <li> <p>document.getElementsByTagName(str);返回集合,用方括号语法访问,方括号内可以是字符串表示按name属性值取元素(str可以是*表示取所有DOM元素)</p> </li> <li> <p>document.getElementsByName(str);多用于单选按钮组</p> </li> </ul> </li> </ol> <p>P.S.前两个适用于所有XML文档的DOM操作,最后一个只适用于HTML文档。至于HTML5支持的document.querySelector(str)以及document.getElementsByClassName(str)不在此讨论,上面列出的3种方式都是全浏览器兼容的</p> <ol> <li> <p>document.write(str);文档写入,文档加载过程中直接调用则在指定位置输出内容,若放在load事件处理器中则<em>重写整个页面</em></p> </li> <li> <p>document.createTextNode(text);创建文本节点。document.createElement(tagName);创建元素</p> </li> </ol> <h2>4.元素节点相关</h2> <ol> <li> <p>元素节点的属性:id、title(类似于ToolTip)、className,都是可读/写的(写原生js代码时这3个属性很常用,尤其是<em>className</em>,很方便)</p> </li> <li> <p>elem.getAttribute(attr);获取attr属性的值,也可以取得自定义属性,但HTML5中自定义属性应该加上”data-“前缀(当然,不加也没关系,只是规范要求),用elem.dataset.attr获取</p> <p>elem.setAttribute(attr, value);设置属性值,只用来设置自定义属性,因为<em>自定义属性无法直接设置</em></p> <p>elem.removeAttribute(attr);删除属性和值(<em>[IE6-]不支持</em>)</p> <p>P.S.一般直接访问属性,例如elem.id, elem.style等等,get/setAttribute方式并<em>不常用(只用来读/写自定义属性)</em>,因为用函数方式访问style和onclick或其它事件属性<em>返回字符串</em>,而直接访问可以返回可操作对象(比如函数引用),所以一般都直接访问元素属性</p> </li> <li> <p>attributes属性:elem.attributes[‘id’].nodeValue = value;也可以通过这种方式来访问属性,但<em>更多的时候</em>用attributes属性来遍历元素属性</p> </li> <li> <p>遍历元素的节点时应该添加nodeType检测,因为有些浏览器会把标签间的空白字符也当作节点(<em>Unicode签名BOM</em>)</p> </li> </ol> <h2>5.文本节点</h2> <p>node.nodeValue或者node.data都可以访问文本内容</p> <h2>6.DOM性能优化</h2> <ol> <li> <p>尽量减少访问NodeList的次数</p> <p>NodeList、NamedNodeMap、HTMLCollection都是<em>实时更新</em>的,document.getElementByxxx的返回值就是该类型的。应该尽量减少访问NodeList的次数,因为访问时需要检查DOM树,存在不小的<em>性能损耗</em>。可以把NodeList对象的引用保存起来,例如不要出现下面的代码:</p> <div class="cnblogs_Highlighter"> <pre class="brush:javascript;gutter:true;">for(var i = 0;i < 100;i++){ document.getElementsByTagName('li')[i].className = 'disabled'; }</pre> </div> <p>这样做简直太伤了,更好的做法是:</p> <div class="cnblogs_Highlighter"> <pre class="brush:javascript;gutter:true;">var lis = document.getElementsByTagName('li'); for(var i = 0;i < 100;i++){ lis[i].className = 'disabled'; }</pre> </div> <p>常见的HTMLCollection对象有:document.forms、document.images、document.links、document.anchors</p> </li> <li> <p>使用DocumentFragment避免多次“现场更新”</p> <p>DocumentFragment是一种比较冷门但<em>非常有用</em>的节点,在性能优化中尤其重要,需要插入大量DOM节点时,我们有两个选择:要么一个一个往DOM树上插,要么先插到文档碎片上,再把文档碎片插入DOM树。第一种方式需要更新n次DOM树,而第二种方式只需要更新1次,例如:</p> <div class="cnblogs_Highlighter"> <pre class="brush:javascript;collapse:true;;gutter:true;">//创建文档碎片 var frag = document.createDocumentFragment(); //插入节点 var node = null, text = null; for(var i = 0;i < 10;i++){ node = document.createElement('p'); text = document.createTextNode('段落' + i); node.appendChild(text); frag.appendChild(node); } //把携带着节点的文档碎片插入DOM树 document.body.appendChild(frag);</pre> </div> <p>文档碎片在DOM树中是不存在的,把碎片插入DOM树实际上是插入了它携带的节点,文档碎片是一个看不见的容器。当然也可以创建一个div作为容器,和创建文档碎片道理一样,只要能<em>避免n次现场更新</em>就好,因为DOM树上任何一个节点更新时浏览器都会重新渲染页面,这意味着大量的样式数值计算</p> </li> <li> <p>getElementByxxx的性能差异</p> <p>Id查询是最快的,TagName次之,ClassName最慢。当然,一般情况下这些差异是可以忽略的,但<em>移动端页面</em>应该充分考虑,毕竟移动端没有PC这么好的条件。此外,把频繁使用的元素的引用保存一份可以减少不必要的DOM查找,从而提升性能。</p> </li> </ol> <h2>7.动态创建img/script/link元素</h2> <p>鉴于这部分内容和一般的DOM操作不同,和事件的关联比较多,所以放在JS学习笔记6_事件中详述</p> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1217861195311190016"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(JS学习笔记5_DOM)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1833130424776355840.htm" title="【js学习笔记】“花密”算法本地化" target="_blank">【js学习笔记】“花密”算法本地化</a> <span class="text-muted">goocheez</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>需求花密(https://flowerpassword.com)是一种轻量级的密码管理工具,通过仅记忆一个私人密码,利用不同关键字实时生成相应的密码,来避免不同网站使用同样的密码,以及避免记忆多个网站的多个密码。花密目前仅提供网页页面,每次需要密码的时候,还要联网打开页面,有时也不太方便。因此希望将花密迁移到本地使用,比如直接在命令行里面输入passwordss就可以获得最终密码。用flowerp</div> </li> <li><a href="/article/1828324489516118016.htm" title="js学习笔记4(函数)" target="_blank">js学习笔记4(函数)</a> <span class="text-muted">木小伍</span> <div>1.箭头函数ES6新增属性。箭头函数特别适合嵌入函数的场景。//只有一个参数,括号可以省略letdouble=x=>{return2*x};lettripble=(x)=>{return2*x};//没有参数需要括号letgetRandom=()=>{returnMath.random();};//有多个参数需要括号letsum=(a,b)=>{returna+b}/***箭头函数也可以不使用大括</div> </li> <li><a href="/article/1827331392468512768.htm" title="Vue.js学习笔记(六)element表单校验规则" target="_blank">Vue.js学习笔记(六)element表单校验规则</a> <span class="text-muted">你看我像是会的样子吗?</span> <a class="tag" taget="_blank" href="/search/Vue.js/1.htm">Vue.js</a><a class="tag" taget="_blank" href="/search/element/1.htm">element</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/elementui/1.htm">elementui</a> <div>文章目录前言一、表单验证的作用是什么?二、如何使用?1.普通字段2.对象3.对象数组4.自定义校验规则总结前言记录不同情况下的表单字段校验情况。一、表单验证的作用是什么?在防止用户犯错的前提下,尽可能让用户更早地发现并纠正错误。二、如何使用?Form组件提供了表单验证的功能,只需要通过rules属性传入约定的验证规则,并将Form-Item的prop属性设置为需校验的字段名即可。一个字段可以有多个</div> </li> <li><a href="/article/1759813621313007616.htm" title="NodeJS学习笔记(六) 中间件 | 跨域" target="_blank">NodeJS学习笔记(六) 中间件 | 跨域</a> <span class="text-muted">量子喵pgm</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>Express中间件业务流程的中间处理环节,必须有输入输出中间件的作用当一个请求到达Express的服务器之后,可以连续调用多个中间件,从而对这次请求进行预处理。格式本质上是一个function函数varexpress=require('express')//导入Express模块varapp=express()//创建服务器app.get('/',function(req,res,next){n</div> </li> <li><a href="/article/1757166826799775744.htm" title="Vue.js学习笔记(5)" target="_blank">Vue.js学习笔记(5)</a> <span class="text-muted">程序员不务正业</span> <div>关于Flex-box布局学习:1、容器(flexcontainer),所有的子元素自动成为容器成员容器默认两个轴mainaxis:水平主轴crossaxis:垂直交叉轴2、容器属性2.1flex-direction//主轴的方向(成员的排列方向).box{flex-direction:row|row-reverse|column|column-reverse;}row:水平方向,起点为左端row-</div> </li> <li><a href="/article/1756144349399236608.htm" title="JS学习笔记" target="_blank">JS学习笔记</a> <span class="text-muted">头发长出来了^</span> <a class="tag" taget="_blank" href="/search/JS/1.htm">JS</a><a class="tag" taget="_blank" href="/search/JS/1.htm">JS</a> <div>1.WebAPIs简介导读WebAPIs和JS基础关联性JS基础阶段以及WebAPIs阶段JS基础学习ECMAScript基础语法为后面作铺垫,WebAPIs是JS的应用,大量使用JS基础语法做交互效果①JS基础阶段我们学习的是ECMAScript标准规定的基本语法要求同学们掌握JS基础语法只学习基本语法,做不了常用的网页交互效果目的是为了Js后面的课程打基础、做铺垫②WebAPIs阶段webAP</div> </li> <li><a href="/article/1755191550180081664.htm" title="Node.js + Express + MongoDB 实战 TodoList 基础入门" target="_blank">Node.js + Express + MongoDB 实战 TodoList 基础入门</a> <span class="text-muted">barnett_y</span> <a class="tag" taget="_blank" href="/search/%E3%80%90Node.js/1.htm">【Node.js</a><a class="tag" taget="_blank" href="/search/Koa%E7%82%B9%E6%BB%B4%E7%9F%A5%E8%AF%86/1.htm">Koa点滴知识</a><a class="tag" taget="_blank" href="/search/%E3%80%91/1.htm">】</a> <div>Node.js+Express+MongoDB实战TodoList基础入门视频地址https://www.rails365.netb站常用链接express官网express官网中文expressgithubNodejs学习笔记以及经验总结看视频整理要点笔记:hello-express1.介绍2.请求与响应3.路由参数4.查询字符串5.POST请求和postman工具6.上传文件7.模版引擎介绍8</div> </li> <li><a href="/article/1753614455637295104.htm" title="nodejs认证模块passport.js passport-local用法" target="_blank">nodejs认证模块passport.js passport-local用法</a> <span class="text-muted">weixin_34302561</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a> <div>2019独角兽企业重金招聘Python工程师标准>>>基本用法可参考以下文章:passport.js学习笔记http://idlelife.org/archives/808Express结合Passport实现登陆认证http://blog.fens.me/nodejs-express-passport/官方文档http://passportjs.org/docs关于newLocalStrateg</div> </li> <li><a href="/article/1752970991090286592.htm" title="vue.js学习笔记" target="_blank">vue.js学习笔记</a> <span class="text-muted">姜羅</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>1、简介概述:Vue是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。渐进式:vue可以自底向上逐层的应用,无论是简单还是复杂的界面,Vue都可以胜任。简单应用:只需一个轻量小的核心库复杂应用:可以引入各式各样的vue插件渐进式就是按需逐渐集成功能Vue的特点:采用组件化模式,提</div> </li> <li><a href="/article/1752302034381455360.htm" title="three.js学习笔记(二十一)——页面加载进度条" target="_blank">three.js学习笔记(二十一)——页面加载进度条</a> <span class="text-muted">hongsir_12</span> <a class="tag" taget="_blank" href="/search/three.js%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">three.js学习笔记</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/three.js/1.htm">three.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>介绍到目前为止,我们页面上只有一块WebGL画布,当其准备好后就即刻显示出来。本次课程将学习如何添加一个简单的条状加载器,在加载资源时进行填充。场景将为黑色,只有在全部内容加载完毕才淡出显示。初设跟真实渲染一课中一样的设置,画面中间一顶飞行员头盔import'./style.css'import*asTHREEfrom'three'import{OrbitControls}from'three/e</div> </li> <li><a href="/article/1750670225575002112.htm" title="JS学习笔记-构造一个画廊" target="_blank">JS学习笔记-构造一个画廊</a> <span class="text-muted">brafei</span> <div>主函数main.htmlImageGalleryclickme-->SnapshotsFireworksCoffeeRoseBigBenJS代码showPic.js代码functionshowPic(whichpic){varsSource=whichpic.getAttribute("href");varoPlaceholder=document.getElementById("placehol</div> </li> <li><a href="/article/1749061372953509888.htm" title="Node.js学习笔记:表单提交" target="_blank">Node.js学习笔记:表单提交</a> <span class="text-muted">沧沧凉凉</span> <div>get提交因为get提交过来的表单都是直接显示在url地址中的,所以直接解析req.url传过来的url就可以直接得到数据,如下所示:consthttp=require("http");consturl=require("url");letserver=http.createServer((req,res)=>{letmyUrl=url.parse(req.url,true);letobj=myU</div> </li> <li><a href="/article/1748716556201771008.htm" title="egg.js学习笔记(一)——快速创建一个egg.js应用" target="_blank">egg.js学习笔记(一)——快速创建一个egg.js应用</a> <span class="text-muted">趁着年轻吃点苦</span> <a class="tag" taget="_blank" href="/search/koa2/1.htm">koa2</a><a class="tag" taget="_blank" href="/search/egg.js/1.htm">egg.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>前言最近在慕课网学习使用egg.js这个框架来编写服务端,所以简单的做一下笔记。快速开始快速初始化这里我直接按照官网的教程使用的脚手架,前提是你的npm版本>=6.1.0,然后随便找一个目录来开始创建我们的项目。mkdirerdan-lego&&cderdan-lego$npminitegg--type=simple$npmi启动项目:npmrundev这个时候我们的项目就已经创建好了,是不是很快</div> </li> <li><a href="/article/1748406822592593920.htm" title="day3-4 three.js学习笔记" target="_blank">day3-4 three.js学习笔记</a> <span class="text-muted">github_czy</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/three.js/1.htm">three.js</a> <div>1.天空盒一个包含3D世界的正方体,一共六面,像一盒子一样把我们的场景包裹在内创建一个数组,用来存储天空盒中正方体每一面的贴图材质。然后使用纹理加载器TextureLoader加载图像。最后,我们将创建一个boxGeometry几何体,并将其与我们之前创建的数组一起用于创建一个立方体。需要将材质的side属性设置为THREE.backside渲染天空盒的关键scene.add(skybox);an</div> </li> <li><a href="/article/1748163535042527232.htm" title="Vuejs+Nodejs学习笔记(1)——前后端连接方法" target="_blank">Vuejs+Nodejs学习笔记(1)——前后端连接方法</a> <span class="text-muted">阳排</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>前端到后端的跨域问题需要通过axios来解决,而后端的跨域问题需要通过cros来解决。1前端配置前端发送登录请求到后端,后端匹配用户名和密码,匹配成功后回传code和token,前端接收到token后进入下一级菜单。1.1安装axios命令行输入:npminstallaxios1.2js代码配置JS代码,导入axios,然后使用axios.get()、axios.post()、axios.put(</div> </li> <li><a href="/article/1747350614737698816.htm" title="node.js学习笔记(4)——mongoose连接并操作mongoDB" target="_blank">node.js学习笔记(4)——mongoose连接并操作mongoDB</a> <span class="text-muted">水宁成冰</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/mongoose/1.htm">mongoose</a> <div>一、mongoDBmongoDB是非关系型数据库,存储的单位是文档,可以自定义各种复杂的结构。mongoDB官网下载链接:(communityserver)https://www.mongodb.com/download-center?jmp=nav#community对于windows系统,可以直接下载msi安装文件一步步安装。安装后可以找到自带的shell应用,然后就可以使用了。mongoDB</div> </li> <li><a href="/article/1747350488287821824.htm" title="node.js学习笔记(3)——使用cheerio处理爬取的网页内容" target="_blank">node.js学习笔记(3)——使用cheerio处理爬取的网页内容</a> <span class="text-muted">水宁成冰</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/cheerio/1.htm">cheerio</a> <div>一、简介node.js本身自带爬取网站网页内容的功能。varhttp=require('http');router.get('/test',function(req,res){varurl='http://www.baidu.com';http.get(url,function(response){varhtml='';response.on('data',function(data){html+</div> </li> <li><a href="/article/1746216956471558144.htm" title="three.js学习笔记 day1-2" target="_blank">three.js学习笔记 day1-2</a> <span class="text-muted">github_czy</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>1.three.js是什么开发Web3D应用的js封装类2.three.js需要怎么上手2.1引入2.2三要数(场景,照相机,渲染器)首先,场景是一个容器,主要用于保存、跟踪所要渲染的物体和使用的光源。如果没有场景,Three.js就无法渲染任何物体。其次,摄相机决定了能够在场景中看到什么,即屏幕上哪些东西需要渲染。最后,渲染器是基于摄相机的角度来计算场景对象在浏览器中会渲染成什么样子,然后调用底</div> </li> <li><a href="/article/1745975332818665472.htm" title="NodeJS学习笔记 (32)安全加密-tls" target="_blank">NodeJS学习笔记 (32)安全加密-tls</a> <span class="text-muted">dglf54292</span> <div>https://github.com/chyingp/nodejs-learning-guide转载于:https://www.cnblogs.com/eret9616/p/9197275.html</div> </li> <li><a href="/article/1745601588560412672.htm" title="Node.js学习笔记" target="_blank">Node.js学习笔记</a> <span class="text-muted">琳琳在哪</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>一、初识Node.js1.Node.js是什么?(1)Node.js是一个基于ChromeV8引擎的JavaScript运行环境(2)Node.js官网:http://nodejs.cn/2.运行环境注意:浏览器是JavaScript的前端运行环境Node.js是JavaScript的后端运行环境Node.js无法调用DOM、BOM等浏览器内置API3.Node.js可以做什么二、fs文件系统模块</div> </li> <li><a href="/article/1744192410038059008.htm" title="three.js 学习笔记(学习中1.7更新) |" target="_blank">three.js 学习笔记(学习中1.7更新) |</a> <span class="text-muted">nuise_</span> <a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%BD%A2%E5%AD%A6/1.htm">图形学</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>文章目录three.js学习笔记入门基础概念透视相机第一个three.js应用threejs画布尺寸和布局canvas画布宽高度动态变化坐标辅助器THREE.AxesHelper实现动画效果requestAnimationFrame时间相关属性和方法THREE.Clock类相机控件轨道控制器OrbitControls灯光点光源点光源辅助观察PointLightHelper平行光平行光与mesh表面</div> </li> <li><a href="/article/1743859195670708224.htm" title="【nodejs学习笔记】nodejs处理http请求:get和post" target="_blank">【nodejs学习笔记】nodejs处理http请求:get和post</a> <span class="text-muted">狗狗的仙女大人</span> <a class="tag" taget="_blank" href="/search/nodejs%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">nodejs学习笔记</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>前言:http请求概述从一个经典的面试题入手,简单了解下http请求:Q:从浏览器输入url到页面显示的整个过程?第一步:DNS解析,建立TCP连接,发送http请求,简单来讲就是——先进行DNS解析,即通过域名解析到对应的ip地址;找到ip地址后,建立TCP连接,即三次握手——第一次,客户端询问服务器是否可用;第二次,服务端告诉客户端自己可用;第三次,客户端表示知道了,接下来即将访问;然后再去发</div> </li> <li><a href="/article/1743222436851105792.htm" title="【Three.JS学习笔记(一)】几何体全家福" target="_blank">【Three.JS学习笔记(一)】几何体全家福</a> <span class="text-muted">xxhls_02</span> <a class="tag" taget="_blank" href="/search/Three.JS%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Three.JS学习笔记</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>几何体摘录自官网https://threejs.org/,作为学习笔记增加了些个人的想法。立方缓冲几何体构造函数参数名含义类型默认值widthX轴上面的宽度Float1heightY轴上面的高度Float1depthZ轴上面的深度Float1widthSegmentsX轴的分段数Integer1heightSegmentsY轴的分段数Integer1depthSegmentsZ轴的分段数Integ</div> </li> <li><a href="/article/1742473278838030336.htm" title="Nodejs学习笔记 day01——创建服务器和npm的基本操作" target="_blank">Nodejs学习笔记 day01——创建服务器和npm的基本操作</a> <span class="text-muted">xclhs</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a><a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a><a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AD%A6/1.htm">自学</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%99%BD/1.htm">小白</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a> <div>1.创建nodejs应用:varhttp=require('http');引入http模块,然后实例化。通过createServer创建一个服务器,req和resp分别用来接收和返回数据。设定返回信息为‘HelloWorld’同时我指定了服务器的监听号,通过地址:端口号即可访问。http.createServer(function(req,resp){   resp.writeHead(200,{</div> </li> <li><a href="/article/1742473023048400896.htm" title="Node.js学习笔记 [黑马程序员]——day2" target="_blank">Node.js学习笔记 [黑马程序员]——day2</a> <span class="text-muted">lalaxuan</span> <a class="tag" taget="_blank" href="/search/Node.js/1.htm">Node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>文章目录模块化的基本概念模块化规范Node.js中模块的分类Node.js中模块的分类加载模块Node.js中的模块作用域向外共享模块作用域中的成员`module`对象`module.exports`对象exports对象exports和module.exports的使用误区Node.js中的模块化规范npm与包包npm初体验格式化时间的传统做法格式化时间的高级做法在项目中安装包的命令初次装包后多</div> </li> <li><a href="/article/1742473023509774336.htm" title="Node.js学习笔记 [黑马程序员]——day3&4" target="_blank">Node.js学习笔记 [黑马程序员]——day3&4</a> <span class="text-muted">lalaxuan</span> <a class="tag" taget="_blank" href="/search/Node.js/1.htm">Node.js</a><a class="tag" taget="_blank" href="/search/1024%E7%A8%8B%E5%BA%8F%E5%91%98%E8%8A%82/1.htm">1024程序员节</a> <div>文章目录初识Express简介Express的基本使用托管静态资源nodemonExpress路由路由的概念:dog:什么是路由:dog:Express中的路由:dog:Express中的路由的例子:dog:路由的匹配过程路由的使用最简单的用法模块化路由Express中间件中间件的概念next函数的作用Express中间件的初体验中间件的作用定义多个全局中间件局部生效的中间件定义多个局部中间件中间</div> </li> <li><a href="/article/1742472376559353856.htm" title="nodejs学习笔记" target="_blank">nodejs学习笔记</a> <span class="text-muted">gqe_it</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>这里写目录标题一、Nodejs基础1、Node.js简介1.1、初识nodejs1.2Node.js中的JavaScript运行环境1.3Node.js可以做什么1.4怎么学2、Node.js环境的安装2.1区分LTS版本和Current版本的不同2.2查看已安装的Node.js的版本号3、fs文件系统模块3.1导入3.2`读取`指定文件中的内容3.3向指定的文件中`写入内容`3.4练习——成绩整</div> </li> <li><a href="/article/1740677527266934784.htm" title="three.js学习笔记(react版)" target="_blank">three.js学习笔记(react版)</a> <span class="text-muted">Pluto_fan</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/3d/1.htm">3d</a> <div>官网链接:three.jsdocs这个文章是记录了博主学习three的一些磕磕绊绊,查阅了大量资料后的总结。学习准备下载:three更新迭代得很快,很多方法在各种版本里的使用方法不太一样或者已经被废弃,所以下载正确的版本是很重要的,想下载最新版本的只需将@后面的版本去掉即可npminstallthree@对应版本--save下载后的three文件如下在该目录下examples/jsm放置了很多th</div> </li> <li><a href="/article/1740473358308360192.htm" title="Node.js学习笔记" target="_blank">Node.js学习笔记</a> <span class="text-muted">c1400612901</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>初识Node.js与内置模块1.初始Node.js1.1回顾与思考1.已经掌握了哪些技术HTML、CSS、JavaScript2.浏览器中的JavaScript的组成部分浏览器中的JavaScript:JS核心语法+WebAPI3.思考:为什么JavaScript可以在浏览器中被执行待执行的JS代码JavaScript解析引擎不同的浏览器使用不同的JavaScript解析引擎:Chrome浏览器=</div> </li> <li><a href="/article/1740376366349565952.htm" title="HTML5画布框架fabricjs学习笔记(三)——自定义选择控制框样式" target="_blank">HTML5画布框架fabricjs学习笔记(三)——自定义选择控制框样式</a> <span class="text-muted">IMplementist</span> <a class="tag" taget="_blank" href="/search/React%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">React从入门到精通</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/fabricjs/1.htm">fabricjs</a> <div>目录前言什么是选择控制框?控制线控制点自定义控制线样式与框选对象间的内边距代码代码说明结果是否显示代码代码说明结果颜色代码代码说明结果自定义控制点样式代码结果自定义控制点贴图代码代码说明结果添加自定义控制点结果代码系列博文后记还需要说明的有:前言这篇博文是《HTML5画布框架fabricjs学习笔记》系列博文的第三篇——自定义选择控制框样式,主要的内容有:1.如何修改控制框中的控制点、控制线的样式</div> </li> <li><a href="/article/99.htm" title="ios内付费" target="_blank">ios内付费</a> <span class="text-muted">374016526</span> <a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E4%BB%98%E8%B4%B9/1.htm">内付费</a> <div>近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。   具体使用如下: 这里的sender其实就是调用者,这里主要是为了回调使用。 [KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa</div> </li> <li><a href="/article/226.htm" title="20 款优秀的 Linux 终端仿真器" target="_blank">20 款优秀的 Linux 终端仿真器</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/linux%E8%A7%86%E9%A2%91/1.htm">linux视频</a><a class="tag" taget="_blank" href="/search/linux%E8%B5%84%E6%96%99/1.htm">linux资料</a><a class="tag" taget="_blank" href="/search/linux%E8%87%AA%E5%AD%A6/1.htm">linux自学</a><a class="tag" taget="_blank" href="/search/linux%E6%95%99%E7%A8%8B/1.htm">linux教程</a> <div>  终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。) 你能从开源世界中找到大量的终端仿真器,它们</div> </li> <li><a href="/article/353.htm" title="Solr Deep Paging(solr 深分页)" target="_blank">Solr Deep Paging(solr 深分页)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/solr%E6%B7%B1%E5%88%86%E9%A1%B5/1.htm">solr深分页</a><a class="tag" taget="_blank" href="/search/solr%E5%88%86%E9%A1%B5%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98/1.htm">solr分页性能问题</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2148370 作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述 长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr</div> </li> <li><a href="/article/480.htm" title="数据库面试题" target="_blank">数据库面试题</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98+%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">面试题 数据库</a> <div>1.union ,union all 网络搜索出的最佳答案: union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序; 2.索引有哪些分类?作用是</div> </li> <li><a href="/article/607.htm" title="Android TV屏幕适配" target="_blank">Android TV屏幕适配</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>先说下现在市面上TV分辨率的大概情况 两种分辨率为主 1.720标清,分辨率为1280x720. 屏幕尺寸以32寸为主,部分电视为42寸 2.1080p全高清,分辨率为1920x1080 屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有   适配遇到问题,已1080p尺寸为例: 分辨率固定不变,屏幕尺寸变化较大。 如:效果图尺寸为1920x1080,如果使用d</div> </li> <li><a href="/article/734.htm" title="Timer定时器与ActionListener联合应用" target="_blank">Timer定时器与ActionListener联合应用</a> <span class="text-muted">永夜-极光</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>功能:在控制台每秒输出一次   代码: package Main; import javax.swing.Timer; import java.awt.event.*; public class T { private static int count = 0; public static void main(String[] args){ </div> </li> <li><a href="/article/861.htm" title="Ubuntu14.04系统Tab键不能自动补全问题解决" target="_blank">Ubuntu14.04系统Tab键不能自动补全问题解决</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/Ubuntu+14.04/1.htm">Ubuntu 14.04</a> <div>Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:   1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限) sudo vi /etc/bash.bashrc  接下来会提示输入密码 2、找到文件中的下列代码 #enable bash completion in interactive shells #if</div> </li> <li><a href="/article/988.htm" title="学会人际关系三招 轻松走职场" target="_blank">学会人际关系三招 轻松走职场</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA/1.htm">职场</a> <div>要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。   第一,多汇报 最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。   第二,勤沟通 团队的力</div> </li> <li><a href="/article/1115.htm" title="《O2O:移动互联网时代的商业革命》读书笔记" target="_blank">《O2O:移动互联网时代的商业革命》读书笔记</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a> <div>移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。   O2O:Online to OffLine 线上线下活动 O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。   手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。   线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人</div> </li> <li><a href="/article/1242.htm" title="js实现图片随鼠标滚动的效果" target="_blank">js实现图片随鼠标滚动的效果</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E6%BB%9A%E5%8A%A8%E5%B1%9E%E6%80%A7%E7%9A%84%E8%8E%B7%E5%8F%96/1.htm">滚动属性的获取</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%89%87%E6%BB%9A%E5%8A%A8/1.htm">图片滚动</a><a class="tag" taget="_blank" href="/search/%E5%B1%9E%E6%80%A7%E8%8E%B7%E5%8F%96/1.htm">属性获取</a><a class="tag" taget="_blank" href="/search/%E9%A1%B5%E9%9D%A2%E5%8A%A0%E8%BD%BD/1.htm">页面加载</a> <div>1,获取样式属性值 top 与顶部的距离 left 与左边的距离 right 与右边的距离 bottom 与下边的距离 zIndex 层叠层次     例子:获取左边的宽度,当css写在body标签中时 <div id="adver" style="position:absolute;top:50px;left:1000p</div> </li> <li><a href="/article/1369.htm" title="ajax同步异步参数async" target="_blank">ajax同步异步参数async</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/async/1.htm">async</a> <div>        开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。         格式: $.ajax({ type: 'POST', ur</div> </li> <li><a href="/article/1496.htm" title="Webx3框架(1)" target="_blank">Webx3框架(1)</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a> <div>Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发; 采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。 Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部</div> </li> <li><a href="/article/1623.htm" title="【MongoDB学习笔记五】MongoDB概述" target="_blank">【MongoDB学习笔记五】MongoDB概述</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo</div> </li> <li><a href="/article/1750.htm" title="spring/hibernate/struts2常见异常总结" target="_blank">spring/hibernate/struts2常见异常总结</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div> Spring ①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException 缺少aspectjweaver.jar,该jar包常用于spring aop中   ②java.lang.ClassNotFoundException: org.sprin</div> </li> <li><a href="/article/1877.htm" title="jquery easyui表单重置(reset)扩展思路" target="_blank">jquery easyui表单重置(reset)扩展思路</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/form/1.htm">form</a><a class="tag" taget="_blank" href="/search/jquery+easyui/1.htm">jquery easyui</a><a class="tag" taget="_blank" href="/search/reset/1.htm">reset</a> <div>在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。 扩展的时候要考虑的控件有: combo,combobox,combogrid,combotree,datebox,datetimebox 需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。 在所有的reset方法添加完毕之后,就需要对fo</div> </li> <li><a href="/article/2004.htm" title="编程之美-烙饼排序" target="_blank">编程之美-烙饼排序</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> package beautyOfCoding; import java.util.Arrays; /* *《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。 *《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码: */ </div> </li> <li><a href="/article/2131.htm" title="Struts1.X 源码分析之ActionForm赋值原理" target="_blank">Struts1.X 源码分析之ActionForm赋值原理</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a> <div>struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。 如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s</div> </li> <li><a href="/article/2258.htm" title="[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度" target="_blank">[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a> <div>       这里有一个常识性的问题:       地球的资源,人类的资金是有限的,而太空是无限的.....       就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制.... &</div> </li> <li><a href="/article/2385.htm" title="ORACLE临时表—ON COMMIT PRESERVE ROWS" target="_blank">ORACLE临时表—ON COMMIT PRESERVE ROWS</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E4%B8%B4%E6%97%B6%E8%A1%A8/1.htm">临时表</a> <div>ORACLE临时表 转 临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前 会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。 创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会</div> </li> <li><a href="/article/2512.htm" title="基于Nginx XSendfile+SpringMVC进行文件下载" target="_blank">基于Nginx XSendfile+SpringMVC进行文件下载</a> <span class="text-muted">denger</span> <a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a><a class="tag" taget="_blank" href="/search/lighttpd/1.htm">lighttpd</a> <div>    在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。 @RequestMapping("/courseware/{id}") public void download(@PathVariable("id") String courseID, HttpServletResp</div> </li> <li><a href="/article/2639.htm" title="scanf接受char类型的字符" target="_blank">scanf接受char类型的字符</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>/* 2013年3月11日22:35:54 目的:学习char只接受一个字符 */ # include <stdio.h> int main(void) { int i; char ch; scanf("%d", &i); printf("i = %d\n", i); scanf("%</div> </li> <li><a href="/article/2766.htm" title="学编程的价值" target="_blank">学编程的价值</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助   像这位朋友学习:   http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html   VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的</div> </li> <li><a href="/article/2893.htm" title="二维数组(矩阵)对角线输出" target="_blank">二维数组(矩阵)对角线输出</a> <span class="text-muted">飞天奔月</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a> <div>今天在BBS里面看到这样的面试题目,   1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组  { 1 2 3 4 } { 5 6 7 8 } { 9 10 11 12 } {13 14 15 16 } 打印顺序  4 3 8 2 7 12 1 6 11 16 5 10 15 9 14 13 要</div> </li> <li><a href="/article/3020.htm" title="Ehcache(08)——可阻塞的Cache——BlockingCache" target="_blank">Ehcache(08)——可阻塞的Cache——BlockingCache</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/BlockingCache/1.htm">BlockingCache</a><a class="tag" taget="_blank" href="/search/%E9%98%BB%E5%A1%9E/1.htm">阻塞</a> <div>可阻塞的Cache—BlockingCache          在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.</div> </li> <li><a href="/article/3147.htm" title="mysqldiff对数据库间进行差异比较" target="_blank">mysqldiff对数据库间进行差异比较</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/mysqld/1.htm">mysqld</a> <div>  mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构    如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下: 1) 基本用法    mysqldiff --server1=admin:12345</div> </li> <li><a href="/article/3274.htm" title="spring data jpa 方法中可用的关键字" target="_blank">spring data jpa 方法中可用的关键字</a> <span class="text-muted">lawrence.li</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>spring data jpa 支持以方法名进行查询/删除/统计。 查询的关键字为find 删除的关键字为delete/remove (>=1.7.x) 统计的关键字为count (>=1.7.x)   修改需要使用@Modifying注解 @Modifying @Query("update User u set u.firstna</div> </li> <li><a href="/article/3401.htm" title="Spring的ModelAndView类" target="_blank">Spring的ModelAndView类</a> <span class="text-muted">nicegege</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的? /* * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * yo</div> </li> <li><a href="/article/3528.htm" title="搭建 CentOS 6 服务器(13) - rsync、Amanda" target="_blank">搭建 CentOS 6 服务器(13) - rsync、Amanda</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>(一)rsync Server端 # yum install rsync # vi /etc/xinetd.d/rsync service rsync { disable = no flags = IPv6 socket_type = stream wait </div> </li> <li><a href="/article/3655.htm" title="Learn Nodejs 02" target="_blank">Learn Nodejs 02</a> <span class="text-muted">toknowme</span> <a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>(1)npm是什么 npm is the package manager for node 官方网站:https://www.npmjs.com/ npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作 在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用 &nb</div> </li> <li><a href="/article/3782.htm" title="Spring MVC 拦截器" target="_blank">Spring MVC 拦截器</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>Controller层的拦截器继承于HandlerInterceptorAdapter HandlerInterceptorAdapter.java  1  public   abstract   class  HandlerInterceptorAdapter  implements  HandlerIntercep</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>