隨筆分類 - Tomcat&Servlet
摘要:前言 這兩年,tomcat慢慢在新項目里不怎么接觸了,因為都被spring boot之類的框架封裝進了內部,成了內置server,不用像過去那樣打個war包,再放到tomcat里部署了。 但是,內部的機制我們還是有必要了解的,尤其是線程模型和classloader,這篇我們會聚焦線程模型。 其實我本
閱讀全文
摘要:一、前言 一共8個類,擼一個IOC容器。當然,我們是很輕量級的,但能夠滿足基本需求。想想典型的 Spring 項目,是不是就是各種Service/DAO/Controller,大家互相注入,就組裝成了我們的業務bean,然后再加上 Spring MVC,再往容器里一放,基本齊活。 我們這篇文章,就是
閱讀全文
摘要:一、前言 我寫博客主要靠自己實戰,理論知識不是很強,要全面介紹Tomcat Digester,還是需要一定的理論功底。翻閱了一些介紹 Digester 的書籍、博客,發現不是很系統,最后發現還是官方文檔最全面。這里我就把其全文翻譯一遍吧,部分不好懂的地方會做些補充。 前面寫了兩篇 ,一篇是 sax
閱讀全文
摘要:一、前言 框架代碼其實也沒那么難,大家不要看著源碼就害怕,現在去看 Tomcat 3.0的代碼,保證還是看得懂一半,照著擼一遍基本上很多問題都能搞定了。這次我們就模擬 Tomcat 中的 Digester(xml解析工具)來仿寫一個相當簡易的版本。上一篇說了如何利用 sax 模型來解析 xml,但是
閱讀全文
摘要:一、前言 第一次被人喊曹工,我相當詫異,那是有點久的事情了,樓主13年校招進華為,14年在東莞出差,給東莞移動的通信設備進行版本更新。他們那邊的一個小伙子來接我的時候,這么叫我的,剛聽到的時候,心里一緊,樓主本來進去沒多久,業務也不怎么熟練,感覺都是新聞聯播里才聽到什么“陳工”,“李工”之類的叫法,
閱讀全文
摘要:一篇大神的譯文,勉強(嗯。。相當勉強)地放在類加載器系列吧,第8彈: 實戰分析Tomcat的類加載器結構(使用Eclipse MAT驗證) 還是Tomcat,關于類加載器的趣味實驗 了不得,我可能發現了Jar 包沖突的秘密 重寫類加載器,實現簡單的熱替換 @Java Web 程序員,我們一起給程序開
閱讀全文
摘要:類加載器第7彈: 實戰分析Tomcat的類加載器結構(使用Eclipse MAT驗證) 還是Tomcat,關于類加載器的趣味實驗 了不得,我可能發現了Jar 包沖突的秘密 重寫類加載器,實現簡單的熱替換 @Java Web 程序員,我們一起給程序開個后門吧:讓你在保留現場,服務不重啟的情況下,執行我
閱讀全文
摘要:一、前言 類加載器實戰系列的第六篇(悄悄跟你說,這篇比較水),前面5篇在這里: 實戰分析Tomcat的類加載器結構(使用Eclipse MAT驗證) 還是Tomcat,關于類加載器的趣味實驗 了不得,我可能發現了Jar 包沖突的秘密 重寫類加載器,實現簡單的熱替換 @Java Web 程序員,我們一
閱讀全文
摘要:一、前言 這篇算是類加載器的實戰第五篇,前面幾篇在這里,后續會持續寫這方面的一些東西。 實戰分析Tomcat的類加載器結構(使用Eclipse MAT驗證) 還是Tomcat,關于類加載器的趣味實驗 了不得,我可能發現了Jar 包沖突的秘密 重寫類加載器,實現簡單的熱替換 重寫類加載器,實現簡單的熱
閱讀全文
摘要:一、前言 關于類加載器,前面寫了三篇,這篇是第四篇。 實戰分析Tomcat的類加載器結構(使用Eclipse MAT驗證) 還是Tomcat,關于類加載器的趣味實驗 了不得,我可能發現了Jar 包沖突的秘密 本篇寫個簡單的例子,來說說類的熱替換。 先說個原則,在同一個類加載器內,不能重復加載同一個類
閱讀全文
摘要:一、前言 這篇是類加載器相關的第三篇: 實戰分析Tomcat的類加載器結構(使用Eclipse MAT驗證) 還是Tomcat,關于類加載器的趣味實驗 昨天下午剛寫了篇 類加載器相關的,晚上想著驗證個問題:Tomcat 跑了多個spring web項目,那么org.springframework.w
閱讀全文
摘要:一、前言 類加載器,其實是很復雜一個東西,想等到我完全什么都弄明白了再寫出來,估計不太現實。。。現在只能是知道多少寫多少吧。 首先,我提一個問題:在我們自己的servlet中(比如ssm中,controller的代碼),可以訪問 tomcat 安裝目錄下 lib 中的類嗎?(servlet-api.
閱讀全文
摘要:一、前言 這兩天看tomcat,查閱 tomcat 怎么承載高并發時,看到了backlog參數。我們知道,服務器端一般使用mq來減輕高并發下的洪峰沖擊,將暫時不能處理的請求放入隊列,后續再慢慢處理。其實操作系統已經幫我們做了一些類似的東西了,這個東西就是backlog。服務端一般通過 accept
閱讀全文
摘要:一、前言 在各種Tomcat相關書籍,書上都提到了其類加載器結構: 在Tomcat 7或者8中,共享類和Catalina類加載器在catalina.properties中都是沒配置的,請看: 所以,catalina和shared是直接把common的類加載器賦值給了它們,這三者其實都是同一個類加載器
閱讀全文
摘要:一、問題描述 最近一直忙得很,好久沒寫博客。前兩天,微信收到個好友申請,說是想問問close_wait的事情。 找他問了些詳細信息,大概了解到,他們后端服務是tomcat 7, jdk 7,centos,傳統的spring + hibernate + spring mvc 結構。 業務不清楚,客戶端
閱讀全文
摘要:一、前言 我這邊已經配置了tomcat-users.xml: 但是訪問時,依然報403. 處理方式如下: https://blog.csdn.net/chf1142152101/article/details/62042769
閱讀全文
摘要:一、問題由來 我們組用jenkins部署了持續集成環境,(jenkins部署war包到遠程服務器的tomcat)。 每次提交了代碼,jenkins上一鍵構建,就可以自動拉取最新代碼,打war包,熱部署到遠程環境上的tomcat。 一切都很好,只是一次用jconsole偶然連上去一看,遠程環境上的to
閱讀全文
摘要:姊妹篇: 服務器出現大量close_wait,我們來說說到底是怎么回事?(以tomcat為例) 一、問題概述 今天遇到個小問題。 我們的程序依賴了大數據那邊的服務,大數據那邊提供了restful接口供我們調用。 測試反映接口有問題,我在本地重現了。 我這邊感覺抓包可能對分析問題有用,就用wiresh
閱讀全文
摘要:問題: 我們為了避免未經授權的人直接通過url訪問我們的頁面,配置了如下filter 在filter中會去驗證用戶是否攜帶了某個cookie,然后去redis查詢該cookie的值是否關聯了用戶信息,如果關聯了,則filter放過;否則返回未認證。 一開始打算注入以下服務(該服務主要進行去redis
閱讀全文

浙公網安備 33010602011771號