Java開發工程師面試-Web基礎與數據處理
Servlet執行流程
- 客戶端瀏覽器向Tomcat伺服器發送Http請求
- Tomcat解析web.xml文件,找到對應的url以及servlet-name,根據servlet-name找到對應的servlet進行實例化
- 執行servlet的service方法
- 將service執行結果響應給瀏覽器
- 瀏覽器解析然後展示
補充
- Servlet默認情況下是第一次訪問時實例化的,也可以通過web.xml配置load-on-startup,使其在伺服器啟動的時候實例化
- Servlet是單例的,利用多執行緒來提供web服務
Servlet生命周期是什麼
- 裝載 – web.xml
- 創建 – 構造函數
- 初始化 – init()
- 提供服務 – service()
- 銷毀 – destory()
Http請求的結構
- HTTP請求包含三部分:請求行、請求頭、請求體
- get請求沒有請求體
Http響應的結構
- HTTP響應包含三部分:響應行、響應頭、響應體
請求轉發
- 請求轉發是伺服器跳轉,只會產生一次請求
- 請求轉發語句是:request.getRequestDispatcher().forward()
響應重定向
- 重定向則是瀏覽器端跳轉,會產生兩次請求
- 響應重定向語句是:response.sendRedirect()
請闡述Session的原理
Session即用戶會話,與客戶端瀏覽器窗口綁定的,存儲在伺服器內部的數據。
當瀏覽器第一次向Tomcat發送請求,Tomcat收到請求後,會在運行記憶體中創建一個全新的存儲空間,並賦予一個SessionId;如果我們使用session.setAttribute()方法,會把值存放到記憶體空間(自定義屬性);處理完後響應回傳SessionId給瀏覽器,瀏覽器會把SessionId保存到Cookie中;第二次請求時,SessionId會發送給Tomcat,Tomcat發現已經存在,調用session.getAttribute()方法會把存儲內容直接響應。
JSP九大內置對象是什麼
Statement和PreparedStatement的區別
- PreparedStatement是預編譯的SQL語句,效率高於Statement
- PreparedStatement支援?操作符,相對於Statement更加靈活
- PreparedStatement可以防止SQL注入,安全性高於Statement
JDBC使用步驟
- 載入JDBC驅動
- 創建資料庫連接(Connection)
- 創建命令(Statement)
- 處理結果(ResultSet)
- 關閉連接
感謝耐心觀看!!!
如有不足,歡迎指出,一起成長!
如有幫助,請點贊給予支援,感謝!