日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Servlet 运行工作原理详解

發布時間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Servlet 运行工作原理详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Servlet 運行工作原理詳解

瓜子二手車 秋季校招內推郵箱:liyoule@guazi.com,歡迎投簡歷哦

一、研發類校招
1.研發工程師(前端/后端/云平臺開發)
2.算法
3.測試開發
4.數據倉庫
5.安全工程師

二、運營/數據分析類職位校招
1.數據分析(商業分析/經營分析/業務分析等)
2.運營(品類運營)

三、產品類職位校招
1、產品經理

投遞方式:郵件發送簡歷至liyoule@guazi.com.郵件主題: [校招簡歷投遞] 姓名-學校-崗位

投遞截止時間: 2021/12/31 24:00

正文開始:

事實上,servlet就是一個Java接口,interface! 打開idea,ctrl + shift + n,搜索servlet,就可以看到是一個只有5個方法的interface!

所以,提問中說的網絡協議、http什么的,servlet根本不管!也管不著!

那servlet是干嘛的?很簡單,接口的作用是什么?規范唄!

servlet接口定義的是一套處理網絡請求的規范,所有實現servlet的類,都需要實現它那五個方法,其中最主要的是兩個生命周期方法 init()和destroy(),還有一個處理請求的service(),也就是說,所有實現servlet接口的類,或者說,所有想要處理網絡請求的類,都需要回答這三個問題:

你初始化時要做什么
你銷毀時要做什么
你接受到請求時要做什么
這是Java給的一種規范!就像阿西莫夫的機器人三大定律、行尸走肉里Rick的那三個問題一樣,規范!

servlet是一個規范,那實現了servlet的類,就能處理請求了嗎?

答案是,不能

你可以隨便谷歌一個servlet的hello world教程,里面都會讓你寫一個servlet,相信我,你從來不會在servlet中寫什么監聽8080端口的代碼,servlet不會直接和客戶端打交道!

那請求怎么來到servlet呢?答案是servlet容器,比如我們最常用的tomcat,同樣,你可以隨便谷歌一個servlet的hello world教程,里面肯定會讓你把servlet部署到一個容器中,不然你的servlet壓根不會起作用。

tomcat才是與客戶端直接打交道的家伙,他監聽了端口,請求過來后,根據url等信息,確定要將請求交給哪個servlet去處理,然后調用那個servlet的service方法,service方法返回一個response對象,tomcat再把這個response返回給客戶端。

Servlet(Server Applet),全稱Java Servlet,未有中文譯文。是用Java編寫的服務器端程序。其主要功能在于交互式地瀏覽和修改數據,生成動態Web內容。狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類,一般情況下,人們將Servlet理解為后者。

Servlet運行于支持Java的應用服務器中。從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基于HTTP協議的Web服務器。

最早支持Servlet標準的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服務器開始支持標準的Servlet。

工作流程

  • Web Client 向Servlet容器(Tomcat)發出Http請求

  • Servlet容器接收Web Client的請求

  • Servlet容器創建一個HttpRequest對象,將Web Client請求的信息封裝到這個對象中。

  • Servlet容器創建一個HttpResponse對象

  • Servlet容器調用HttpServlet對象的service方法,把HttpRequest對象與HttpResponse對象作為參數傳給 HttpServlet 對象。

  • HttpServlet調用HttpRequest對象的有關方法,獲取Http請求信息。

  • HttpServlet調用HttpResponse對象的有關方法,生成響應數據。

  • Servlet容器把HttpServlet的響應結果傳給Web Client。

  • 處理請求流程

  • 用戶點擊一個鏈接,指向了一個servlet而不是一個靜態頁面。

  • 容器“看出”這個請求是一個Servlet,所以它創建了兩個對象HttpServletRequest和HttpServletResponse。

  • 容器根據請求中的URL找到正確的Servlet,為這個請求創建或分配一個線程,并把請求和響應對象傳遞給這個Servlet線程。

  • 容器調用Servlet的service()方法。根據請求的不同類型,service()方法會調用doGet()或doPost()方法。這里假設調用doGet()方法。

  • doGet()方法生成動態頁面,并把這個頁面“塞到”響應對象里,需要注意的是,容器還有響應對象的一個引用!

  • 線程結束,容器把響應對象轉換為一個HTTP響應,并把它發回給客戶,然后刪除請求和響應對象。

  • 工作原理

    1、首先簡單解釋一下Servlet接收和響應客戶請求的過程,首先客戶發送一個請求,Servlet是調用service()方法對請求進行響應的,通過源代碼可見,service()方法中對請求的方式進行了匹配,選擇調用doGet,doPost等這些方法,然后再進入對應的方法中調用邏輯層的方法,實現對客戶的響應。在Servlet接口和GenericServlet中是沒有doGet()、doPost()等等這些方法的,HttpServlet中定義了這些方法,但是都是返回error信息,所以,我們每次定義一個Servlet的時候,都必須實現doGet或doPost等這些方法。

    2、每一個自定義的Servlet都必須實現Servlet的接口,Servlet接口中定義了五個方法,其中比較重要的三個方法涉及到Servlet的生命周期,分別是上文提到的init(),service(),destroy()方法。GenericServlet是一個通用的,不特定于任何協議的Servlet,它實現了Servlet接口。而HttpServlet繼承于GenericServlet,因此HttpServlet也實現了Servlet接口。所以我們定義Servlet的時候只需要繼承HttpServlet即可。

    3、Servlet接口和GenericServlet是不特定于任何協議的,而HttpServlet是特定于HTTP協議的類,所以HttpServlet中實現了service()方法,并將請求ServletRequest、ServletResponse 強轉為HttpRequest 和 HttpResponse。

    總結

    以上是生活随笔為你收集整理的Servlet 运行工作原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产精品毛片一区二区在线看 | 亚洲成人a v| 日本黄色三级 | 欧美日韩a√ | 自拍偷拍第五页 | 亚洲一区日韩精品 | 国产色无码精品视频国产 | 另类视频一区 | 三女警花合力承欢猎艳都市h | 欧美日韩在线视频一区二区三区 | 黑人一区二区三区 | 日本少妇18p| 欧美国产一二三区 | 噜噜色综合 | 五月天六月婷婷 | 亚洲一区二区三区久久久 | 国产主播啪啪 | 国产精品高清在线 | 青春草网站 | 免费在线视频观看 | 艳妇臀荡乳欲伦交换gif | 无码人妻精品一区二区三应用大全 | 中国一级特黄真人毛片免费观看 | 日韩欧美理论 | 性猛交富婆╳xxx乱大交麻豆 | 成人免费做受小说 | 色一情一区二区三区 | 好吊视频一区二区三区 | 一色综合| 黄瓜视频在线免费看 | 色妞欧美 | 免费国产a | 亚洲天堂精品视频 | 内射中出日韩无国产剧情 | av福利片| 韩国妻子的朋友 | h官场少妇第三部分 | 国产精品日日做人人爱 | 亚洲日本中文字幕在线 | 久久久区 | 成人涩涩 | 亚洲在线激情 | 美女视频黄a视频全免费观看 | 婷婷爱五月 | 91成人在线观看喷潮蘑菇 | 久久久久久国产精品三级玉女聊斋 | 丝袜诱惑一区 | 西野翔夫の目の前で犯在线 | 激情综合在线 | 色香蕉在线视频 | 91精品国产乱码久久久久久久久 | 国产a毛片 | 激情 小说 亚洲 图片 伦 | 亚洲一区亚洲二区 | 91人人看 | 亚洲国产极品 | 人人干人人看 | 日韩女同互慰一区二区 | 国产在线精品一区二区三区 | 特级西西人体444www高清大胆 | 噜噜色av | 亚洲精品鲁一鲁一区二区三区 | 夜夜嗨av一区二区三区免费区 | 潘金莲黄色一级片 | 久久久精品久久 | 中文字幕在线观看免费视频 | 国产三级三级三级 | 极品粉嫩小仙女高潮喷水久久 | 国产免费成人在线视频 | 性免费视频 | 朝鲜黄色片 | 国产欧美一区二区三区在线老狼 | 久久99精品国产91久久来源 | 亚洲va在线 | 免费a网站| 国产网址 | 免费一级全黄少妇性色生活片 | h视频国产| 国产成人在线免费视频 | 欧美影院| 色综合中文综合网 | 国产欧美视频一区二区三区 | 一级做a爱片 | 熟妇高潮喷沈阳45熟妇高潮喷 | 日本黄色生活片 | 波多野结衣中文字幕一区二区 | 蜜桃91麻豆精品一二三区 | 亚洲精品成人电影 | 美女被出白浆 | 亚洲精品国产一区二 | 日韩一区二区三区电影 | 午夜伦理福利视频 | 奇米影视狠狠 | 国产天天射 | 亚洲精品69 | 日本aa在线观看 | 亚洲另类一区二区 | 精品国产乱码久久久久久鸭王1 | 国产成人综合在线观看 |