Web基础与HTTP协议

目录

HTML基本标签

(1)HTML语法规则

(2)HTML文件结构

HTML文件结构如下

头标签中常用标签

内容标签中常用标签

HTTP协议概述

HTTP方法

GET和POST比较

GET方法:

POST方法:

HTTP状态码

生产环境常见的HTTP状态码

HTTP请求流程分析

请求报文

响应报文


HTML叫做超文本标记,是一种规范,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

HTML文件可以使用任何能够你生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为“.html”或“.htm”即可。

HTML基本标签

(1)HTML语法规则

HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“”表示,结尾标记符多了一个“/”,由“”表示。

(2)HTML文件结构

HTML文件最外层由表示,说明该文件是用HTML语言描述的。在它里面是并列的

头标签()和内容标签(),最基本的

HTML文件结构如下



         网页的内容描述信息

         网页显示的内容

头标签中常用标签

标签 描述
</td> <td style="text-align:center;width:520px;">定义了文档的标题</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><base></td> <td style="text-align:center;width:520px;">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><link></td> <td style="text-align:center;width:520px;">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td colspan="2" rowspan="1" style="text-align:center;width:128px;"><meta></td> <td style="text-align:center;width:520px;">定义了HTML文档中元数据</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><script></td> <td style="text-align:center;width:520px;">定义了客户端的脚本文件</td> </tr> <tr> <td colspan="2" style="text-align:center;width:128px;"><script></td> <td style="text-align:center;width:520px;">定义了HTML文档的样式文件</td> </tr> </tbody> </table> <h2 id="%E5%86%85%E5%AE%B9%E6%A0%87%E7%AD%BE%E4%B8%AD%E5%B8%B8%E7%94%A8%E6%A0%87%E7%AD%BE">内容标签中常用标签</h2> <table border="1" style="width:650px;"> <tbody> <tr> <td style="text-align:center;">标签</td> <td style="text-align:center;">描述</td> </tr> <tr> <td style="text-align:center;"><table></td> <td style="text-align:center;">定义了一个表格</td> </tr> <tr> <td style="text-align:center;"><tr></td> <td style="text-align:center;">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td style="text-align:center;"><td></td> <td style="text-align:center;">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td style="text-align:center;"><img></td> <td style="text-align:center;">定义了一个图像</td> </tr> <tr> <td style="text-align:center;"><a></td> <td style="text-align:center;">定义了一个超链接</td> </tr> <tr> <td style="text-align:center;"><p></td> <td style="text-align:center;">定义了一行</td> </tr> <tr> <td style="text-align:center;"><br></td> <td style="text-align:center;">定义了换行</td> </tr> <tr> <td style="text-align:center;"><font></td> <td style="text-align:center;">定义了字体</td> </tr> <tr> <td style="text-align:center;"><h1></td> <td style="text-align:center;">定义了字体大小</td> </tr> </tbody> </table> <h2 id="HTTP%E5%8D%8F%E8%AE%AE%E6%A6%82%E8%BF%B0">HTTP协议概述</h2> <p>HTTP协议采用了请求/响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括信息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。</p> <p>HTTP已经演化出了很多版本,他们中的大部分都是向下兼容的。</p> <p>(1)HTTP/0.9:已过时。只接受GET一种请求方式,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,所以客户端无法向服务端传递太多信息。</p> <p>(2)HTTP/1.0:这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。</p> <p>(3)HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。</p> <p>(4)HTTP/2.0:完全多线路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务端未经请求,主动向客户端发送资源。</p> <h2 id="HTTP%E6%96%B9%E6%B3%95">HTTP方法</h2> <p>HTTP支持几种不同的请求命令,这些命令被成为称为HTTP方法(HTTP method)。每条HTTP请求报文都包含一个方法。</p> <p>告诉服务器要执行什么动作,包括服务端推送,允许服务器未经请求,主动向客户端发送资源。</p> <table border="1" style="width:650px;"> <tbody> <tr> <td style="text-align:center;">HTTP方法</td> <td style="text-align:center;">描述</td> </tr> <tr> <td style="text-align:center;">GET</td> <td style="text-align:center;">对服务器资源获取的简单请求</td> </tr> <tr> <td style="text-align:center;">PUT</td> <td> <p style="text-align:center;">向服务器提交数据,以修改数据</p> </td> </tr> <tr> <td style="text-align:center;">DELETE</td> <td style="text-align:center;">删除服务器上的某些资源</td> </tr> <tr> <td style="text-align:center;">POST</td> <td style="text-align:center;">用于发送包含用户提交数据的请求</td> </tr> <tr> <td style="text-align:center;">HEAD</td> <td style="text-align:center;">请求页面的首部,获得资源的元信息</td> </tr> </tbody> </table> <p>1、GET请求会向数据库发索取数据请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增添数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。</p> <p>2、与GET不同的是,PUT请求是向服务器端发送数据,从而改变信息,该请求就像数据库的updata操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。</p> <p>3.POST请求同PUT请求类似,都是向服务端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创新的内容,几乎目前所有的提交操作都是用POST请求。</p> <p>4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作</p> <h2 id="GET%E5%92%8CPOST%E6%AF%94%E8%BE%83">GET和POST比较</h2> <h3 id="GET%E6%96%B9%E6%B3%95%EF%BC%9A">GET方法:</h3> <p>从指定的服务器上获得数据</p> <p>GET请求能被缓存</p> <p>GET请求会保存在浏览器的浏览器记录里</p> <p>GET请求有长度的限制</p> <p>主要用于获得数据</p> <p>查询的字符串会显示在URL后缀中,不安全,比如http://www.test.com/a.php?Id=123</p> <h3 id="POST%E6%96%B9%E6%B3%95%EF%BC%9A">POST方法:</h3> <p>提交数据给指定服务器处理</p> <p>POST请求不能被缓存</p> <p>POST请求不会保存在浏览器的浏览记录里</p> <p>POST请求没有长度限制</p> <p>查询的字符串不会显示在URL中,比较安全</p> <h2 id="HTTP%E7%8A%B6%E6%80%81%E7%A0%81">HTTP状态码</h2> <p>当使用浏览器访问某一个URL,会根据处理情况返回相应的处理状态</p> <p>通常正常的状态码为2xx、3xx  (如200)</p> <p>如果出现异常会返回4xx、5xx(如404)</p> <table border="1" style="width:500px;"> <tbody> <tr> <td style="text-align:center;">状态码首位</td> <td style="text-align:center;">已定义范围</td> <td style="text-align:center;">分类</td> </tr> <tr> <td style="text-align:center;">1xx  </td> <td style="text-align:center;">100-101</td> <td style="text-align:center;">信息提示</td> </tr> <tr> <td style="text-align:center;">2xx</td> <td style="text-align:center;">200-206 </td> <td style="text-align:center;">成功</td> </tr> <tr> <td style="text-align:center;">3xx</td> <td style="text-align:center;">300-305</td> <td style="text-align:center;">重定向</td> </tr> <tr> <td style="text-align:center;">4xx</td> <td style="text-align:center;">400-415</td> <td style="text-align:center;">客户端错误</td> </tr> <tr> <td style="text-align:center;">5xx</td> <td style="text-align:center;">500-505</td> <td style="text-align:center;">服务器错误</td> </tr> </tbody> </table> <h2 id="%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B8%B8%E8%A7%81%E7%9A%84HTTP%E7%8A%B6%E6%80%81%E7%A0%81">生产环境常见的HTTP状态码</h2> <table> <thead> <tr> <th style="text-align:center;">常用状态码</th> <th style="text-align:center;">解释</th> </tr> </thead> <tbody> <tr> <td>301</td> <td>永久重定向</td> </tr> <tr> <td>302</td> <td>临时重定向</td> </tr> <tr> <td>400 Bad Request</td> <td>请求错误,客户端发送的请求有语法错误</td> </tr> <tr> <td>401 Unauthorized</td> <td>已定义范围未授权,账号密码验证有误</td> </tr> <tr> <td>1XX403 Forbidden</td> <td>100-101禁止访问,客户端IP/主机名被拉黑</td> </tr> <tr> <td>2XX404 Not Found</td> <td>200-206资源不存在,请求的URL错误,服务器相对应的路径没有该网页文件</td> </tr> <tr> <td>3XX500 Internal Server Error</td> <td>300-305服务器内部错误,服务端里的应用程序有问题</td> </tr> <tr> <td>4XX502 Bad Gateway</td> <td>400-415错误网关,代理服务器接收到了来自上游服务器的无效响应</td> </tr> <tr> <td>5XX503 Service Unavailable</td> <td>500-505服务不可用,服务器过载或正在维护</td> </tr> <tr> <td>504 Gateway Timeout</td> <td>网关超时,代理服务器无法在规定的时间内收到来自上游服务器的响应</td> </tr> <tr> <td>508 Loop Detected</td> <td>检测到循环,服务器端程序存在死循环</td> </tr> </tbody> </table> <h2 id="HTTP%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90">HTTP请求流程分析</h2> <p>用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。</p> <h3 id="%E8%AF%B7%E6%B1%82%E6%8A%A5%E6%96%87">请求报文</h3> <p>请求行:请求行由请求方法、URL以及协议版本三部分组成。</p> <p>请求头:请求头为请求报文添加了一些附加信息,由“名/值"对组成,每行一对,名和值之间使用冒号分隔。</p> <p>空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。</p> <p>请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。</p> <table> <thead> <tr> <th>请求头</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>Host</td> <td>接受请求的服务器地址,可以是IP:端口号,也可以是域名</td> </tr> <tr> <td>User- Agent</td> <td>发送请求的应用程序名称</td> </tr> <tr> <td>Connection</td> <td>指定与连接相关的属性,如Connect ion:Keep-Alive</td> </tr> <tr> <td>Accept - Charset</td> <td>通知服务端可以发送的编码格式</td> </tr> <tr> <td>Accept - Encoding</td> <td>通知服务端可以发送的数据压缩格式</td> </tr> <tr> <td>Accept - Language</td> <td>通知服务端可以发送的语言</td> </tr> </tbody> </table> <h3 id="%E5%93%8D%E5%BA%94%E6%8A%A5%E6%96%87">响应报文</h3> <p>状态行:状态行由协议版本,状态码,状态码描述三部分组成。</p> <p>响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。</p> <p>空行:响应头部的最后会有一个空行,表示响应头部结束。</p> <p>响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。</p> <table> <thead> <tr> <th>响应头</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>Server</td> <td>服务器应用程序软件的名称和版本</td> </tr> <tr> <td>Content -Type</td> <td>响应正文的类型( 是图片还是二进制字符串)</td> </tr> <tr> <td>Content -Lenqth</td> <td>响应正文长度</td> </tr> <tr> <td>Content -Charset</td> <td>响应正文使用的编码</td> </tr> <tr> <td>Content -Encoding</td> <td>响应正文使用的数据压缩格式</td> </tr> <tr> <td>Content - Language</td> <td>响应正文使用的语言</td> </tr> </tbody> </table> <p></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1666335255331692544"></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">你可能感兴趣的:(前端,服务器,html)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1903950477725331456.htm" title="roaming是什么文件夹?" target="_blank">roaming是什么文件夹?</a> <span class="text-muted">石大师</span> <a class="tag" taget="_blank" href="/search/Windows%E7%B3%BB%E7%BB%9F/1.htm">Windows系统</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>不少用户向小编发出疑问:roaming是什么文件夹?roaming文件夹是一种可以很容易地与服务器同步的文件夹,它的数据可以随用户的个人资料从一台PC移动到另一台PC中。那roaming文件夹在哪呢?下面就给大家介绍一下roaming的位置。Roaming文件夹是什么?Roaming文件夹是一种可以很容易地与服务器同步的文件夹。它的数据可以随用户的个人资料从一台PC移动到另一台PC——就像当您在w</div> </li> <li><a href="/article/1903950224280317952.htm" title="最常用的Linux指令手册" target="_blank">最常用的Linux指令手册</a> <span class="text-muted">忍界英雄</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>最常用的Linux指令手册一、远程连接1.连接远程服务器sshuser@192.168.1.100二、文件与目录操作2.查看目录内容ls:查看目录内容、ls-l:显示详细信息、ls-al/home:包含隐藏文件3.显示当前路径pwd4.切换目录cd/var/www/html5.创建文件touchfile1.txtfile2.txt、touchlinode{1..10}.txt:创建文件6.写入文件</div> </li> <li><a href="/article/1903948207478599680.htm" title="html脚本语言有哪些,常见的脚本语言(有哪些)" target="_blank">html脚本语言有哪些,常见的脚本语言(有哪些)</a> <span class="text-muted">神神九十九</span> <a class="tag" taget="_blank" href="/search/html%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%9C%89%E5%93%AA%E4%BA%9B/1.htm">html脚本语言有哪些</a> <div>常见的脚本语言脚本言语:脚本言语又被称为扩建的言语,或者动态言语,是一种编程言语,用bai来操控软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解说或编译。言语分类:Shell脚本:此类脚本用于自动化工作操控,即发动和操控体系程序的行为。大多的脚本言语解说器也一起是命令行界面,如Unixshell和MS-DOSCOMMAND.COM。其他如AppleScript,可以为体系添加脚</div> </li> <li><a href="/article/1903947827508211712.htm" title="人品大爆发,还是全面介绍一下Squirrel语言!!" target="_blank">人品大爆发,还是全面介绍一下Squirrel语言!!</a> <span class="text-muted">steel_de_lee</span> <a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80/1.htm">语言</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/float/1.htm">float</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3/1.htm">文档</a><a class="tag" taget="_blank" href="/search/lambda/1.htm">lambda</a> <div>rel="File-List"href="file:///C:%5CDOCUME%7E1%5Cibm%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">使用了Squirrel一段时间,对这个新语言也有所了解了,还是决定写一个语言本身的介绍,算是在国内抛砖引玉吧。我目前使用的是Squirrel2.2版,这是一个稳定的版本,文档也比较齐全</div> </li> <li><a href="/article/1903944924601053184.htm" title="配置固定ip绕过ip限制" target="_blank">配置固定ip绕过ip限制</a> <span class="text-muted">leeezp</span> <a class="tag" taget="_blank" href="/search/%E6%9D%82%E7%89%A9/1.htm">杂物</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>0x00背景很多内网限制通过ip网段来做的,一般无线网和有线网网段不同,通过配置有线ip来一定程度绕过网络限制。0x01实践很多企业内网是通过DHCP动态分配ip地址,但有线网通常ip是固定的。例如固定ip通常是这样ip地址:子网掩码:默认网关:首选DNS:802.1x配置非固定ip自动获取ip地址=》点击高级默认勾选通过验证证书来验证服务器的身份如果还连接不上有线网,重启一下就好了。</div> </li> <li><a href="/article/1903944039179284480.htm" title="若依框架二次开发——启动 RuoYi-Cloud 微服务项目" target="_blank">若依框架二次开发——启动 RuoYi-Cloud 微服务项目</a> <span class="text-muted">bjzhang75</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5/1.htm">项目开发实践</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E8%8B%A5%E4%BE%9D/1.htm">若依</a> <div>文章目录前期准备第一步:拉取RuoYi-Cloud项目源码第二步:初始化数据库1.创建数据库2.导入数据第三步:配置Nacos并启用持久化1.下载并解压Nacos2.启动Nacos3.访问Nacos控制台第四步:安装并运行Redis1.安装Redis2.启动Redis第五步:修改后端配置第六步:启动后端服务第七步:启动前端项目1.进入前端项目目录2.安装前端依赖3.启动前端第八步:访问系统总结Ru</div> </li> <li><a href="/article/1903941636459655168.htm" title="前端实例:轮播图效果" target="_blank">前端实例:轮播图效果</a> <span class="text-muted">2301_81535770</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>利用HTML、CSS和JavaScript实现轮播图效果。一、轮播图原理:通过给窗口设置position属性和overflow属性,使得超出窗口范围的部分被隐藏,表面可见范围只包含窗口,但实际上其内部空间很大;调整胶卷相对于窗口的位置,使得整个胶卷向左移动;调用JS中的定时器,实现轮播效果。流程图如下:二、实现自动切换效果1、HTML搭建基础框架分为图片展示窗口和上下页切换按键两部分>2、CSS设</div> </li> <li><a href="/article/1903937477635272704.htm" title="SpringbootActuator未授权访问漏洞" target="_blank">SpringbootActuator未授权访问漏洞</a> <span class="text-muted">web_15534274656</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>漏洞介绍Actuator是SpringBoot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuator开发者可以很方便地对应用系统某些监控指标进行查看、统计等。然而,其默认配置会出现接口未授权访问,导致部分接口会泄露网站数据库连接信息等配置信息,使用Jolokia库特性甚至可以远程执行任意代码,获取服务器权限。1、漏洞危害1、信息泄露:未授权的访问者可以通过Actuator端点获取敏感</div> </li> <li><a href="/article/1903936972083228672.htm" title="MCP可能会引入新的数据传输方式:[RFC] 使用新的“可流式传输的 HTTP”传输方式取代 HTTP+SSE" target="_blank">MCP可能会引入新的数据传输方式:[RFC] 使用新的“可流式传输的 HTTP”传输方式取代 HTTP+SSE</a> <span class="text-muted">shadowcz007</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>用简单易懂的方式讲解GitHub上modelcontextprotocol/specification仓库中pullrequest#206的内容。想象我们是在聊一个“快递系统”的升级!---这个PullRequest是啥?这个pullrequest(简称PR)就像是给一个软件规则(ModelContextProtocol)提了个改进建议。它的目标是升级“快递系统”(传输方式),让信息在电脑和服务器</div> </li> <li><a href="/article/1903936341914218496.htm" title="过滤器Filter" target="_blank">过滤器Filter</a> <span class="text-muted">" 微笑</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>过滤器Filter1.快速入门什么是Filter?Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完毕之后,才可以访问对应的资源。过滤器一般完成一些通用的操作,比如:登录校验、统一编码处理、敏感字符处理等。下面我们</div> </li> <li><a href="/article/1903935077516111872.htm" title="Angular与Laravel的CSRF问题探讨与解决" target="_blank">Angular与Laravel的CSRF问题探讨与解决</a> <span class="text-muted">t0_54manong</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%89%8B%E5%86%8C/1.htm">编程问题解决手册</a><a class="tag" taget="_blank" href="/search/angular.js/1.htm">angular.js</a><a class="tag" taget="_blank" href="/search/laravel/1.htm">laravel</a><a class="tag" taget="_blank" href="/search/csrf/1.htm">csrf</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a> <div>在现代Web开发中,安全性是一个不容忽视的关键问题。跨站请求伪造(CSRF)攻击是常见的安全威胁之一,幸运的是,Laravel框架已经为我们提供了强大的CSRF保护机制。然而,当我们将Angular前端与Laravel后端集成时,可能会遇到一些CSRF相关的挑战。今天我们将通过一个具体的案例来探讨如何解决Angular与Laravel之间的CSRF问题。背景介绍假设我们有一个使用Angular开发</div> </li> <li><a href="/article/1903933186770006016.htm" title="前端请求怎么发送到后端:深度剖析与实用指南" target="_blank">前端请求怎么发送到后端:深度剖析与实用指南</a> <span class="text-muted">dhfnngte24fhfn</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/pygame/1.htm">pygame</a><a class="tag" taget="_blank" href="/search/virtualenv/1.htm">virtualenv</a> <div>前端请求怎么发送到后端:深度剖析与实用指南在web开发中,前端与后端之间的通信是至关重要的。前端通过发送请求来获取后端的数据或执行某些操作,而后端则负责处理这些请求并返回相应的响应。本文将分四个方面、五个方面、六个方面和七个方面,深入剖析前端请求是如何发送到后端的,并为你提供实用的指南。四个方面:请求与响应的基础首先,我们需要了解前端请求与后端响应的基础概念。前端通过HTTP协议向后端发送请求,后</div> </li> <li><a href="/article/1903931169582411776.htm" title="css filter属性详解" target="_blank">css filter属性详解</a> <span class="text-muted">pengfeixc</span> <a class="tag" taget="_blank" href="/search/CSS/1.htm">CSS</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a><a class="tag" taget="_blank" href="/search/development/1.htm">development</a> <div>cssfilter属性详解文章中codepen例子,无法实时预览,可以在这里获得更好阅读体验。最近琢磨着把网站主题色更改一下,看到了一篇文章DarkModeinOneLineofCode,作者讲述了如何用一句代码将网站主题色更改成相反色,这样网站就可以拥有有白天模式和黑夜模式了。html{filter:invert(1);}使用上面的代码,可以很方便的将页面颜色反转,达到黑夜模式的效果。但是我并不</div> </li> <li><a href="/article/1903922839744999424.htm" title="SpringMVC-解决跨域的两种方案" target="_blank">SpringMVC-解决跨域的两种方案</a> <span class="text-muted">青岛欢迎您</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6/1.htm">开发框架</a><a class="tag" taget="_blank" href="/search/springmvc/1.htm">springmvc</a> <div>1.什么是跨域跨域,即跨站HTTP请求(Cross-siteHTTPrequest),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求。2.跨域的应用情景当使用前后端分离,后端主导的开发方式进行前后端协作开发时,常常有如下情景:后端开发完毕在服务器上进行部署并给前端API文档。前端在本地进行开发并向远程服务器上部署的后端发送请求。在这种开发过程中,如果前端想要一边开发一边测试接口,就需</div> </li> <li><a href="/article/1903922334524305408.htm" title="http协议与https协议" target="_blank">http协议与https协议</a> <span class="text-muted">网络文化</span> <a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F/1.htm">渗透</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>HTTP(HyperTextTransferProtocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。简单来说就是一种发布和接收HTML页面的方法,被用于在Web浏览器和网站服务器之间传递信息。HTTP默认工作在TCP协议80端口,用户访问网站http://打头的都是标准HTTP服务HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器</div> </li> <li><a href="/article/1903920191583088640.htm" title="深入浅出 WebRTC 通信原理:从点对点到多人会议的全方位解析" target="_blank">深入浅出 WebRTC 通信原理:从点对点到多人会议的全方位解析</a> <span class="text-muted">ADFVBM</span> <a class="tag" taget="_blank" href="/search/webrtc/1.htm">webrtc</a> <div>随着远程办公和在线协作的普及,音视频通信的需求日益增长。无论是两点之间的通信还是多人会议,WebRTC(WebReal-TimeCommunication)作为一种开源技术,提供了低延迟的实时通信能力。它允许浏览器或移动设备通过直接的点对点(P2P)连接进行音频、视频和数据的实时传输。它使得不依赖中间服务器的实时通信成为可能,尤其适用于视频聊天、文件共享、音频会议等场景。在本文中,我们将深入介绍从</div> </li> <li><a href="/article/1903916277538287616.htm" title="微服务即时通讯系统的实现(客户端)----(2)" target="_blank">微服务即时通讯系统的实现(客户端)----(2)</a> <span class="text-muted">Smile丶凉轩</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE/1.htm">项目</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a> <div>目录1.将protobuf引入项目当中2.前后端交互接口定义2.1核心PB类2.2HTTP接口定义2.3websocket接口定义3.核心数据结构和PB之间的转换4.设计数据中心DataCenter类5.网络通信5.1定义NetClient类5.2引入HTTP5.3引入websocket6.小结7.搭建测试服务器7.1创建项目7.2服务器引入http7.3服务器引入websocket7.4服务器引</div> </li> <li><a href="/article/1903913757034213376.htm" title="Vue——Vue-cli脚手架+前端路由" target="_blank">Vue——Vue-cli脚手架+前端路由</a> <span class="text-muted">pdsu_zhao</span> <a class="tag" taget="_blank" href="/search/Vue/1.htm">Vue</a><a class="tag" taget="_blank" href="/search/Vue%E5%AD%A6%E4%B9%A0%E4%B9%8B%E6%97%85/1.htm">Vue学习之旅</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/v-router/1.htm">v-router</a><a class="tag" taget="_blank" href="/search/v-resource/1.htm">v-resource</a><a class="tag" taget="_blank" href="/search/vue-cli/1.htm">vue-cli</a><a class="tag" taget="_blank" href="/search/ES6/1.htm">ES6</a> <div>Vue-cli是Vue的脚手架工具可以进行目录结构、本地调试、代码部署、热加载、单元测试1、MVVM框架View——ViewModel——Model(视图)(通讯)(数据)“DOM”“观察者vue实例”“Javascript”注意:交互为双向的特点:(1)针对具有复杂交互逻辑的前端应用;(2)提供基础的架构抽象;(3)通过Ajax数据持久化,保证前端用户体验。2、什么是Vue.js它是一个轻量级M</div> </li> <li><a href="/article/1903909592593657856.htm" title="使用Titan Takeoff进行高效的自然语言处理模型推理" target="_blank">使用Titan Takeoff进行高效的自然语言处理模型推理</a> <span class="text-muted">scaFHIO</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>在自然语言处理(NLP)领域,每一家企业都在寻求更高效的模型训练和推理解决方案。TitanML的平台通过训练、压缩和推理优化帮助企业构建和部署更佳、更小、更便宜、更快速的NLP模型。特别是其推理服务器TitanTakeoff,使得在本地硬件上轻松部署大语言模型(LLMs)成为可能。技术背景介绍TitanTakeoff是TitanML提供的一项服务,它允许用户在本地硬件上运行推理工作负载。支持大多数</div> </li> <li><a href="/article/1903906566793392128.htm" title="Angular与ASP.NET Core:解决表单数据传输问题" target="_blank">Angular与ASP.NET Core:解决表单数据传输问题</a> <span class="text-muted">t0_54coder</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%89%8B%E5%86%8C/1.htm">编程问题解决手册</a><a class="tag" taget="_blank" href="/search/angular.js/1.htm">angular.js</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><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%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a> <div>在现代Web开发中,Angular和ASP.NETCore是两个非常流行的框架,它们的组合可以构建出高效且易于维护的应用程序。然而,在使用Angular发送表单数据到ASP.NETCoreAPI时,开发者常常会遇到一些数据传输的问题。今天我们就来探讨如何正确地处理这种情况,并通过实际例子来展示解决方案。问题描述假设我们有一个Angular前端应用,需要将一个包含文件和其他数据的表单提交到ASP.N</div> </li> <li><a href="/article/1903906440280600576.htm" title="2021-最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)---React篇" target="_blank">2021-最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)---React篇</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/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%89%8D%E7%AB%AF/1.htm">大前端</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a> <div>★★★React事件绑定原理★★★React中的setState缺点是什么呢★★★React组件通信如何实现★★★类组件和函数组件的区别★★★请你说说React的路由是什么?★★★★★React有哪些性能优化的手段?★★★★Reacthooks用过吗,为什么要用?★★★★虚拟DOM的优劣如何?实现原理?★★★★React和Vue的diff时间复杂度从O(n^3)优化到O(n),那么O(n^3)和O</div> </li> <li><a href="/article/1903903285270605824.htm" title="CPU占用率飙升至100%:是攻击还是正常现象?" target="_blank">CPU占用率飙升至100%:是攻击还是正常现象?</a> <span class="text-muted">群联云防护小杜</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB/1.htm">安全问题汇总</a><a class="tag" taget="_blank" href="/search/ddos/1.htm">ddos</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/waf/1.htm">waf</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/cpu/1.htm">cpu</a><a class="tag" taget="_blank" href="/search/%E5%8D%A0%E7%94%A8/1.htm">占用</a><a class="tag" taget="_blank" href="/search/%E8%A2%AB%E6%94%BB%E5%87%BB/1.htm">被攻击</a> <div>在运维和开发的日常工作中,CPU占用率突然飙升至100%往往是一个令人紧张的信号。这可能意味着服务器正在遭受攻击,但也可能是由于某些正常的、但资源密集型的任务或进程造成的。本文将探讨如何识别和应对服务器的异常CPU占用情况,并通过Python脚本示例,提供一种监控和诊断CPU占用率的方法。一、CPU占用率100%:攻击or正常?1.1攻击迹象持续性高占用:如果CPU占用率长时间保持在100%,且没</div> </li> <li><a href="/article/1903896851413790720.htm" title="Centos使用docker搭建Graylog日志平台" target="_blank">Centos使用docker搭建Graylog日志平台</a> <span class="text-muted">moxiaoran5753</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/graylog/1.htm">graylog</a> <div>日志管理系统有很多,比如ELK,Graylog,Loki+Grafana+Promtail适用场景:1.如果需求复杂,服务器资源不受限制,推荐使用ELK(Logstash+Elasticsearch+Kibana)方案;2.如果需求仅是将不同服务器上的日志采集上来集中展示和检索,且需要一个轻量级的框架,那使用PLG(Promtail+Loki+Grafana)最合适不过了。3.Graylog专注于</div> </li> <li><a href="/article/1903896346037907456.htm" title="Android :实现登录功能的思路" target="_blank">Android :实现登录功能的思路</a> <span class="text-muted">前期后期</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>android的登录功能和前端一样,需要保存登录的用户信息。创建一个工具类//用户工具类,用于管理用户登录状态和用户信息objectAppUserUtil{//常量定义privateconstvalLOGGED_FLAG="logged_flag"//登录状态的键名privateconstvalUSER_INFO="user_info"//用户信息的键名privateconstvalTAG="Ap</div> </li> <li><a href="/article/1903896217243414528.htm" title="多级缓存设计实践" target="_blank">多级缓存设计实践</a> <span class="text-muted">MClink</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>缓存是什么?缓存技术是一种用于加速数据访问的优化策略。它通过将频繁访问的数据存储在高速存储介质(如内存)中,减少对慢速存储设备(如硬盘或远程服务器)的访问次数,从而提升系统的响应速度和性能。缓存的基本原理是:当某个数据被请求时,系统首先检查缓存中是否已存储该数据。如果缓存中存在,则直接返回缓存中的数据,称为“缓存命中”;如果缓存中没有该数据,则从源数据存储(如数据库或远程服务器)中获取数据,并将其</div> </li> <li><a href="/article/1903894445955280896.htm" title="Graylog日志系统超详细部署和配置" target="_blank">Graylog日志系统超详细部署和配置</a> <span class="text-muted">kim_liao123</span> <a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a> <div>Graylog日志系统部署和配置1.软件介绍:Graylog是一个开源的日志聚合、分析、审计、展现和预警工具。功能上和ELK类似,但又比ELK要简单,依靠着更加简洁,高效,部署使用简单;官方文档:https://docs.graylog.org/en/3.3/pages/users_and_roles.html以下所有部署方式都来源与官方文档2.软件准备:服务端:Mongo:存储graylog的一</div> </li> <li><a href="/article/1903887513613824000.htm" title="linux服务器上的项目读取本地文件,java访问linux服务器读取文件路径" target="_blank">linux服务器上的项目读取本地文件,java访问linux服务器读取文件路径</a> <span class="text-muted">防晒霜白癜风患者</span> <div>java访问linux服务器读取文件路径内容精选换一换通过ADC将文件传输到Host。参见准备环境完成环境配置。以运行用户登录安装Toolkit组件的服务器。执行命令,将A.java文件传输到Host的指定路径下。adc--hostxx.xx.xx.xx:22118--sync/tmp/A.java"~/ide_daemon"将xx.xx.xx.xx替换为实际的Host的IP地址。如果Conv2D</div> </li> <li><a href="/article/1903883482262728704.htm" title="Electron打包文件生成.exe文件打开即可使用" target="_blank">Electron打包文件生成.exe文件打开即可使用</a> <span class="text-muted">糕冷小美n</span> <a class="tag" taget="_blank" href="/search/electron/1.htm">electron</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>1、Electron打包,包括需要下载的内容和环境配置步骤注意:Electron是一个使用JavaScript、HTML和CSS构建跨平台桌面应用程序的框架首先需要电脑环境有Node.js和npm我之前的文章有关nvm下载node的说明也可以去官网下载检查是否有node和npm环境命令node-vnpm-v输出版本号,说明安装成功2、创建Electron项目2.1创建项目目录打开命令行工具,创建一</div> </li> <li><a href="/article/1903882461343969280.htm" title="node-imap-sync-client, imap 客户端库, 同步专用" target="_blank">node-imap-sync-client, imap 客户端库, 同步专用</a> <span class="text-muted">eli960</span> <a class="tag" taget="_blank" href="/search/MAIL/1.htm">MAIL</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/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>node-imap-sync-client说明网址:https://gitee.com/linuxmail/node-imap-sync-client同步操作imap客户端,见例子examples本imap客户端,特点:全部命令都是promise风格主要用于和IMAPD服务器同步邮箱数据和邮件数据支持文件夹的创建/删除/移动(改名)支持邮件的复制/移动/删除/标记/上传支持获取文件夹下邮件UID列</div> </li> <li><a href="/article/1903879057762742272.htm" title="pdm self update 504 gateway timeout" target="_blank">pdm self update 504 gateway timeout</a> <span class="text-muted">waketzheng</span> <a class="tag" taget="_blank" href="/search/gateway/1.htm">gateway</a> <div>红军不怕远征难,万里长城今犹在,不见当年秦始皇执行如下命令:pdmselfupdate--verbose时,报了504gatewaytimeout的错误症状:使用的是内网环境的pypimirror,本地Windows有这个问题,服务器Linux系统没有这个问题。经过层层排查,发现是httpx在windows环境读取了注册表里的ProxyServer,但是没有读取ProxyOverride,导致内网</div> </li> <li><a href="/article/7.htm" title="LeetCode[位运算] - #137 Single Number II" target="_blank">LeetCode[位运算] - #137 Single Number II</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a> <div>原题链接:#137 Single Number II  要求: 给定一个整型数组,其中除了一个元素之外,每个元素都出现三次。找出这个元素 注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间   难度:中等   分析: 与#136类似,都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n,即某一</div> </li> <li><a href="/article/134.htm" title="《JavaScript语言精粹》笔记" target="_blank">《JavaScript语言精粹》笔记</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。 1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。 2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是</div> </li> <li><a href="/article/261.htm" title="你应该更新的Java知识之常用程序库" target="_blank">你应该更新的Java知识之常用程序库</a> <span class="text-muted">Kai_Ge</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在很多人眼中,Java 已经是一门垂垂老矣的语言,但并不妨碍 Java 世界依然在前进。如果你曾离开 Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老 Java 中的新东西。 Guava Guava[gwɑ:və],一句话,只要你做Java项目,就应该用Guava(Github)。 guava 是 Google 出品的一套 Java 核心库,在我看来,它甚至应该</div> </li> <li><a href="/article/388.htm" title="HttpClient" target="_blank">HttpClient</a> <span class="text-muted">120153216</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a> <div>/** * 可以传对象的请求转发,对象已流形式放入HTTP中 */ public static Object doPost(Map<String,Object> parmMap,String url) { Object object = null; HttpClient hc = new HttpClient(); String fullURL </div> </li> <li><a href="/article/515.htm" title="Django model字段类型清单" target="_blank">Django model字段类型清单</a> <span class="text-muted">2002wmj</span> <a class="tag" taget="_blank" href="/search/django/1.htm">django</a> <div>Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 Cha</div> </li> <li><a href="/article/642.htm" title="在SQLSERVER中查找消耗CPU最多的SQL" target="_blank">在SQLSERVER中查找消耗CPU最多的SQL</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>返回消耗CPU数目最多的10条语句 SELECT TOP 10    total_worker_time/execution_count AS avg_cpu_cost, plan_handle,    execution_count,    (SELECT SUBSTRING(text, statement_start_of</div> </li> <li><a href="/article/769.htm" title="Myeclipse项目无法部署,Undefined exploded archive location" target="_blank">Myeclipse项目无法部署,Undefined exploded archive location</a> <span class="text-muted">7454103</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a> <div>做个备忘! 错误信息为:       Undefined exploded archive location 原因:           在工程转移过程中,导致工程的配置文件出错; 解决方法:    </div> </li> <li><a href="/article/896.htm" title="GMT时间格式转换" target="_blank">GMT时间格式转换</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/GMT/1.htm">GMT</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E8%BD%AC%E6%8D%A2/1.htm">时间转换</a> <div>普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。 1、可以使用 SimpleDateFormat SimpleDateFormat    EEE-三位星期 d-天 MMM-月 yyyy-四位年 </div> </li> <li><a href="/article/1023.htm" title="Oracle数据库新装连接串问题" target="_blank">Oracle数据库新装连接串问题</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/oracle%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">oracle数据库</a> <div>割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下: Fatal NI connect error 12170.   VERSION INFORMATION:         TNS for Linux: Version 10.2.0.4.0 - Product</div> </li> <li><a href="/article/1150.htm" title="回顾java数组复制" target="_blank">回顾java数组复制</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a> <div>在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。首先,简单想一下这个问题:为什么要复制数组?我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方</div> </li> <li><a href="/article/1277.htm" title="java web会话监听并使用spring注入" target="_blank">java web会话监听并使用spring注入</a> <span class="text-muted">bewithme</span> <a class="tag" taget="_blank" href="/search/Java+Web/1.htm">Java Web</a> <div>        在java web应用中,当你想在建立会话或移除会话时,让系统做某些事情,比如说,统计在线用户,每当有用户登录时,或退出时,那么可以用下面这个监听器来监听。        import java.util.ArrayList; import java.ut</div> </li> <li><a href="/article/1404.htm" title="NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)" target="_blank">NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a> <div>一 .Redis常用命令         Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。         a.键值相关命令         b.服务器相关命令 1.键值相关命令       &</div> </li> <li><a href="/article/1531.htm" title="java枚举序列化问题" target="_blank">java枚举序列化问题</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a><a class="tag" taget="_blank" href="/search/%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">序列化</a> <div>对象在网络中传输离不开序列化和反序列化。而如果序列化的对象中有枚举值就要特别注意一些发布兼容问题: 1.加一个枚举值 新机器代码读分布式缓存中老对象,没有问题,不会抛异常。 老机器代码读分布式缓存中新对像,反序列化会中断,所以在所有机器发布完成之前要避免出现新对象,或者提前让老机器拥有新增枚举的jar。 2.删一个枚举值 新机器代码读分布式缓存中老对象,反序列</div> </li> <li><a href="/article/1658.htm" title="【Spark七十八】Spark Kyro序列化" target="_blank">【Spark七十八】Spark Kyro序列化</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a> <div>当使用SparkContext的saveAsObjectFile方法将对象序列化到文件,以及通过objectFile方法将对象从文件反序列出来的时候,Spark默认使用Java的序列化以及反序列化机制,通常情况下,这种序列化机制是很低效的,Spark支持使用Kyro作为对象的序列化和反序列化机制,序列化的速度比java更快,但是使用Kyro时要注意,Kyro目前还是有些bug。 Spark</div> </li> <li><a href="/article/1785.htm" title="Hybridizing OO and Functional Design" target="_blank">Hybridizing OO and Functional Design</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a><a class="tag" taget="_blank" href="/search/haskell/1.htm">haskell</a> <div>  推荐博文: Tell Above, and Ask Below - Hybridizing OO and Functional Design 文章中把OO和FP讲的深入透彻,里面把smalltalk和haskell作为典型的两种编程范式代表语言,此点本人极为同意,smalltalk可以说是最能体现OO设计的面向对象语言,smalltalk的作者Alan kay也是OO的最早先驱,</div> </li> <li><a href="/article/1912.htm" title="Java-Collections Framework学习与总结-HashMap" target="_blank">Java-Collections Framework学习与总结-HashMap</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/Collections/1.htm">Collections</a> <div>        开发中常常会用到这样一种数据结构,根据一个关键字,找到所需的信息。这个过程有点像查字典,拿到一个key,去字典表中查找对应的value。Java1.0版本提供了这样的类java.util.Dictionary(抽象类),基本上支持字典表的操作。后来引入了Map接口,更好的描述的这种数据结构。  &nb</div> </li> <li><a href="/article/2039.htm" title="读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility" target="_blank">读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请 * bylijinnan */ abstract class Handler { /* </div> </li> <li><a href="/article/2166.htm" title="Android中启动外部程序" target="_blank">Android中启动外部程序</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>1、启动外部程序 引用自: http://blog.csdn.net/linxcool/article/details/7692374 //方法一 Intent intent=new Intent(); //包名 包名+类名(全路径) intent.setClassName("com.linxcool", "com.linxcool.PlaneActi</div> </li> <li><a href="/article/2293.htm" title="summary_keep_rate" target="_blank">summary_keep_rate</a> <span class="text-muted">coollyj</span> <a class="tag" taget="_blank" href="/search/SUM/1.htm">SUM</a> <div> BEGIN /*DECLARE minDate varchar(20) ; DECLARE maxDate varchar(20) ;*/ DECLARE stkDate varchar(20) ; DECLARE done int default -1; /* 游标中 注册服务器地址 */ DE</div> </li> <li><a href="/article/2420.htm" title="hadoop hdfs 添加数据目录出错" target="_blank">hadoop hdfs 添加数据目录出错</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hdfs/1.htm">hdfs</a><a class="tag" taget="_blank" href="/search/%E6%89%A9%E5%AE%B9/1.htm">扩容</a> <div>由于原来配置的hadoop data目录快要用满了,故准备修改配置文件增加数据目录,以便扩容,但由于疏忽,把core-site.xml, hdfs-site.xml配置文件dfs.datanode.data.dir 配置项增加了配置目录,但未创建实际目录,重启datanode服务时,报如下错误: 2014-11-18 08:51:39,128 WARN org.apache.hadoop.h</div> </li> <li><a href="/article/2547.htm" title="grep 目录级联查找" target="_blank">grep 目录级联查找</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/grep/1.htm">grep</a> <div>       在Mac或者Linux下使用grep进行文件内容查找时,如果给定的目标搜索路径是当前目录,那么它默认只搜索当前目录下的文件,而不会搜索其下面子目录中的文件内容,如果想级联搜索下级目录,需要使用一个“-r”参数: grep -n -r "GET" .   上面的命令将会找出当前目录“.”及当前目录中所有下级目录</div> </li> <li><a href="/article/2674.htm" title="yii 修改模块使用的布局文件" target="_blank">yii 修改模块使用的布局文件</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a><a class="tag" taget="_blank" href="/search/layouts/1.htm">layouts</a> <div>方法一:yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如: 'theme'=>'mythm', 那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件; 如果未配置主题,那么 yii的模块就使用  protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 pr</div> </li> <li><a href="/article/2801.htm" title="设计模式之单例模式" target="_blank">设计模式之单例模式</a> <span class="text-muted">come_for_dream</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a><a class="tag" taget="_blank" href="/search/%E6%87%92%E6%B1%89%E5%BC%8F%E9%A5%BF%E6%B1%89%E5%BC%8F/1.htm">懒汉式饿汉式</a><a class="tag" taget="_blank" href="/search/%E5%8F%8C%E9%87%8D%E6%A3%80%E9%AA%8C%E9%94%81%E5%A4%B1%E8%B4%A5/1.htm">双重检验锁失败</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E5%BA%8F%E5%86%99%E5%85%A5/1.htm">无序写入</a> <div>                今天该来的面试还没来,这个店估计不会来电话了,安静下来写写博客也不错,没事翻了翻小易哥的博客甚至与大牛们之间的差距,基础知识不扎实建起来的楼再高也只能是危楼罢了,陈下心回归基础把以前学过的东西总结一下。   *********************************</div> </li> <li><a href="/article/2928.htm" title="8、数组" target="_blank">8、数组</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><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a><a class="tag" taget="_blank" href="/search/%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">一维数组</a> <div>  一、概念       数组是同一种类型数据的集合。其实数组就是一个容器。   二、好处       可以自动给数组中的元素从0开始编号,方便操作这些元素   三、格式   //一维数组 1,元素类型[] 变量名 = new 元素类型[元素的个数] int[] arr =</div> </li> <li><a href="/article/3055.htm" title="Decode Ways" target="_blank">Decode Ways</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/decode/1.htm">decode</a> <div>A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message containing digits, det</div> </li> <li><a href="/article/3182.htm" title="Spring4.1新特性——异步调度和事件机制的异常处理" target="_blank">Spring4.1新特性——异步调度和事件机制的异常处理</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4.1/1.htm">spring 4.1</a> <div>目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T</div> </li> <li><a href="/article/3309.htm" title="squid3(高命中率)缓存服务器配置" target="_blank">squid3(高命中率)缓存服务器配置</a> <span class="text-muted">liyonghui160com</span> <div>    系统:centos 5.x   需要的软件:squid-3.0.STABLE25.tar.gz 1.下载squid wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz tar zxf squid-3.0.STABLE25.tar.gz &&</div> </li> <li><a href="/article/3436.htm" title="避免Java应用中NullPointerException的技巧和最佳实践" target="_blank">避免Java应用中NullPointerException的技巧和最佳实践</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。   总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常 Object unk</div> </li> <li><a href="/article/3563.htm" title="如何在Swift语言中创建http请求" target="_blank">如何在Swift语言中创建http请求</a> <span class="text-muted">shoothao</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a> <div> 概述:本文通过实例从同步和异步两种方式上回答了”如何在Swift语言中创建http请求“的问题。 如果你对Objective-C比较了解的话,对于如何创建http请求你一定驾轻就熟了,而新语言Swift与其相比只有语法上的区别。但是,对才接触到这个崭新平台的初学者来说,他们仍然想知道“如何在Swift语言中创建http请求?”。 在这里,我将作出一些建议来回答上述问题。常见的</div> </li> <li><a href="/article/3690.htm" title="Spring事务的传播方式" target="_blank">Spring事务的传播方式</a> <span class="text-muted">uule</span> <a class="tag" taget="_blank" href="/search/spring%E4%BA%8B%E5%8A%A1/1.htm">spring事务</a> <div>传播方式:        新建事务       required       required_new   - 挂起当前         非事务方式运行       supports   &nbs</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>