国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JavaEE Servlet Base (1)

2019-11-06 07:51:52
字體:
來源:轉載
供稿:網友

java EE Servlet Base(1)

http協議

什么是http協議###

超文本傳輸協議 基于請求和響應的模式. 先有請求,后有響應.當客戶端連接上web服務器后,若想獲得web服務器中的某個web資源,必須遵守某一定的通訊格式,HTTP協議用于定義客戶端與web服務器通訊的格式

請求

上文提到了,http是基于請求和響應的模式,必須先有請求,web服務器才能予以響應.對于深入探討http,不再此博客中進行介紹,以下是對請求和響應的大致介紹.

請求行 請求方式

POST,GET,HEAD,OPTIONS,DELETE,TRACE,PUT,CONNECT

在java開發中,通常使用POST和GET兩種請求行. get把參數顯示在地址欄上,安全級別低,不支持大量數據的傳輸。 post把參數封裝請求體中,安全級別高,支持大量數據的傳輸.

請求頭

Host: ss1.bdstatic.comUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0Accept: */*Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflate, brReferer:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=csdn&oq=csdn&rsv_pq=d424b3f4000b79ad&rsv_t=5574WQrqirpBGkNbMTelo5PFLCAwTe%2FY8Pc1yDlKBh3HpNTrQQD07uN%2BeEg&rqlang=cn&rsv_enter=1&inputT=378&rsv_sug3=8&rsv_sug1=3&rsv_sug7=100&rsv_sug2=0&rsv_sug4=768&rsv_sug=1Connection: keep-aliveIf-Modified-Since: Thu, 02 Mar 2017 07:54:29 GMTIf-None-Match: "3c6d8-549babd1b9740"Cache-Control: max-age=0

重要的頭

If-Modified-Since //必須和響應頭信息一起來完成控制本地的緩存.Referer //當前的網頁的來源。(防止盜鏈)User-Agent //判斷瀏覽器的版本(文件下載的時候)

響應

響應行

狀態碼

200 :請求處理成功 302 :請求重定向 304 :服務器端資源沒有改動,通知客戶端查找本地緩存(cookie或者其他) 404 :客戶端訪問資源不存在 500 :服務器內部出錯

響應頭 重要的頭

Location 和302一起完成重定向。Last-Modified 和請求頭If-Modified-Since一起控制緩存。和狀態碼304Refresh 完成頁面的定時跳轉Content-Disposition 設置文件是以附件打開Expires: -1 Cache-Control: no-cache PRagma: no-cache 禁用緩存(網銀系統)

重定向和轉發的區別 重定向和轉發的區別

Servlet

什么是Servlet

Oracle提供的官方文檔中,對servlet是這么解釋的:

servlet是用于擴展服務器功能的java編程語言類,通過請求-響應編程模型訪問的主機應用程序.通過servlet可以響應任何請求.它一般被用于擴展web服務的程序

對于servlet的使用,下面進行簡要的介紹:

javax.servlet和javax.servlet.http包為寫servlet程序提供了接口和類.所有servlet必須實現Servlet接口所定義的生命周期方法.當實現一個一般服務,你可以使用或者擴展GenericServlet類所提供的API.HttpServlet提供方法,比如doGet和doPost來處理特殊的http服務.

Servlet的生命周期

在Servlet接口中定一個5個方法:

/*Servlet接口定義了servlet的初始化,服務的請求,和銷毀servlet方法,這些被稱為生命周期方法,并按照以下順序調用:1.servlet被構造,則調用init方法來進行初始化2.任何從客戶端過來的請求,將調用servie方法來進行處理3.servlet被銷毀的時候,將調用destory方法,然后進行垃圾回收*/void destory();//由servlet容器調用,用以向Servlet指明servlet停止服務.ServletConfig getServletConfig();//返回一個ServletConfig對象,包含這個servlet的初始化和啟動參數.String getServletInfo();//返回servlet的信息,比如作者,版本和版權void service(ServletRequest req, ServletResponse res);//由servlet容器調用以允許servlet響應請求。

你可以通過定一個listener來監視servlet生命周期的事件方法在何時被調用. 實際開發中,使用Servlet肯定不會直接實現javax.servlet.Servlet接口,具體從哪個類繼承,以及編碼,下篇文章中會講.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 志丹县| 新田县| 图木舒克市| 福海县| 阜南县| 广汉市| 巴东县| 伊通| 阳山县| 六安市| 卢氏县| 手游| 山东省| 哈尔滨市| 资阳市| 曲阳县| 方山县| 大丰市| 靖宇县| 松原市| 汉源县| 孟津县| 朔州市| 马关县| 泰州市| 长寿区| 虹口区| 庆云县| 奇台县| 婺源县| 凌云县| 桃园市| 册亨县| 孟连| 南华县| 来凤县| 简阳市| 昂仁县| 汤阴县| 邛崃市| 金阳县|