1,Servlet 由java語言編寫,運行在服務器端的程序,可用來處理來自客戶端的http請求,而後發送給服務器,返回服務器的響應內容給到客戶端(具體界面由jsp來生成)html
2,Servlet 的生命週期?java
①實例化期 Web 容器(Tomcat)加載Servlet 並將其實例化後,Servlet 生命週期開始,spring
②初始化期 容器運行其init 方法進行Servlet 的初始化,瀏覽器
③ service期 請求到達時運行其service 方法,service方法自動派遣運行與請求對應的doXXX 方法(doGet,doPost)等,服務器
④ 銷燬期 當服務器決定將實例銷燬的時候調用其destroy 方法cookie
3,forward 和redirect 的區別?session
forward 是容器中控制權的轉向,是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL 的響應內容讀取過來,而後把這些內容再發給瀏覽器,瀏覽器根本不知道服務器發送的內容是從哪兒來的,因此 它的地址欄中仍是原來的地址。redirect 就是服務端根據邏輯,發送一個狀態碼,告訴瀏覽器從新去請求那個地址,通常來講瀏覽器會用剛纔請求的全部參數從新請求,因此session,request 參數均可以獲取,而且從瀏覽器的地址欄中能夠看到跳轉後的連接地址。前者更加高效,在前者能夠知足須要時,儘可能使用forward()方法,而且,這樣也有助於隱藏實際的連接;在有些狀況下,好比,須要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。app
4,JSP 的內置對象及方法?jsp
request 表示HttpServletRequest 對象。它包含了有關瀏覽器請求的信息,而且提供了幾個用於獲取cookie, header 和session 數據的有用的方法。htm
response 表示HttpServletResponse 對象,並提供了幾個用於設置送回瀏覽器的響應的方法(如cookies,頭信息等)。
out 對象是javax.jsp.JspWriter 的一個實例,並提供了幾個方法使你能用於向瀏覽器回送輸出結果。
pageContext 表示一個javax.servlet.jsp.PageContext 對象。它是用於方便存取各類範圍的名字空間、servlet 相關的對象的API,而且包裝了通用的servlet 相關功能的方法。
session 表示一個請求的javax.servlet.http.HttpSession 對象。Session能夠存貯用戶的狀態信息。
application 表示一個javax.servle.ServletContext 對象。這有助於查找有關servlet 引擎和servlet 環境的信息。
config 表示一個javax.servlet.ServletConfig 對象。該對象用於存取servlet 實例的初始化參數。
page 表示從該頁面產生的一個servlet 實例。
exception 異常信息
5,springMVC
M:model 用來處理每個模塊的業務邏輯的 (javabean ejb等技術)
V:view,視圖用來顯示返回的處理結果到瀏覽器上的,實現數據到頁面的處理(jsp)
C:controll 中心處理器,將請求分配到model,而後將返回的數據給到view進行顯示(servlet)
6,JSP 和 Servlet 異同?
同:jsp本質上是servlet(jsp編譯後是「類 servlet」)
異:servlet只應用在java文件中,用於處理業務邏輯;jsp是java和html相結合,側重於處理視圖。
7,cookie和session
都是用來跟蹤用戶和肯定用戶身份的
cookie,能夠長期保存在本地的字符串
session,保存在服務器上,能夠是對象,可是關閉會話session就失效了