java 調用tomcat api,調用servlet接口流程

使用Servlet接口的整體流程

目前對JavaWeb的理解是:用一次提交過程來表示,當點擊一個提交的標簽。會將url傳到tomcat服務器,在tomcat的配置文件中找到管理javaweb項目的配置文件server.xml,在server.xml中配置管理web項目的路徑。從當前web項目的路徑中找到web.xml文件(web.xml文件是配置servlet的內容,把網絡請求和響應的信息都是放在servlet中的service方法里處理)。在servlet中創建ServletRequest對象和ServletResponse對象,并調用service方法,在service方法中對瀏覽器做出響應操作。

Servlet的請求流程:

** 2:解析請求信息:**

http:協議

localhost:找互聯網上的哪一臺主機.

80: 從主機中找到對應80端口的程序--->Tomcat服務器.

/day11: 當期項目的上下文路徑

/hello: 當期請求的資源名

3:找到Tomcat根/config/server.xml文件.

解析server.xml文件:

判斷獲取哪一個元素的path屬性為day11.

若找不到:404錯誤.

若 找到:解析該元素,得到docBase屬性,獲取當期訪問Web項目的根的絕對路徑:

H:\javaPros\Servlet\webapp

4:從H:\javaPros\Servlet\webapp下的WEB-INF下找到web.xml文件.

判斷web.xml中是否有的文本內容為/hello.

若找不到:404錯誤.

若 找到:繼而可以獲取該資源對應Servlet類的全限定名稱:com._520it._01_hello.HelloServlet.

5:判斷Servlet實例緩存池中是否有

com._520it._01_hello.HelloServlet的對象.

Map cache = ......(Tomcat提供的);

key:存Servlet類的全限定名稱

value:該Servlet類的對象.

Servlet obj = cache.get("com._520it._01_hello.HelloServlet");

if(obj==null){

//Servlet實例緩存中沒有該類的對象,第一次.

GOTO 6:

}else{

//有對象,非第一次.

GOTO 8:

}

6:使用反射調用構造器,創建對象.

obj = Class.forName("com._520it._01_hello.HelloServlet").newInstance();

把當前創建的Servlet對象,存放在緩存之中,供下次使用.

cache.put("com._520it._01_hello.HelloServlet",obj);

7:創建ServletConfig對象,并調用init方法.

obj.init(config);

8:創建ServletRequest對象和ServletResponse對象,并調用service方法.

obj.service(req,resp);

9:在service方法中對瀏覽器做出響應操作.

b89c5311a99f

servlet請求流程.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532292.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pve萬兆網卡驅動_無線環境下打游戲,還能不能更穩?附各類AX網卡換裝思路

無線環境下打游戲,還能不能更穩?附各類AX網卡換裝思路 1.寫在前面 去年這個時候我還是建議大家持觀望狀態,然后從今年上半年開始新發布的手機就已經把Wi-Fi 6作為標配了。第三季度開始新發的筆記本和主板也已經全面轉向標配ax網卡&#x…

php縮放庫,php的縮放圖像類使用

標題: php的縮放圖像類使用作者:李英江日期: 2006-11-25 14:54:05轉載請保留作者內容: http://www.cgsir.com使用縮略圖有個好處就是可以減少用戶下載的時間,為此要在上傳圖片時生成一張比原圖小的圖片,一般的PHP空間都…

網頁設計工資一般多少_理發師工資一般多少錢一個月

現在社會物價上漲,就連理發的價格也上漲了,但是雖然價格上漲了,質量卻未必保證了。理發師在現在生活中可是少不了的,尤其是對女性朋友來說,發型設計可是至關重要的,因此雖然理發的價格上漲,但是…

php百度坐標轉騰訊坐標,PHP騰訊與百度坐標轉換

public function coordinate_switch($a,$b){//百度轉騰訊坐標轉換$x (double)$b - 0.0065;$y (double)$a - 0.006;$x_pi 3.14159265358979324;$z sqrt($x * $x$y * $y) - 0.00002 * sin($y * $x_pi);$theta atan2($y,$x) - 0.000003 * cos($x*$x_pi);$gb number_format($…

五筆字型鍵盤字根圖_手機輸入法的派別之爭:九宮格和全鍵盤,哪個更科學?...

本 文 約 3376 字閱 讀 需 要10 min有人的地方,就有江湖。而在手機輸入法的江湖里,也分為兩個派別。一個是九宮格輸入法,另一個則是全鍵盤輸入法。該問題的敏感程度,完全不亞于“咸甜豆腐腦”之爭。…

mysql32位的能裝在64位的電腦上嗎,mysql32位能裝64位電腦【excle中怎么將log值變回原來的數據庫】...

excle中怎么將log值變回原來的數據庫通過數據備份跟binlog記錄,可能原來的數據恢復步驟a)創建新的數據庫 create database rollback_db;b)將數據庫備份倒入新創建的rollback_db中c)找到數據庫備份的最后時間點,并將mysqlbinlog中該時間點之后的命令操作記…

java多線程編程_《java多線程編程實戰指南》讀書筆記 -- 基本概念

展開并發:多個線程操作相同資源,保證線程安全,合理使用資源高并發:服務能同時處理多個請求,提高程序性能測試上下文切換工具Lmbench3 測量上下文切換時長vmstat 測量上下文切換次數減少上下文切換無鎖并發編程&#xf…

php實現分頁mssql,PHP操作mssql數據庫類,含分頁類[分頁類原創]

/*** PHP操作mssql數據庫類,含分頁類* Enter description here ...* author aboc 9986584 2011-04-09**/class DB_Handle{var $ClassName "DB_Handle";var $Server;var $UserName;var $Password;var $Database;var $LinkID0;var $QueryResult""…

vue企業網站模板_模板網站VS定制網站,企業如何選擇?

步入互聯網時代,企業需要建設屬于自己的網站,網站建設到底是選擇模板網站,還是定制網站呢?筆者接下來跟大家詳細分析一下。網站建設的類型一、網站建設的類型模板網站模板型網站是用已經成形的網站為框架進行套用,根據…

mysql刪除盤點表,用友U8數據庫表名參照表修改號參考.doc

用友U8數據庫表名參照表修改號參考用友U8數據庫表名參照表Accessaries 成套件表AccInformation 帳套參數表AdjustPVouchAdjustPVouchsAp_AlarmSet 單位報警分類設置表Ap_BillAge 帳齡區間表Ap_Cancel 核銷情況表Ap_CancelNo 生成自動序號Ap_CloseBill 收付款結算表Ap_CtrlCode …

?php php,PHP: Balises PHP - Manual

Balises PHPLorsque PHP traite un fichier, il cherche les balises douverture etde fermeture (<?php et ?>)qui dlimitent le code quil doit interprter. De cettemanire, cela permet PHP dtre intgr dans toutes sortes de documents,car tout ce qui se trouv…

這張磁盤有寫保護_架構師不得不了解的硬件知識 - 磁盤陣列RAID

概述什么是RAID&#xff1f; RAID &#xff08; Redundant Array of Independent Disks &#xff09;即獨立磁盤冗余陣列&#xff0c;通常簡稱為磁盤陣列。簡單地說&#xff0c; RAID 是由多個獨立的高性能磁盤驅動器組成的磁盤子系統&#xff0c;從而提供比單個磁盤更高的存儲…

金蝶二次開發好跳槽嗎_金蝶財務軟件不會操作怎么辦?

還在為不會操作金蝶軟件而頭疼嗎?今天&#xff0c;小編和大家分享一些金蝶軟件實操技巧&#xff0c;讓大家更快速的完成工作&#xff01;接下來&#xff0c;跟著小編一起來學習吧&#xff5e;1、新增憑證快捷鍵2、修改、刪除憑證3、憑證審核說明&#xff1a;4、憑證過賬說明&a…

oracle查看登錄時間黑屏,史上最強黑屏行動-微軟20日黑屏反盜版驗證

盜版系統避免10月20號后出現黑屏的方法微軟將針對中國市場在本月20日啟動Windows XP專業版及Office的正版驗證計劃&#xff0c;屆時&#xff0c;安裝了盜版Windows XP專業版的電腦將被強行每小時“黑屏”(桌面背景變為純黑色)一次&#xff0c;Office的菜單欄將被添加“不是正版…

可信計算3.0工程初步pdf_查校 | 英國大學工業工程與運籌學專業40個授課碩士+研究Mphil/Phd 項目匯總...

關注“留學壹周刊”&#xff0c;回復專業名稱&#xff0c;如“金融”&#xff0c;可以自由查詢相關資料介紹本篇微信主要包括如下內容&#xff1a;1、2020Fall英國工業工程與運籌學專業授課類碩士(共26個項目)2、2020Fall英國工業工程與運籌學專業研究類PHD(共14個項目)3、2020…

oracle sql優化指導,基于Oracle的sql優化(1)

先創建表和索引create table emp_temp as select * from emp;create index idx_mgr_temp on emp_temp(mgr);create index idx_deptno_temp on emp_temp(deptno);執行sqlselect * from emp_temp where mgr>100 and deptno >100;查看優化器模式&#xff1a;SQL> show p…

怎么把此電腦放到桌面_Win10我的電腦怎么放到桌面

1/5點擊右鍵選擇“個性化”2/5進入后&#xff0c;點擊“主題”3/5在主題頁面的右側點擊“桌面圖標設置”4/5最后勾選“計算機”5/5再點擊“確定”即可

oracle nvarchar2 字符集不匹配,Oracle中NVARCHAR2字符集不匹配問題

Oracle中在做字符匹配時 遇到 NVARCHAR2 類型時報錯&#xff0c;提示 字符集不匹配。對使用 NVARCHAR2 的地方&#xff0c;需要對字段進行字符轉換&#xff0c;加上 to_char(nvarchar2 字段) 即可。例如&#xff1a;SELECT substr(bm.matnr, 3) wlbm, ms.maktx wlms, bm.meins …

vmware虛擬機安裝win7_圖文分享虛擬機怎么安裝win7系統

最近有朋友問有什么方法可以在不重裝系統的情況下體驗到其他的操作系統。那就是使用虛擬機吧&#xff0c;下面就以win7為例給大家分享一下在虛擬機安裝WIN7的步驟。1&#xff0c;打開運行虛擬機&#xff0c;然后點擊界面左上方的“文件”按鈕&#xff0c;菜單欄選擇“新建虛擬機…

oracle sql 查詢優化器,基于ORACLE成本優化器的SQL查詢優化分析與應用

第 39 卷 第 2 期2018 年 3 月 內蒙古農業大學學報( 自 然 科 學 版 ) Journal of Inner Mongolia Agricultural University ( Natural Science Edition) Vol&#xff0e; 39 No&#xff0e; 2 Mar&#xff0e; 2018 基于 O&#xff32;ACLE 成本優化器的 SQL 查詢 優化分析與應…