自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

终日思 < 须臾学

路漫漫其修远兮 吾将上下而求索

翻译 How tomcat works——引言

排版更好的百度电子书:https://yuedu.baidu.com/ebook/ac92f0d35122aaea998fcc22bcd126fff7055d60概述欢迎阅读《How Tomcat Works》。这本书详细的剖析了Tomcat 4.1和5.0工作原理,并讲解了其代号为“Catali...

2017-01-04 10:28:12 2002 1

原创 IDEA的Live Templates代码模板

IDEA的Live Templates代码模板 一、简介 本着“复杂的事情简单化,简单的事情标准化”的做事基本指导原则,我们发现日常编码中,有大量的代码可以提炼出模板进而简单化/自动化。 1.可以大大提高编码效率; 2.统一了通用代码风格; 如果我们想做流程或者自动化,没有一个统一标准的话,...

2019-01-25 15:38:56 808 1

原创 Maven项目脚手架

一、背景&amp;amp;amp;目标 当前新建项目时,配置文件往往都是从其它项目拷贝过来,拷贝时很容易踩坑,并且不容易定位问题。尤其对新人来说由于在对公司项目结构、基础中间件、配置还不了解的情况下,会浪费很多不必要的时间。故,希望通过脚手架解决此痛点,达到如下几个基本目标: 1.统一规...

2019-01-23 10:55:16 1780 2

原创 Maven中BOM

一、BOM简介 BOM(Bill of Materials)是由Maven提供的功能,它通过定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号。BOM的维护方负责版本升级,并保证BOM中定义的jar包版本之间的兼容性。 1.1...

2019-01-22 14:31:46 6467 0

原创 演示springboot + mybatis或springjdbc集成CAT全链路监控

演示springboot + mybatis或springjdbc集成CAT全链路监控 一、主要资料参考 服务端部署:https://github.com/dianping/cat/blob/master/cat-doc/posts/ch4-server/README.md 总文档:https:...

2019-01-21 14:02:36 1883 0

原创 Java中Callable和Future——简介

