學習筆記——Servlet原理

boglory 2022-01-08 03:37:45 阅读数:55

servlet 原理

1.Servlet簡介

1、Servlet是Sun公司開發動態web的一門技術
2、Sun公司在這些API中提供了一個接口叫做:Servlet,如果想開發一個Servlet程序,只需要完成兩個小步驟:

  • 編寫一個類,實現Servlet接口
  • 把開發好的Java類部署到web服務器中

把實現了Servlet接口的Java程序叫做Servlet

3、Maven環境優化

  1. 修改web.xml為最新的
  2. 將maven的結構搭建完整

4、編寫Servlet的映射
5、配置tomcat
6、啟動測試

2.Servlet原理

在這裏插入圖片描述

3.Mapping問題

  1. 一個Servlet可以指定一個映射路徑
  2. 一個Servlet可以指定多個映射路徑
  3. 一個Servlet可以指定通用映射路徑
  4. 也可以指定一些後綴或者前綴等等

優先級問題:
指定了固有的映射路徑優先級最高,如果找不到就會走默認的處理請求

4.ServletContext

web容器在啟動的時候,它會為每個web程序都創建一個對應的ServletContext對象,它代錶了當前的web應用

共享數據:在這個Servlet中保存的數據,可以在另一個Servlet中拿到
在這裏插入圖片描述

5.請求轉發

在這裏插入圖片描述
一個web資源B收到客戶端A請求後,B向web資源C去要然後返回給客戶端A (A不能直接訪問C)

6.讀取資源文件

Properties

  • 在java目錄下新建properties
  • 在resources目錄下新建properties

發現:都被打包到了同一個路徑下:classes,我們俗稱這個路徑為classpath

7.HttpServletResponse

web服務器接收客戶端的http請求,針對這個請求,分別創建一個代錶請求的HttpServletRequest對象,一個代錶響應的HttpServletResponse對象

  • 如果要獲取客戶端請求過來的參數:找HttpServletRequest
  • 如果要給客戶端響應一些信息:找HttpServletResponse

8.實現重定向

在這裏插入圖片描述
一個web資源B收到客戶端A請求後,B它會通知客戶端A去訪問另外一個web資源C,這個過程叫重定向

面試題:重定向和轉發的區別?
相同點:

  • 頁面都會實現跳轉

不同點:

  • 請求轉發的時候,url地址欄不會產生變化 307
  • 重定向的時候,url地址欄會發生變化 302

9.HttpServletRequest

HttpServletRequest代錶客戶端的請求,用戶通過Http協議訪問服務器,Http請求中的所有信息會被封裝到HttpServletRequest,通過這個HttpServletRequest的方法,獲得客戶端的所有信息

版权声明:本文为[boglory]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080337452114.html