透过ashx看浏览器服务器运行本质(图解)

浏览器与IIS服务器与.Net FrameWork关系

透过ashx看浏览器服务器运行本质(图解)_第1张图片

Asp.Net

ASP.Net是一种动态网页技术,在服务器端运行.Net代码,动态生成HTML,然后响应给浏览器。

可以使用JavaScript、Dom在浏览器端完成很多工作,但是有很多工作无法在浏览器端完成,比如存储数据、访问数据库、复杂的业务逻辑运算、安全性要求高的逻辑运算等。

ASP.Net:一般处理程序(ashx),WebForm(aspx)、MVC3(Model, View , Controler)。

Asp.Net里的常用文件

文件扩展名

说明

.ashx

一般处理程序,ASP.NET核心程序,但一般使用.aspx[不需要返回大量html代码时使用]

.aspx

常用程序WebForm,用于创建网页和对网页进行编程的核心文件类型(前台文件),和.aspx.cs文件配套使用[当需要返回大量html代码使用使用它]

.aspx.cs

常用程序,用于编写大量的c#业务代码,和.aspx配套使用。

.ascx

指明一个 ASP.NET 用户定义控件

.asax

包含 ASP.NET 应用程序级事件的事件语法

.config

配置文件,用于设置网站应用程序的各种属性

.asmx 供宿主 Web 服务在本地或远程使用

一般处理程序(HttpHandler)

是一个实现System.Web.IHttpHandler接口的特殊类。
任何一个实现了IHttpHandler接口的类是作为一个外部请求的目标程序的前提。(凡是没有实现此接口的类,就不能被浏览器请求。)

它由支持ASP.NET的服务器调用和启动运行。一个HttpHandler程序负责处理它所对应的一个或一组URL地址的访问请求,并接收客户端发出的访问请求信息(请求报文)和产生响应内容(响应报文)。

咱可以通过创建一个我们自己的HttpHandler程序来生成浏览器代码发送回客户端浏览器。

HttpHandler程序可以完成普通类程序所能完成的大多数任务:
1.获取客户端通过HTML的Form表单提交的数据和URL参数
2.创建对客户端的响应消息内容
3.访问服务器端的文件系统
4.连接数据库并开发基于数据库的应用
5.调用其他类

ashx的简单使用
Cul.ashx读取model.html将处理后的html代码返回给浏览器

复制代码 代码如下:
 
using System.Web;
namespace ASHX{
public class Cul : IHttpHandler { //IHttpHandler非常重要的接口 实现接口就是为了统一调用ProcessRequest处理页面的方法
//注意:Q2:为什么浏览器输入cul.ashx同样能显示内容呢? A2:因为程序编译的时候 对Cul.ashx进行了重命名
public void ProcessRequest( HttpContext context) { //context 请求上下文对象 浏览器请求所有信息包括在其内部
context.Response.ContentType = "text/plain" ;//text/plain 当做普通的字符串解释就行 text/html则是当做html解释执行
//注:如果text/plain 而输出的内容时一个完整的html页面内容 会被浏览器自动解释执行 因为浏览器的向下兼容
//获得模板页面在 服务器上的 物理路径
string PagePath = context.Server.MapPath("Model.htm" );
//读取模板内容
string HTMLStr = System.IO.File .ReadAllText(PagePath);
HTMLStr = HTMLStr.Replace( "@{title}" , "这是第一个静态处理文件" ).Replace( "@{Content}", "我是静态处理文件动态产生的哦~ ~" );
//输出到页面
context.Response.Write(HTMLStr); //Response服务器响应属性
context.Response.Write( "痞子一毛" ); //Q1:为什么"痞子一毛"和HTMLStr一起输出到界面 而非覆盖呢?
//A1:因为Write其实是向 Response属性所操作的一个HttpResponse对象 里的HtmlWrite对象里的缓存区写数据
//Q3:为什么要写入缓存区? A3:因为此时压根儿就没有生成响应报文
}
public bool IsReusable {
get {
return false ; //是否可重用
}
}
}
}

html.model 代码如下:
复制代码 代码如下:

< head>
@{title}</ title > <br></ head> <br>< body> <br>@{Content} <br></ body> <br></ html> <br> </div><br>以上代码运行原理图解<p></p> <p><a href="http://img.e-com-net.com/image/info11/1ef06753e7d941e79bfe4eed3b09c17c.jpg" target="_blank"><img alt="透过ashx看浏览器服务器运行本质(图解)_第2张图片" src="http://img.e-com-net.com/image/info11/1ef06753e7d941e79bfe4eed3b09c17c.jpg" width="650" height="379" style="border:1px solid black;"></a></p></span> </div> <div class="clearfix"> <span id="art_bot" class="jbTestPos"></span> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1176017004243529728"></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">你可能感兴趣的:(透过ashx看浏览器服务器运行本质(图解))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1903628218645147648.htm" title="《Hello 算法》火了!!!一本写给算法初学者的入门算法书籍" target="_blank">《Hello 算法》火了!!!一本写给算法初学者的入门算法书籍</a> <span class="text-muted">遇码</span> <a class="tag" taget="_blank" href="/search/%E5%88%86%E4%BA%AB/1.htm">分享</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/hello/1.htm">hello</a><a class="tag" taget="_blank" href="/search/hello%E7%AE%97%E6%B3%95/1.htm">hello算法</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E4%B9%A6%E7%B1%8D/1.htm">算法书籍</a> <div>曾经也放出豪言壮语,决心要刷遍力扣上的所有算法题目。然而现实就很快啪啪的打脸。不知道多少人和我有过一样的经历。在读到《Hello算法》的序中,作者靳宇栋给了我们一个“台阶”。随后就表达了针对我们的现状,他特地写了《Hello算法》这本书,代表广大算法初学者表示感激涕零。《Hello算法》为什么适合入门动画图解、一键运行的数据结构与算法教程全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索</div> </li> <li><a href="/article/1903627713877438464.htm" title="一文读懂Python异常(16)" target="_blank">一文读懂Python异常(16)</a> <span class="text-muted">跟着杰哥学Python</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>Python程序执行期间发生的错误叫做异常,如果你编写了处理异常的代码,程序将继续执行;如果未编写处理异常的代码,程序将停止,并返回一条traceback,其中包含异常的报告。通常使用try-except代码块来处理异常。一、try-except代码块1、如果try代码块的代码运行起来没问题,则跳过except代码块;如果try代码块的代码导致了错误,则运行except代码块。2、举例二、try-</div> </li> <li><a href="/article/1903626074932178944.htm" title="从“一壶浊酒”到“一份报告”,看永洪科技助力郎酒集团的数字化升级之旅" target="_blank">从“一壶浊酒”到“一份报告”,看永洪科技助力郎酒集团的数字化升级之旅</a> <span class="text-muted">永洪科技</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">数据可视化</a><a class="tag" taget="_blank" href="/search/BI/1.htm">BI</a> <div>白酒在社交、庆祝和宴请活动中扮演着重要的角色,它与人们的生活密切相关。白酒的制作过程、酿造技艺、酒文化习俗等方面都体现了当地的历史、传统和价值观。同时它也是一种文化的载体,承载着人们对于生活、友谊、团聚的情感和期待。人们通过分享白酒来加强彼此之间的联系和沟通,它成为了社交场合中的重要元素。白酒还通过艺术、文学、电影等形式在文化领域中得到了表达和展示。郎酒庄园作为我国传统的白酒行业,郎酒在国内市场占</div> </li> <li><a href="/article/1903625947559555072.htm" title="打造金融数据新引擎,看永洪科技助力头部农信社搭建一站式分析平台" target="_blank">打造金融数据新引擎,看永洪科技助力头部农信社搭建一站式分析平台</a> <span class="text-muted">永洪科技</span> <a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">数据可视化</a><a class="tag" taget="_blank" href="/search/BI/1.htm">BI</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>在数字化转型的浪潮中,金融行业作为经济发展的核心引擎,正加速探索数字化、智能化的新路径。永洪科技,近日成功助力某省农村信用社联合社(简称:Z企业)完成了其数字化转型的重要一步,通过部署先进的商业智能解决方案,为Z企业的业务升级与效能提升注入了强劲动力。随着智能金融时代的来临,以大数据、人工智能、移动互联等新兴技术为核心的金融科技持续赋能银行金融业务数字化、智能化、开放化的发展,为金融机构营销体系的</div> </li> <li><a href="/article/1903625568356724736.htm" title="【Idea】Idea如何修改Debug运行的默认JDK版本、如何修改Debug模板" target="_blank">【Idea】Idea如何修改Debug运行的默认JDK版本、如何修改Debug模板</a> <span class="text-muted">九师兄</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7-%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/1.htm">工具-开发工具</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>1.概述上一篇文章:【maven】windows安装两套jdk、idea运行报错Runtimeonlyrecognizesclassfileversionsupto52.0在上一篇文章中,我们最后找到原因是Debug的时候设置的JDK问题。最后我们改成如下才解决但是有没有思考,我们项目都改成jdk17了。这里为什么还是jdk1.8呢?这是因为debug模板的问题。我们改成如下模板就好了,下次就不是</div> </li> <li><a href="/article/1903623425214181376.htm" title="应用-构建并优化 Python 的 Rust 扩展" target="_blank">应用-构建并优化 Python 的 Rust 扩展</a> <span class="text-muted">李星星BruceL</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录构建并优化Python的Rust扩展如果你的Python代码运行速度不够快,你可以选择使用编译语言来编写更快的扩展。本文将重点介绍Rust,它具有以下优势:现代工具链,包括名为crates.io的包仓库和内置的构建工具(cargo)。出色的Python集成和工具支持。Rust的Python支持包是PyO3。对于打包,你可以使用setuptools-rust来与现有的setuptools项目集成</div> </li> <li><a href="/article/1903620274012614656.htm" title="【C++】内联函数" target="_blank">【C++】内联函数</a> <span class="text-muted">Easy_Package</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>内联函数的概念以inline修饰的函数叫做内联函数,内联函数类似于宏,都是在调用的地方展开,没有函数调用建立栈帧的开销,提升程序运行的效率不同的是宏是在预处理阶段展开的,而内联函数是在编译阶段展开的而且宏使用起来过于繁琐,不够便捷,因此产生了内联函数inline是一种空间换时间的做法,若大量使用内敛,整个代码将会变得臃肿,但却少了调用开销,能够提高程序运行效率。内联对于编译器来说只是一种建议,具体</div> </li> <li><a href="/article/1903613591953666048.htm" title="Java进阶 面试速记" target="_blank">Java进阶 面试速记</a> <span class="text-muted">登陆成功200</span> <a class="tag" taget="_blank" href="/search/JAVA%E8%BF%9B%E9%98%B6/1.htm">JAVA进阶</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>注解注解@Override类似一个标签,作用在方法上,表示此方法是从父类中重写而来注解是java中的标注方式,可以最用在类,方法,变量,参数成员上在编译期间,会被编译到字节码文件中,运行时通过反射机制获得注解内容,进行解析.内置注解java中内定好的注解例如@Override@Deprecated-标记过时方法。如果使用该方法,会报编译警告。@SuppressWarnings-指示编译器去忽略注解</div> </li> <li><a href="/article/1903613339855024128.htm" title="C++学习:六个月从基础到就业——C++基础语法回顾:数据类型、变量与常量" target="_blank">C++学习:六个月从基础到就业——C++基础语法回顾:数据类型、变量与常量</a> <span class="text-muted">superior tigre</span> <a class="tag" taget="_blank" href="/search/C%2B%2B%E5%AD%A6%E4%B9%A0%EF%BC%9A%E5%85%AD%E4%B8%AA%E6%9C%88%E4%BB%8E%E5%9F%BA%E7%A1%80%E5%88%B0%E5%B0%B1%E4%B8%9A/1.htm">C++学习:六个月从基础到就业</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>C++学习:六个月从基础到就业——C++基础语法回顾:数据类型、变量与常量本文是"C++学习:六个月从基础到就业"系列的第一篇技术文章,主要回顾C++的基本数据类型、变量定义和常量使用,为后续深入学习打下基础。查看完整系列目录了解更多内容。引言编程的本质是对数据的处理,而数据类型、变量与常量是任何编程语言的基础构建块。在C++中,对这些基础概念的深入理解不仅能让我们编写出正确的代码,还能帮助我们编</div> </li> <li><a href="/article/1903612455095955456.htm" title="读书笔记五 ---大数据之路--数仓分层" target="_blank">读书笔记五 ---大数据之路--数仓分层</a> <span class="text-muted">qq_38215991</span> <a class="tag" taget="_blank" href="/search/big/1.htm">big</a><a class="tag" taget="_blank" href="/search/data/1.htm">data</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>数据分层在流式数据模型中,数据模型整体上分为五层。ODS层跟离线系统的定义一样,ODS层属于操作数据层,是直接从业务系统采集过来的最原始数据(进行了数据清洗),包含了所有业务的变更过程,数据粒度也是最细的。在这一层,实时和离线在源头上是统一的,这样的好处是用同一份数据加工出来的指标,口径基本是统一的,可以更方便进行实时和离线问数据比对。例如:原始的订单变更记录数据、服务器引擎的访同日志。(原始数据</div> </li> <li><a href="/article/1903610941984010240.htm" title="[网安工具] 网安工具库 —— 工具管理手册" target="_blank">[网安工具] 网安工具库 —— 工具管理手册</a> <span class="text-muted">Blue17 :: Hack3rX</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%B7%A5%E5%85%B7/1.htm">安全工具</a><a class="tag" taget="_blank" href="/search/%E2%80%94/1.htm">—</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E5%AE%89%E5%B7%A5%E5%85%B7%E6%89%8B%E5%86%8C/1.htm">网安工具手册</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E7%BD%91%E5%AE%89%E5%85%A8/1.htm">内网安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>0x00:工具管理类—ToolsManagement0x01:信息收集类—InformationGathering自动化综合信息收集工具—ARL灯塔0x02:漏洞探测类—VulnerabilityIdentification浏览器渗透辅助插件——HackBarSQL注入漏洞——SqlMap0x03:漏洞利用类0x04:远程控制类0x05:权限提升类0x06:权限维持类0x07:隧道代理类0x08:</div> </li> <li><a href="/article/1903609934151479296.htm" title="[前端面试场景题]虚拟列表" target="_blank">[前端面试场景题]虚拟列表</a> <span class="text-muted">GISer_Jinger</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>嗯,用户问的是“前端虚拟列表详解”,我需要详细回答这个问题。首先,我得先理解虚拟列表的概念和用途。根据搜索结果,虚拟列表主要用于优化长列表的渲染性能,特别是在处理大量数据时。用户可能想知道它的核心原理、实现方法以及实际应用场景。看网页1提到虚拟列表的定义和关键点,只渲染视口内的数据项,减少DOM节点。网页2和网页4都给出了具体的Vue和原生JS实现案例,比如动态计算起始和结束索引,使用transf</div> </li> <li><a href="/article/1903606018739335168.htm" title="从零开始学习 Go 语言" target="_blank">从零开始学习 Go 语言</a> <span class="text-muted">九班长</span> <a class="tag" taget="_blank" href="/search/Golang/1.htm">Golang</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/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><a class="tag" taget="_blank" href="/search/gin/1.htm">gin</a> <div>Go语言(又称Golang)是由Google开发的一种静态强类型、编译型、并发型编程语言。它以其简洁的语法、高效的并发支持和强大的标准库而闻名,非常适合开发高性能的服务器端应用、分布式系统和云计算工具。本文将从零开始,详细介绍如何学习Go语言,涵盖基础语法、核心概念、并发编程、工具链和实战项目等内容。1.Go语言简介1.1Go语言的特点简洁易学:语法简洁,学习曲线平缓。高效编译:编译速度快,生成的</div> </li> <li><a href="/article/1903604632614137856.htm" title="使用 libevent 构建高性能网络应用" target="_blank">使用 libevent 构建高性能网络应用</a> <span class="text-muted">ScilogyHunter</span> <a class="tag" taget="_blank" href="/search/%E5%B8%B8%E8%A7%81%E8%BD%AF%E4%BB%B6%E5%BA%93/1.htm">常见软件库</a><a class="tag" taget="_blank" href="/search/libevent/1.htm">libevent</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8/1.htm">事件驱动</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%BA%93/1.htm">软件库</a> <div>使用libevent构建高性能网络应用在现代网络编程中,高性能和可扩展性是开发者追求的核心目标。为了实现这一目标,许多开发者选择使用事件驱动库来管理I/O操作和事件处理。libevent是一个轻量级、高性能的事件通知库,广泛应用于网络服务器、代理、缓存等场景。本文将详细介绍libevent的核心概念、使用方法以及如何利用它构建高性能的网络应用。1.什么是libevent?libevent是一个用C</div> </li> <li><a href="/article/1903603749029474304.htm" title="软件架构设计关键点:平衡高可用、性能、扩展性及成本的系统化实践" target="_blank">软件架构设计关键点:平衡高可用、性能、扩展性及成本的系统化实践</a> <span class="text-muted">yinhezhanshen</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a> <div>在数字化转型的浪潮中,软件系统已成为企业运营的核心支撑。从电商平台的秒杀活动到金融系统的实时交易,从物联网设备的百万级连接到政务服务的全天候响应,软件架构的设计质量直接决定了系统能否在复杂环境中稳定运行。本文将从高可用性、高性能、可扩展性、安全性、成本控制、规模承载和弹性伸缩七个维度,剖析现代软件架构设计的核心要点。一、高可用性:构建业务连续性的基石‌冗余设计‌:采用主从复制、多活数据中心架构(如</div> </li> <li><a href="/article/1903601352584523776.htm" title="sql2019安装重启计算机失败,SQL SERVER 2019安装失败" target="_blank">sql2019安装重启计算机失败,SQL SERVER 2019安装失败</a> <span class="text-muted">小蛋子儿哦</span> <div>Detailedresults:Feature:全文和语义提取搜索Status:失败Reasonforfailure:该功能的某个依赖项出错,导致该功能的安装过程失败。NextStep:使用以下信息解决错误,卸载此功能,然后再次运行安装过程。Componentname:SQLServer数据库引擎服务实例功能Componenterrorcode:0x80004005Errordescription</div> </li> <li><a href="/article/1903593402423898112.htm" title="Maven插件学习(一)——生成可执行的 JAR 文件" target="_blank">Maven插件学习(一)——生成可执行的 JAR 文件</a> <span class="text-muted">螺旋小蜗</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/jar/1.htm">jar</a><a class="tag" taget="_blank" href="/search/maven%E6%8F%92%E4%BB%B6/1.htm">maven插件</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不回添加到manifest中(打开jar文件中META/MANIFEST.MF文件,将无法看到Main-Class行)maven-shade-plugin插件生成可运行的jar文件,该插件会自动将依赖包生成到jar包中。maven-assembly-plugin插件生成可运行的jar文件,需要配置属性jar-with-depend</div> </li> <li><a href="/article/1903585839238148096.htm" title="Ubuntu新服务器安装流程整理" target="_blank">Ubuntu新服务器安装流程整理</a> <span class="text-muted">Sion木子</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</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/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</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>Ubuntu新服务器安装流程整理1、修改计算机名2、设置时区与时间3、修改DNS4、更新软件包列表,升级软件包5、清理不再需要的软件包6、清理缓存7、更换内核8、设置SSH空闲超时时间9、设置SSH密码最小间隔天数10、配置GRUB引导加载程序文件权限11、处理具有SUID和SGID权限的文件以防止潜在的权限提升风险12、限制核心转储(coredumps)、禁Ping、开启TCP-SYNcooki</div> </li> <li><a href="/article/1903584956148412416.htm" title="麒麟服务器操作系统Redis部署手册" target="_blank">麒麟服务器操作系统Redis部署手册</a> <span class="text-muted">太极淘</span> <a class="tag" taget="_blank" href="/search/%E9%BA%92%E9%BA%9F%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/1.htm">麒麟操作系统管理工具</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/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>软件简介Redis****介绍REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统,是跨平台的非关系型数据库。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API。Redis通常被称为数据结构服务器,因为</div> </li> <li><a href="/article/1903584829790810112.htm" title="麒麟服务器操作系统PostgreSQL环境部署手册" target="_blank">麒麟服务器操作系统PostgreSQL环境部署手册</a> <span class="text-muted">太极淘</span> <a class="tag" taget="_blank" href="/search/%E9%BA%92%E9%BA%9F%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/1.htm">麒麟操作系统管理工具</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>软件简介PostgreSQL是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是ORDBMS的重要组成部分,它的性能优劣将直接影响到DBMS的性能。软件环境操作系统环境操作系统版本操作系统架构银河麒麟服务器操作系统V10SP系列X86-64银河麒麟服务器操作系统V10SP系列ARM</div> </li> <li><a href="/article/1903584448755068928.htm" title="原型模式 (Prototype Pattern)" target="_blank">原型模式 (Prototype Pattern)</a> <span class="text-muted">直隶码农</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8D%81%E4%B8%89%E7%A7%8D%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">二十三种设计模式</a><a class="tag" taget="_blank" href="/search/%E5%8E%9F%E5%9E%8B%E6%A8%A1%E5%BC%8F/1.htm">原型模式</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>原型模式(PrototypePattern)是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类。一、基础1意图通过复制现有对象来创建新对象,而不是通过实例化类。2适用场景当一个系统应该独立于它的产品创建、构成和表示时。当要实例化的类是在运行时指定时,例如通过动态装载。为了避免创建一个与产品类层次平行的工厂类层次时。当一个类的实例只能有几个不同状态组合中的一种时,建立相应数目的</div> </li> <li><a href="/article/1903583940015353856.htm" title="【go语言规范】 使用函数式选项 Functional Options 模式处理可选配置" target="_blank">【go语言规范】 使用函数式选项 Functional Options 模式处理可选配置</a> <span class="text-muted">还没入门的大菜狗</span> <a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>如何处理可选配置?ConfigStruct方式(config-struct/main.go)这是最简单的方式,使用一个配置结构体:定义了一个简单的Config结构体,包含Port字段创建服务器时直接传入配置对象优点:简单直接缺点:不够灵活,所有字段都必须设置值,即使只想修改其中一个Builder模式(builder/main.go)使用建造者模式:定义ConfigBuilder结构体来构建配置提供</div> </li> <li><a href="/article/1903583435612549120.htm" title="在华为鲲鹏服务器银河麒麟V10操作系统中安装docker及docker-pose" target="_blank">在华为鲲鹏服务器银河麒麟V10操作系统中安装docker及docker-pose</a> <span class="text-muted">qinfeng1991</span> <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/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/eureka/1.htm">eureka</a> <div>背景最近客户寄来几台为鲲鹏服务器,需要在上面安装docker及docker-compose以便运行我们的程序,跟常规的X86架构下安装docker和docker-compose稍微有些区别,特此记录。操作步骤0.系统版本查看[root@localhostcrcs-compile]#cat/etc/kylin-releaseKylinLinuxAdvancedServerreleaseV10(Lan</div> </li> <li><a href="/article/1903583054526476288.htm" title="异步编程与流水线架构:从理论到高并发" target="_blank">异步编程与流水线架构:从理论到高并发</a> <span class="text-muted">长安er</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E5%BF%83%E5%BE%97/1.htm">学习心得</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%80%A7%E8%83%BD%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97/1.htm">高性能并行计算</a><a class="tag" taget="_blank" href="/search/%E5%85%89%E7%94%B5/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/%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1/1.htm">数学建模</a><a class="tag" taget="_blank" href="/search/GUI/1.htm">GUI</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%81%AF/1.htm">全息</a><a class="tag" taget="_blank" href="/search/%E5%BC%82%E6%AD%A5/1.htm">异步</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E6%B0%B4%E7%BA%BF/1.htm">流水线</a> <div>目录一、异步编程核心机制解析1.1同步与异步的本质区别1.1.1控制流模型1.1.2资源利用对比1.2阻塞与非阻塞的技术实现1.2.1阻塞I/O模型1.2.2非阻塞I/O模型1.3异步编程关键技术1.3.1事件循环机制1.3.2Future/Promise模式1.3.3协程(Coroutine)1.4同步与异步的混合编程1.4.1同步转异步模式1.4.2异步转同步模式二、全息成像流水线中的异步实践</div> </li> <li><a href="/article/1903580401801162752.htm" title="nebula graph传统使用Docker进行项目发版" target="_blank">nebula graph传统使用Docker进行项目发版</a> <span class="text-muted">boy快快长大</span> <a class="tag" taget="_blank" href="/search/%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98%E5%90%88%E9%9B%86/1.htm">解决问题合集</a><a class="tag" taget="_blank" href="/search/Nebula/1.htm">Nebula</a><a class="tag" taget="_blank" href="/search/Graph%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">Graph数据库</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>nebulagraph传统使用Docker进行项目发版1.nebulagraph服务2.搭建ES集群3.注意事项3.1图数据库的启动顺序3.2模糊查询失效1.nebulagraph服务1.在测试服务器中执行如下命令dockercommit85b6e2b8xxxxxx_nebula_es:1.0.0.2执行dockerimages之后能看到新的镜像xxx_nebula_es:1.0.0.2这里将测试</div> </li> <li><a href="/article/1903579015109734400.htm" title="阿里云+华为云双活架构:头部企业的云端生存法则" target="_blank">阿里云+华为云双活架构:头部企业的云端生存法则</a> <span class="text-muted">云上的阿七</span> <a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA%E4%BA%91/1.htm">华为云</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>如何在云端构建高可用、高可靠的业务架构,依然是企业IT决策者面临的挑战。面对单一云厂商可能带来的故障风险,越来越多的头部企业开始采用“阿里云+华为云”双活架构,以提升业务连续性,实现跨云容灾,打造更稳健的云端生存法则。什么是双活架构?双活架构(Active-ActiveArchitecture)指的是企业在两个云平台(如阿里云和华为云)上同时运行核心业务,实现数据同步和业务负载均衡。一旦某一云平台</div> </li> <li><a href="/article/1903576937943592960.htm" title="OCR提取+识别方案" target="_blank">OCR提取+识别方案</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/ocr/1.htm">ocr</a> <div>1.内容提取通过YOLO提取需要识别的区域1.1安装ultralytics创建虚拟环境(可选)#创建虚拟环境python-mvenv.venv#激活虚拟环境###激活虚拟环境将更改shell的提示以显示您正在使用的虚拟环境,并修改环境,以便运行时python可以获得特定版本和安装的Python。例如:source.venv/bin/activate#显示虚拟环境中安装的所有软件包:python-m</div> </li> <li><a href="/article/1903576739435573248.htm" title="OpenAI Agents SDK 中文文档 中文教程 (7)" target="_blank">OpenAI Agents SDK 中文文档 中文教程 (7)</a> <span class="text-muted">wtsolutions</span> <a class="tag" taget="_blank" href="/search/openai/1.htm">openai</a><a class="tag" taget="_blank" href="/search/agents/1.htm">agents</a><a class="tag" taget="_blank" href="/search/sdk/1.htm">sdk</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/openai/1.htm">openai</a><a class="tag" taget="_blank" href="/search/sdk/1.htm">sdk</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87/1.htm">中文</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3/1.htm">文档</a> <div>英文文档原文详见OpenAIAgentsSDKhttps://openai.github.io/openai-agents-python/本文是OpenAI-agents-sdk-python使用翻译软件翻译后的中文文档/教程。分多个帖子发布,帖子的目录如下:(1)OpenAI代理SDK,介绍及快速入门(2)OpenAIagentssdk,agents,运行agents,结果,流,工具,交接(3)</div> </li> <li><a href="/article/1903574594451730432.htm" title="初识HTTP" target="_blank">初识HTTP</a> <span class="text-muted">思考的橙子</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><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>HTTP概念:HyperTextTransferProtocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则HTTP协议特点:1.基于TCP协议:面向连接,安全2.基于请求-响应模型的:一次请求对应一次响应3.HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。缺点:多次请求间不能共享数据。优点:速度快HTTP-请求数据格式请求数据分为3部分:1.请求行:请</div> </li> <li><a href="/article/1903569927898460160.htm" title="技术干货:如何选择最适合自己的RDMA网卡" target="_blank">技术干货:如何选择最适合自己的RDMA网卡</a> <span class="text-muted">深圳联瑞电子LRLINK</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>近些年来,RDMA网卡的技术应用在全球以太网通讯市场上刮起一股旋风,特别是阿里、腾讯、浪潮、超微、联想等一些互联网巨头企业在服务器上大量部署RDMA网卡。2019年,据官方数据报道,天猫双11当天成交额达到2684亿元,订单创新峰值达到54.4万笔/秒,单日数据处理量达到970PB,这个惊为天人的数值出现,再一次将RDMA网卡的应用推上话题的顶峰。但是很多用户表示,看着这数据很牛逼,但是RDMA网</div> </li> <li><a href="/article/103.htm" title="SAX解析xml文件" target="_blank">SAX解析xml文件</a> <span class="text-muted">小猪猪08</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>1.创建SAXParserFactory实例 2.通过SAXParserFactory对象获取SAXParser实例 3.创建一个类SAXParserHander继续DefaultHandler,并且实例化这个类 4.SAXParser实例的parse来获取文件     public static void main(String[] args) { //</div> </li> <li><a href="/article/230.htm" title="为什么mysql里的ibdata1文件不断的增长?" target="_blank">为什么mysql里的ibdata1文件不断的增长?</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%BF%90%E7%BB%B4/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%A7%86%E9%A2%91/1.htm">linux视频</a><a class="tag" taget="_blank" href="/search/linux%E8%BF%90%E7%BB%B4%E8%87%AA%E5%AD%A6/1.htm">linux运维自学</a> <div>我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题。 当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了。 一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用。而你已经启用了 innodbfileper_table,所以问题是: ibdata1存了什么? 当你启用了 i</div> </li> <li><a href="/article/357.htm" title="Quartz-quartz.properties配置" target="_blank">Quartz-quartz.properties配置</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a> <div>其实Quartz JAR文件的org.quartz包下就包含了一个quartz.properties属性配置文件并提供了默认设置。如果需要调整默认配置,可以在类路径下建立一个新的quartz.properties,它将自动被Quartz加载并覆盖默认的设置。   下面是这些默认值的解释 #-----集群的配置 org.quartz.scheduler.instanceName =</div> </li> <li><a href="/article/484.htm" title="informatica session的使用" target="_blank">informatica session的使用</a> <span class="text-muted">18289753290</span> <a class="tag" taget="_blank" href="/search/workflow/1.htm">workflow</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a><a class="tag" taget="_blank" href="/search/log/1.htm">log</a><a class="tag" taget="_blank" href="/search/Informatica/1.htm">Informatica</a> <div>如果希望workflow存储最近20次的log,在session里的Config  Object设置,log  options做配置,save  session log :sessions  run  ;savesessio log for  these runs:20 session下面的source 里面有个tracing </div> </li> <li><a href="/article/611.htm" title="Scrapy抓取网页时出现CRC check failed 0x471e6e9a != 0x7c07b839L的错误" target="_blank">Scrapy抓取网页时出现CRC check failed 0x471e6e9a != 0x7c07b839L的错误</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a> <div>Scrapy版本0.14.4 出现问题现象: ERROR: Error downloading <GET http://xxxxx  CRC check failed   解决方法   1.设置网络请求时的header中的属性'Accept-Encoding': '*;q=0'   明确表示不支持任何形式的压缩格式,避免程序的解压</div> </li> <li><a href="/article/738.htm" title="java Swing小集锦" target="_blank">java Swing小集锦</a> <span class="text-muted">永夜-极光</span> <a class="tag" taget="_blank" href="/search/java+swing/1.htm">java swing</a> <div>1.关闭窗体弹出确认对话框   1.1   this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);   1.2   this.addWindowListener ( new WindowAdapter () { public void windo</div> </li> <li><a href="/article/865.htm" title="强制删除.svn文件夹" target="_blank">强制删除.svn文件夹</a> <span class="text-muted">随便小屋</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>          在windows上,从别处复制的项目中可能带有.svn文件夹,手动删除太麻烦,并且每个文件夹下都有。所以写了个程序进行删除。因为.svn文件夹在windows上是只读的,所以用File中的delete()和deleteOnExist()方法都不能将其删除,所以只能采用windows命令方式进行删除</div> </li> <li><a href="/article/992.htm" title="GET和POST有什么区别?及为什么网上的多数答案都是错的。" target="_blank">GET和POST有什么区别?及为什么网上的多数答案都是错的。</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/get+post/1.htm">get post</a> <div>     如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历      前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。     这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把G</div> </li> <li><a href="/article/1119.htm" title="谈谈新浪微博背后的那些算法" target="_blank">谈谈新浪微博背后的那些算法</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E8%B0%88%E8%B0%88%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A%E8%83%8C%E5%90%8E%E7%9A%84%E9%82%A3%E4%BA%9B%E7%AE%97%E6%B3%95/1.htm">谈谈新浪微博背后的那些算法</a> <div>本文对微博中常见的问题的对应算法进行了简单的介绍,在实际应用中的算法比介绍的要复杂的多。当然,本文覆盖的主题并不全,比如好友推荐、热点跟踪等就没有涉及到。但古人云“窥一斑而见全豹”,希望本文的介绍能帮助大家更好的理解微博这样的社交网络应用。 微博是一个很多人都在用的社交应用。天天刷微博的人每天都会进行着这样几个操作:原创、转发、回复、阅读、关注、@等。其中,前四个是针对短博文,最后的关注和@则针</div> </li> <li><a href="/article/1246.htm" title="Connection reset 连接被重置的解决方法" target="_blank">Connection reset 连接被重置的解决方法</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E6%B5%81/1.htm">字符流</a><a class="tag" taget="_blank" href="/search/%E8%BF%9E%E6%8E%A5%E8%A2%AB%E9%87%8D%E7%BD%AE/1.htm">连接被重置</a> <div>流是java的核心部分,,昨天在做android服务器连接服务器的时候出了问题,就将代码放到java中执行,结果还是一样连接被重置   被重置的代码如下;   客户端代码; package 通信软件服务器; import java.io.BufferedWriter; import java.io.OutputStream; import java.io.O</div> </li> <li><a href="/article/1373.htm" title="web.xml配置详解之filter" target="_blank">web.xml配置详解之filter</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/filter/1.htm">filter</a> <div>一.定义 <filter> <filter-name>encodingfilter</filter-name> <filter-class>com.my.app.EncodingFilter</filter-class> <init-param> <param-name>encoding<</div> </li> <li><a href="/article/1500.htm" title="Heritrix" target="_blank">Heritrix</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%88%B6%E9%80%A0/1.htm">制造</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a> <div>作为纯Java语言开发的、功能强大的网络爬虫Heritrix,其功能极其强大,且扩展性良好,深受热爱搜索技术的盆友们的喜爱,但它配置较为复杂,且源码不好理解,最近又使劲看了下,结合自己的学习和理解,跟大家分享Heritrix的点点滴滴。 Heritrix的下载(http://sourceforge.net/projects/archive-crawler/)安装、配置,就不罗嗦了,可以自己找找资</div> </li> <li><a href="/article/1627.htm" title="【Zookeeper】FAQ" target="_blank">【Zookeeper】FAQ</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>1.脱离IDE,运行简单的Java客户端程序 #ZkClient是简单的Zookeeper~$ java -cp "./:zookeeper-3.4.6.jar:./lib/*" ZKClient    1. Zookeeper是的Watcher回调是同步操作,需要添加异步处理的代码 2. 如果Zookeeper集群跨越多个机房,那么Leader/</div> </li> <li><a href="/article/1754.htm" title="The user specified as a definer ('aaa'@'localhost') does not exist" target="_blank">The user specified as a definer ('aaa'@'localhost') does not exist</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/localhost/1.htm">localhost</a> <div>今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist 最后找原因发现删除操作做了触发器,而触发器里面有这样一句 /*!50017 DEFINER = ''aaa@'localhost' */  原来最初</div> </li> <li><a href="/article/1881.htm" title="javascript中showModelDialog刷新父页面" target="_blank">javascript中showModelDialog刷新父页面</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E5%88%B7%E6%96%B0%E7%88%B6%E9%A1%B5%E9%9D%A2/1.htm">刷新父页面</a><a class="tag" taget="_blank" href="/search/showModalDialog/1.htm">showModalDialog</a> <div>在页面中使用showModalDialog打开模式子页面窗口的时候,如果想在子页面中操作父页面中的某个节点,可以通过如下的进行:       window.showModalDialog('url',self,‘status...’); // 首先中间参数使用self       在子页面使用w</div> </li> <li><a href="/article/2008.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> import java.util.Arrays; public class BookDiscount { /**编程之美 买书折扣 书上的贪心算法的分析很有意思,我看了半天看不懂,结果作者说,贪心算法在这个问题上是不适用的。。 下面用动态规划实现。 哈利波特这本书一共有五卷,每卷都是8欧元,如果读者一次购买不同的两卷可扣除5%的折扣,三卷10%,四卷20%,五卷</div> </li> <li><a href="/article/2135.htm" title="关于struts2.3.4项目跨站执行脚本以及远程执行漏洞修复概要" target="_blank">关于struts2.3.4项目跨站执行脚本以及远程执行漏洞修复概要</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/WEB%E5%AE%89%E5%85%A8/1.htm">WEB安全</a> <div>因为近期负责的几个银行系统软件,需要交付客户,因此客户专门请了安全公司对系统进行了安全评测,结果发现了诸如跨站执行脚本,远程执行漏洞以及弱口令等问题。 下面记录下本次解决的过程以便后续 1、首先从最简单的开始处理,服务器的弱口令问题,首先根据安全工具提供的测试描述中发现应用服务器中存在一个匿名用户,默认是不需要密码的,经过分析发现服务器使用了FTP协议, 而使用ftp协议默认会产生一个匿名用</div> </li> <li><a href="/article/2262.htm" title="[电力与暖气]煤炭燃烧与电力加温" target="_blank">[电力与暖气]煤炭燃烧与电力加温</a> <span class="text-muted">comsci</span> <div>       在宇宙中,用贝塔射线观测地球某个部分,看上去,好像一个个马蜂窝,又像珊瑚礁一样,原来是某个国家的采煤区.....       不过,这个采煤区的煤炭看来是要用完了.....那么依赖将起燃烧并取暖的城市,在极度严寒的季节中...该怎么办呢?   &nbs</div> </li> <li><a href="/article/2389.htm" title="oracle O7_DICTIONARY_ACCESSIBILITY参数" target="_blank">oracle O7_DICTIONARY_ACCESSIBILITY参数</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL</div> </li> <li><a href="/article/2516.htm" title="比较全面的MySQL优化参考" target="_blank">比较全面的MySQL优化参考</a> <span class="text-muted">dengkane</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,可以参考本站的一些优化案例或者联系我,下方有我的联系方式。这是上篇。   1、硬件层相关优化   1.1、CPU相关   在服务器的BIOS设置中,可</div> </li> <li><a href="/article/2643.htm" title="C语言homework2,有一个逆序打印数字的小算法" target="_blank">C语言homework2,有一个逆序打印数字的小算法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>#h1#   0、完成课堂例子 1、将一个四位数逆序打印 1234 ==> 4321 实现方法一: # include <stdio.h> int main(void) { int i = 1234; int one = i%10; int two = i / 10 % 10; int three = i / 100 % 10; </div> </li> <li><a href="/article/2770.htm" title="apacheBench对网站进行压力测试" target="_blank">apacheBench对网站进行压力测试</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/apachebench/1.htm">apachebench</a> <div>   ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下。 通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用。 </div> </li> <li><a href="/article/2897.htm" title="2种办法让HashMap线程安全" target="_blank">2种办法让HashMap线程安全</a> <span class="text-muted">flyfoxs</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/jni/1.htm">jni</a> <div>多线程之--2种办法让HashMap线程安全 多线程之--synchronized 和reentrantlock的优缺点 多线程之--2种JAVA乐观锁的比较( NonfairSync VS. FairSync)     HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的提供了2种方法让HashMap支持线程安全.   </div> </li> <li><a href="/article/3024.htm" title="Spring Security(04)——认证简介" target="_blank">Spring Security(04)——认证简介</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a><a class="tag" taget="_blank" href="/search/%E8%AE%A4%E8%AF%81/1.htm">认证</a><a class="tag" taget="_blank" href="/search/%E8%BF%87%E7%A8%8B/1.htm">过程</a> <div>认证简介 目录 1.1     认证过程 1.2     Web应用的认证过程 1.2.1    ExceptionTranslationFilter 1.2.2    在request之间共享SecurityContext   1</div> </li> <li><a href="/article/3151.htm" title="Java 位运算" target="_blank">Java 位运算</a> <span class="text-muted">Javahuhui</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a> <div>// 左移( << ) 低位补0 // 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0: // 0000 0000 0000 0000 0000 0000 0001 1000 System.out.println(6 << 2);// 运行结果是24 // 右移( >> ) 高位补"</div> </li> <li><a href="/article/3278.htm" title="mysql免安装版配置" target="_blank">mysql免安装版配置</a> <span class="text-muted">ldzyz007</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>1、my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。 2、my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。 3、my-large.ini是为专用于一个SQL数据</div> </li> <li><a href="/article/3405.htm" title="MFC和ado数据库使用时遇到的问题" target="_blank">MFC和ado数据库使用时遇到的问题</a> <span class="text-muted">你不认识的休道人</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/mfc/1.htm">mfc</a> <div>=================================================================== 第一个 =================================================================== try{ CString sql; sql.Format("select * from p</div> </li> <li><a href="/article/3532.htm" title="表单重复提交Double Submits" target="_blank">表单重复提交Double Submits</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/double/1.htm">double</a> <div>可能发生的场景: *多次点击提交按钮 *刷新页面 *点击浏览器回退按钮 *直接访问收藏夹中的地址 *重复发送HTTP请求(Ajax) (1)点击按钮后disable该按钮一会儿,这样能避免急躁的用户频繁点击按钮。 这种方法确实有些粗暴,友好一点的可以把按钮的文字变一下做个提示,比如Bootstrap的做法: http://getbootstrap.co</div> </li> <li><a href="/article/3659.htm" title="Java String 十大常见问题" target="_blank">Java String 十大常见问题</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a> <div> 1.字符串比较,使用“==”还是equals()?   "=="判断两个引用的是不是同一个内存地址(同一个物理对象)。   equals()判断两个字符串的值是否相等。   除非你想判断两个string引用是否同一个对象,否则应该总是使用equals()方法。   如果你了解字符串的驻留(String Interning)则会更好地理解这个问题。    </div> </li> <li><a href="/article/3786.htm" title="SpringMVC 登陆拦截器实现登陆控制" target="_blank">SpringMVC 登陆拦截器实现登陆控制</a> <span class="text-muted">xp9802</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>思路,先登陆后,将登陆信息存储在session中,然后通过拦截器,对系统中的页面和资源进行访问拦截,同时对于登陆本身相关的页面和资源不拦截。   实现方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 </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>