一、Java线程实现基础java中实现一个线程的方法是继承(extends)Thread类或者实现(implements)Runnable接口(我个人认为通过线程池启线程也算是)。继承Thread类:class A extends Thread{ @Override ...

2017-07-20 15:24:22 677 0

原创 Java中Callable和Future——引子

一、场景通常我们在一个事件方法中会去调用另外几个方法,如发用邮件,为了快速响应,一般最简单直接粗暴的是 新启一线程来异步发邮件(使用线程池较好)。这个时候我们不太在意所依赖的方法操作成功与否(即不需要结果)。但,多半我们是需要异步操作结果的。比如在Action层调用多个Service或在Serv...

2017-07-17 16:55:00 500 0

原创 Markdown编辑器editor.md的使用

一、Markdown和editor.md简介:Markdown在技术圈里(估计更多是程序猿吧)越来越流行。简单的语法,统一的格式,使用过程中,手基本上不用从键盘上移到鼠标上去,超级方便。写好了一篇md文档(也就是含Markdown语法格式的普通TXT文件),可以随意放到别的支持Markdown格式...

2017-06-24 17:24:19 32702 15

原创 How tomcat works——序言

在路上2006年的暑假,抱着早点接触社会的心态,从合肥坐24小时绿皮车跑到广州打暑假工。当时感触到:学电气自动化的似乎天天要和那些油乎乎的机械打交道;哪一天如果自己想干点什么,初期投入买个设备都要很多钱。 广州回来后,一天下午我在家里菜园马路边的草丛中捡了一部摩托罗拉手机。手机里面的游戏启动屏是...

2017-06-15 18:19:38 492 0

原创 Smart-api开源api接口管理平台

** 17Smart,一起SMART **一、平台简介1.1、概述Smart-api是一个极简API管理平台,提供API的”发布&管理”、”数据字典”、”即时沟通”、”文档”、”Mock”和”测试”等功能。借助此系统,可以避免更多的重复劳动,提高沟通效率、减少API维护成本,且使API...

2017-06-10 19:42:03 9107 5

原创 使用HttpClient和Jsoup定向抓取数据

1.业务需求:从指定外网抓点货,冷启动2.站点分析:.限制IP… .需要登录…… .对登录账号有抓取频率限制………. .抓取频率过低,直接跳验证码页面………….. .验证码长度、模样(纯数字&字母数字混合)TM不固定………………..“我们能不能不抓了?“ “不行!必须得抓…” ...

2017-06-07 21:26:11 1780 1

原创 那些年——8 286&586[同步&异步]

所以,后来整理了:http://blog.csdn.net/LoveJavaYDJ/article/details/4645439阿军 说 (9:57):老大:还是说说,同步、异步 吧阿军 说 (9:57):举个例子:普通B/S模式(同步)AJAX技术(异步) 同步:提交请求->等待服务器...

2017-06-05 19:32:18 587 0

原创 那些年——7 286&586

易德军 说 (10:45): 谈2个问题 寒林 说 (10:45): 怎么了? 易德军 说 (10:46): 那 我就可以 用你的账号和密码 登录系统 看你的东西了?! 寒林 说 (10:47): 对的 寒林 说 (10:47): 这是毫无疑问的事情 寒林 说 (10:47):...

2017-06-01 20:54:00 674 0

原创 那些年——6 286&586

易德军 说 (14:06): 老大:如何准确的获取客户端IP? request.getRemoteAddr()这个方法,如果别人使用代理服务器,就不准确了 寒林 说 (14:06): 恩 寒林 说 (14:06): 是的 寒林 说 (14:07): 如...

2017-05-31 20:52:48 503 0

原创 那些年——5 杜拉拉升职记

事实证明: 1.机会总是给有准备的人 2.实践出真知 3.独行侠时代已过去,受益于开源,理应更多分享

2017-05-29 11:34:44 427 0

原创 那些年——4 编码感受

编码感受 —2009-3-16 A.山重水复疑无路 B.柳暗花明又一村 这种感觉总在coding中循环.. 这种感觉就像内存指针 目前指针指向->A 有了www 总会指向->B 有追求,又总会指向->A.. ...

2017-05-27 18:24:52 421 0

原创 诡异的异常Cannot retry request with a non-repeatable request entity

越急越乱 越想早走,越让你走不了 场景: 昨晚,使用solrj全量同步更新索引数据……生产环境 肚子饿……家里冰箱中还有半个西瓜…异常信息如下:org.apache.solr.client.solrj.SolrServerException: IOException occured when...

2017-05-26 10:02:42 4730 0

原创 那些年——3 纯技术只是你手中的剑--而别人遥控着

电脑 胯下的骏马 技术 手里的宝剑 思想 驾驭骏马和宝剑的主人曾唉叹身不逢时、身不由己 如果在古代,也许自己是个劫富救贫、扬善除恶的侠客; 如果在近代,也许自己是个运筹帷幄、决胜千里的副将;(不适合做将军)曾自我安慰、自我激励 如今知识时代,你没有成为学者; 如今商业时代,你没成为经纪...

2017-05-23 20:27:52 421 0

原创 那些年——2 心声共鸣

刚刚看过CCTV-10一篇关于徽商 胡雪岩 生活启示 这么一个节目 主讲是台湾师范大学一教授,他说:我很庆幸是中国人,因为我们先辈们都把生活中经验教训总结为成语! 呵呵,我想这句话是说到我的心里来了!(为什么?以后慢慢写,现在没有时间) 胡雪岩说:一个人(人...

2017-05-20 16:43:21 435 0

翻译 How tomcat works——20 基于JMX的管理

概述第 19 章讨论了 Manger 应用程序,演示了如何使用实现了 ContainerServlet 接口的ManagerServlet 类来访问 Catalina 的内部对象。本章演示了如何使用JMX技术进而更方便、老练地管理 Tomcat。对于不熟悉 JMX 的读者,本章开头先进行了简单的J...

2017-05-06 19:05:22 1074 0

原创 MySQL中删除重复数据只保留一条

使用SQL删除表中重复数据(单字段) You can't specify target table 'message' for update in FROM clause

2017-04-24 20:33:06 3679 1

翻译 How tomcat works——19 管理Servlet

概述Tomcat4/5有一个 Manager 应用程序用于管理部署的应用程序。跟其它应用程序不同,Manager 并不在%CATALINA_HOME%/webapps 目录下而是在%CATALINA_HOME%/server/webapps 下。Manager 有一描述文件 manager.xml...

2017-04-16 18:57:43 909 0

翻译 How tomcat works——18 部署

概述要使得一个 web 应用可以访问,则应用上下文(Context)必须先部署在主机(Host)上。在 Tomcat 中,一个应用上下文可以以 WAR 文件的形式部署,也可以直接将整个应用程序部署在Tomcat 安装目录的 wabapp 目录下面。部署的每个应用,都可以有一个配置描述文件用来配置该...

2017-04-01 21:24:08 942 0

翻译 How tomcat works——17 启动Tomcat

概述本章关注的重点是如何使用 org.apache.catalina.startup下面的Catalina和 Bootstrap 类来启动Tomcat。Catalina类用于解析Tomcat配置文件server.xml以及启动和停止Server。Bootstrap 类创建一Catalina实例并调...

2017-03-29 21:08:07 809 0

原创 《技术管理之巅》书摘笔记

技术团队定位: 技术引领 业务驱动 相互支撑(*)技术团队发展阶段: 1.初创期(首要任务打造产品或原型、技术人才储备、制定中长期技术发展规划) 2.发展期(伴随业务发展,技术团队工作重心是加快产品更新和升级,支持公司业务发展,同时制定技术服务体系...

2017-03-19 20:44:10 550 0

翻译 How tomcat works——16 关闭钩子

概述在很多环境下,当用户在关闭应用程序时我们需要做一些清理工作。问题在于,用户并不是经常的按照预推荐流程来退出。例如,在 Tomcat 部署中通过初始化一个服务器(Server)并调用它的 start()方法来启动一个 servlet 容器,该方法又调用其它组件的start()方法。正常情况下,可...

2017-03-15 21:48:07 1110 0

翻译 How tomcat works——15 Digester

概述在前面章节中已经看到,使用 Bootstrap 类来初始化连接器、上下文、包装器以及其它组件。获得了它们的对象后,就可以使用 setXX()方法来关联它们。例如可以如下初始化连接器和上下文:Connector connector = new HttpConnector(); Context c...

2017-03-14 20:24:08 930 0

翻译 How tomcat works——14 Server和 Service

概述在前面的章节中已经看到了如何初始化连接器和容器并将它们关联起来作为Servlet 容器。前面只有一个连接器,通过端口 8080 对 HTTP 请求进行服务。我们不能添加另一个连接器来处理例如 HTTPS 的请求。另外,前面所有的配套Demo程序都缺乏一件事:很好地启动和停止 Servlet 容...

2017-03-10 21:45:36 538 0

翻译 How tomcat works——13 Host 和 Engine

概述本章要讨论的2个主题是主机(host)和引擎(Engine)。如果需要在一个 Tomcat部署中部署多个上下文,需要使用一个主机。理论上,当只有一个上下文容器时不需要主机,正如下面 org.apache.catalina.Context 接口中描述:“上下文容器的父容器通常是主机,但是可能有一...

2017-03-08 20:49:59 874 0

翻译 How tomcat works——12 StandardContext

概述如前面章节看到,一个上下文容器(Context)代表着一个 web 应用,每一个上下文包括一个或多个包装器(Wrapper),每个包装器代表一个 Servlet。然而,上下文还需要其它的一些组件,如加载器和管理器。本章介绍 Catalina 中Context 接口的标准实现类org.apach...

2017-03-07 21:04:20 611 0

翻译 How tomcat works——11 StandardWrapper

概述我们在第5章中已经学到,一共有4种容器:engine(引擎)、host(主机)、context(上下文)和 wrapper(包装器)。并且在前面的章节里也介绍了如何建立自己的context 和 wrapper。一个上下文一般包括一个或者多个包装器,每一个包装器代表一个 servlet。本章将介...

2017-02-28 20:46:54 864 0

翻译 How tomcat works——10 安全性

概述一些web 应用内容是受限的,只有在有特定权限的用户输入正确的用户名和密码后才能访问。Servlet 通过配置部署文件 web.xml 来对安全性提供技术支持。本章将介绍 container 如何支持安全性控制。servlet 容器通过一个称为 authenticator 的阀门(valve)...

2017-02-24 20:25:30 851 0

翻译 How tomcat works——9 session管理

概述Catalina通过名为manager的组件来完成session管理,该组件由org.apache.catalina.Manager接口表示。 一个manager总是与context相关联。 其中,manager负责创建,更新和销毁(无效)session对象以及可返回有效的session对象给...

2017-02-11 21:31:12 697 0

翻译 How tomcat works——8 类加载器(Loader)

概述我们在前面的章节中已经实现了一个简单的加载器,用它来加载 servlet 类。本章会介绍标准的web应用加载器,简单地说就是加载器,在Catalina中。servlet容器需要定制加载器,而不能简单地使用系统的类加载器,因为系统类加载器不应该信任正在运行的servlet。如果像前面章节中那样使...

2017-01-25 16:17:25 754 0

翻译 How tomcat works——7 日志记录器

概述日志系统是一个记录信息的组件。在 Catalina 中,日志系统是一个跟容器相关联且相对简单的组件。Tomcat 在 org.apache.catalina.logger 包中提供了多个不同的日志系统。本章的应用程序在 ex07.pyrmont 包中。SimpleContext 和Bootst...

2017-01-18 17:52:01 444 0

翻译 How tomcat works——6 生命周期

概述Catalina 由多个组件组成,当 Catalina 启动时,这些组件也需要很好地启动。当Catalina 停止时,这些组件也必须有机会被清除。例如,当一个容器停止工作时,它必须调用所有已加载 servlet 的 destroy()方法,而 session 管理器要把session保存到二级...

2017-01-17 16:26:31 402 0

翻译 How tomcat works——5 容器

容器(container)是一用来处理 servlet 请求并填充返回对象给 web客户端的模块。接口org.apache.catalina.Container定义了容器的形式,有4种容器:引擎(Engine), 主机(Host), 上下文(Context), 和包装器(Wrapper)。本章将会...

2017-01-15 21:07:46 945 0

翻译 How tomcat works——4 Tomcat中默认连接器

概述第 3 章的连接器运行良好,且已获得较好性能。但是,它只是作为一教学工具,被设计用来介绍 Tomcat4 的默认连接器。理解第 3 章中的连接器对于理解 Tomcat4 的默认连接器是至关重要的。现在,我们在第 4 章中将通过剖析 Tomcat4 默认连接器的代码,讨论、创建一个真实的 Tom...

2017-01-12 19:28:36 1192 0

翻译 How tomcat works——3 连接器

概述在前言简介中提到,Catalina中含有两个主要模块:连接器(connector)和容器(container)。本章中我们将会写一个可以创建更好的request和response对象的连接器,用来改进第 2 章中的应用Demo。一个符合 Servlet 2.3 和 2.4规范的连接器必须创建 ...

2017-01-08 18:42:15 1299 0

原创 一路向西——忆记2015

一路向西, 转山转水转佛塔, 谈天谈地谈信仰; 开心,放空! 一路向东, 转车转机转地铁, 思己思家思人生; 蛋疼,茫乱! 浪奔,浪流,江水,永不休; 泪奔,泪流,高原红,何时消? 白玉兰,格桑花; 米饭,面条; 都一...

2017-01-07 17:35:03 890 0

提示
确定要删除当前文章?
取消 删除