Servlet和JSP知識複習(2)Servlet基礎
來源:互聯網
上載者:User
js|servlet Servlet和JSP知識複習(2)Servlet基礎 ·產生HTML的servlet ·告知瀏覽器接下來發送的時HTML - response.setContentType(“text/html”); ·修改println語句以構建合法的Web頁面 - 列印語句應用輸出相應的HTML標籤。 ·用形式語法驗證器 檢查產生的HTML - http://validator.w3.org/ - http://www.htmlhelp.com/tools/validator/ ·servlet的打包 ·將檔案移動到與預想的包名相匹配的子目錄中 ·在類檔案中插入包語句 - E.g package org.waityou.test.servlet; ·要保證CLASSPATH指出頂層目錄 ·在URL中包括包名 - E.g http://localhost/servlet/org.waityou.test.servlet.TestServlet ·一些簡單的、用以構建HTML的工具 + 生產力類 public class ServletUtilities {public static final String DOCTYPE ="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +"Transitional//EN\">";public static String headWithTitle(String title) {return(DOCTYPE + "\n" +"<HTML>\n" +"<HEAD><TITLE>" + title +"</TITLE></HEAD>\n");}...}·不要走極端 - 完整的HTML產生包常常不能很好地工作 - 應用JSP架構時更好的解決方案。 ·servlet的生命週期 ·init -僅在servlet首次載入時執行一次。 不是每次請求都要調用。 ·service -在新線程中由伺服器為每個請求而調用。發送到 doGet,doPost等。 不要覆蓋這個方法! ·doGet,doPost,doXxx -處理GET,POST,等請求。 -覆蓋這些方法以提供期望的行為。 ·destroy -在伺服器刪除servlet的執行個體時調用。 不是每次請求後都調用。 ·為什麼不應該覆蓋service ·之後可以通過加入doPut,doTrace等支援其他服務。 ·通過添加getLastModified方法,就可以支援修改日期。 ·service方法自動提供下述支援: - HEAD請求 - OPTIONS請求 - TRACE請求 ·其他方案:讓doPost調用doGet ·servlet的調試 ·使用列印語句;在案頭電腦上運行伺服器 ·使用Apache Log4J ·使用IDE整合的調試器 ·直接查看HTML源碼 ·返回錯誤頁面給客戶 -需要針對缺失或異常資料預先規劃 ·使用記錄檔 - log(“message”)或log(“message”, Throwable) ·分別處理請求和響應資料 ·停止並重新啟動伺服器 ·小結 ·主要的servlet代碼都在doGet或doPost中: - HttpServletRequest包含輸入資訊 - HttpServletResponse允許我們設定發送出去的資訊 ·調用setContentType指定MIME類型 ·調用getWriter擷取針對客戶的Writer ·一次性的設定代碼放在init中 - servlet僅僅初始化並載入一次 - servlet被多次調用 - 初始化參數在web.xml中設定。