java Web基礎
1. http協議:
ftp協議:
2. 請求協議格式:
請求行
多個請求頭信息: 頭名稱 頭值
空行
請求體(get請求無請求體)
請求頭簡介:
content-Type | 設置url編碼 |
Content-Length |
請求協議中為請求體長度,響應中為響應長度 反正就是長度就對了 |
Refer |
1 統計訪問來源 2 防盜鏈 |
Refresh | 定時跳轉 |
Expires:-1 | 過期時間 |
Cache-Control:no-cache |
與下一條兼容http協議版本 與相鄰的兩條設置禁用瀏覽器緩存 |
Prama:no-cache | |
3 響應協議:
響應頭 (協議/版本 狀態碼 狀態碼的解釋) 2開頭 成功 ;3開頭 轉發;4開頭 客戶端問題;5開頭 服務端問題
多個請求頭信息 頭名稱 頭值
空行
響應體
302 | 重定向 |
304 |
只對靜態內容有效,與緩存 有關為了節約傳輸成本設定的 |
4 url編碼 為了傳輸漢字而建立
第一步 字節數+128
第二步 轉成16進制
第三步 在16進制前+上“%”
5 Servlet
a 每個Servlet是唯一的,他們處理的請求是不同的。
b 在servlet中通常可以:
1 接收請求數據
2 處理請求
3 完成相應
c 實現Servlet的三種方式
1 實現 javax.servlet.Servlet(有4個方法)
2 繼承 javax.servlet.GenericServlet(1個方法)
3 繼承 javax.servlet.Http.Httpservlet(與http協議相關的servlet)
d servlet中的大多數方法有服務器調用以及創建等等
e servlet特性:是非線程安全的,相對的器效率較高
f 註意事項:
1 盡量不要在servlet中創建成員
2 可以創建無狀態成員
3 可以創建有狀態成員,但狀態必須為只讀
g 初始換順序:
h servlet中的反射:服務器用反射調用Servlet及其方法
i 一個項目中只有一個servletContext對象,我們可以在n個servlet中獲取這個唯一的對象,使用它在多個servlet參數中傳遞數據,servletContext與項目的生存時間相同
j 域對象:(4個)
1 PageContext
2 ServletRequest
3 HttpSession
4 ServletContext
域對象都有一個Map,用來存取數據
k servletContext獲取初始化參數
註意:與servlet獲取的參數不是一個,因為所在的域不同,可以配置公共的初始化參數,為所有servlet共用,使用servletContext獲取 使用httpServlet才能獲取
// 真實的服務器端的文件地址 getServletContext().getRealPath("/index.jsp"); // 獲得URL流 getServletContext().getResourceAsStream("/index.jsp"); // 獲得URL地址 getServletContext().getResource("/index.jsp");
l 獲取類路徑下的資源
用k的方法即可
java Web基礎