Java EE學習筆記之二——Servlet部分

1. 配置Servlet的兩種方法:
   第一種方法:
   使用Annotation來配置Servlet,必須滿足以下兩點:
   (1)不要在web.xml文件的根元素(<web-app.../>)中指定metadata-complete="true";
   (2)不要在web.xml文件中配置該Servlet。
   第二種方法:
   在web.xml配置Servlet
   (1)配置Servlet的名字:對用web.xml文件中的<servlet/>元素。
   (2)配置Servlet的URL:對應web.xml文件的<servlet-mapping/>元素。
  
   兩種同時配置時,web.xml配置優先Annotation配置。
2. 配置load-on-startup的Servlet在應用啓動時就創建,這種Servlet通常是用於某些後臺服務的Servlet。
   <load-on-startup.../>元素或loadOnStartup屬性都只接收一個整型值,這個整型值越小,Servlet就越優先實例化。
3. 如果重寫了Servlet類的init(ServletConfig config)方法,則應在重寫該方法的第一行調用super.init(cofig),該方法調用HttpServlet的init方法。
4. 每個Servlet的運行都遵循如下生命週期:
   (1)創建Servlet實例。
   (2)Web容器調用Servlet的init方法,對Servlet進行初始化。 (3)Servlet初始化後,將一直存在於容器中,用於響應客戶端請求。如果客戶端發送GET請求,容器調用Servlet的doGet方法處理並響應請求;如果客戶端發送POST請求,容器調用Servlet的doPost方法處理並響應請求。或者統一使用service()方法處理來響應用戶請求。
   (4)Web容器決定銷燬Servlet時,先調用Servlet時,先調用destroy方法,通常在關閉Web應用之時銷燬Servlet。
6. 修改了src中的源代碼後,並進行編譯之後,必須重啓服務器,訪問時所做的修改纔會起作用。
7. JspWriter out = response.getOutputStream();
   JspWriter out = pageContext.getOut();
   以上兩行代碼返回的對象都是JspWriter類型,JspWriter類是Writer的子類。
   PrintStream out = new PrintStream(response.getOutputStream());
   以上一行代碼返回的對象是PrintStream類型的。PrintStream類是OutputStream類的子類。
8. 總結:當仔細檢查完各種代碼之後,確定自己的代碼沒有問題,但依舊瀏覽器訪問不成功,則重啓服務器再試一下,有很多細節我們其實都還不不瞭解。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章