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)
  • 關閉連接

感謝耐心觀看!!!
如有不足,歡迎指出,一起成長!
如有幫助,請點贊給予支援,感謝!

Tags: