Servlet面试题汇总
生活随笔
收集整理的這篇文章主要介紹了
Servlet面试题汇总
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.什么是Servlet?
Servlet是用來處理客戶端請求并產生動態網頁內容的java類。Servlet主要是用來處理或者是存儲HTML表單提交的數據。產生動態內容,在無狀態的HTTP協議下管理狀態信息
2.Servlet的生命周期
- 實例化:當Tomcat第一次訪問Servlet的時候,Tomcat會負責創建Servlet的實例
- 初始化:當Servlet被實例化后,Tomcat會調用init()方法初始化這個對象
- 響應客戶請求:當瀏覽器訪問Servlet的時候,Servlet 會調用service()方法處理請求
- 銷毀。當Tomcat關閉時或者檢測到Servlet要從Tomcat刪除的時候會自動調用destroy()方法,讓該實例釋放掉所占的資源。一個Servlet如果長時間不被使用的話,也會被Tomcat自動銷毀
- 卸載。當Servlet調用完destroy()方法后,等待垃圾回收。如果有需要再次使用這個Servlet,會重新調用init()方法進行初始化操作。
注意:
只要訪問Servlet,service()就會被調用。init()只有第一次訪問Servlet的時候才會被調用。destroy()只有在Tomcat關閉的時候才會被調用。
3.Http請求的get和post方式的區別?
- get方式通過請求行攜帶數據,參數會顯示在地址欄中,因為URL對字符數目有限制,進而限制了用在客戶端請求的參數值的數目,并且請求中的參數是可見的。因此敏感信息不能用這種方式,不安全
- post方式通過請求體來攜帶參數,參數不會顯示在地址欄中。因此可以發送數據的數目是沒有限制的。最后通過post請求傳遞的敏感信息對外部客戶端是不可見的。安全
4.轉發和重定向的區別?
- 轉發由服務器進行跳轉,顯示的是請求的URL,地址欄不會發生變化。瀏覽器發了1次請求,兩個資源之間是同一個request對象,可以共享request對象
- 重定向由瀏覽器進行跳轉,顯示的不是請求的URL,而是重定向指向的新的URL,瀏覽器發了2次請求,兩個資源之間不是同一個request對象,不可以共享request對象
5.什么是Cookie?Cookie和Session有什么區別?
Cookie是web服務器發送給瀏覽器的一塊信息,瀏覽器會在本地文件中給每一個web服務器存儲Cookie,以后瀏覽器再給特定服務器發送請求的時候,同時會發送所有為該服務器存儲的Cookie
- Cookie是存儲在瀏覽器中的,只能存儲String類型的字符串,存儲的數據量比較小。對客戶端可見,容易造成信息泄露。客戶端可以選擇禁用Cookie
- Session是存儲在服務器端的,可以存儲任何類型的數據,存儲的數據量比較大,對客戶端是透明的,比較安全,客戶端無法禁用服務端的Session
總結
以上是生活随笔為你收集整理的Servlet面试题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多重 for 循环,如何提高效率?
- 下一篇: 一个风骚的C语言操作