JSP網絡應用中servlet filter的作用 下面的兩個例子說明了在基于JSP的網絡應用中servlet filter的作用。在許多的安全配置中,每一個JSP頁面都會檢驗會話ID和其他一些安全性來授權一個JSP調用。你可以將這些在每個JSP頁面中的檢驗代碼移植到一個servlet filter中,并且確保這個filter在調用每個jsp頁面之前被調用。這樣就提高了JSPs的可維護性和可移植性。你可以僅僅的在這一個servlet中進行一些安全檢驗方面的修改,或者是在其中加入一些和安全相關的代碼。而不是在每一個JSP頁面中進行修改。如果將來整個安全機制改變了,系統中唯一要修改的地方僅僅是這個filter,獨立的JSP頁面將不需要任何修改。 在上一篇“JSP Best PRactices”中,我推薦將異常信息存儲到“Secondary Storage”中,并且僅僅的提供給用戶一個可以檢索這些異常信息的一個標志(and only providing the user with an identifier to search the storage for the entire exception trace)。在這種情況下servlet filter非常的有用。你可以通過配置來使網絡應用(Web application)在調用異常JSP時自動的來執行用來記錄異常日志的filter。Sevlet規范提出了許多的潛在的servlet filter用法。 為JSPs的創建API文檔(document.nbspthe APIs for your JSPs) java的許多悅人心意的特點之一便是它支持JavaDoc。通過JavaDoc可以快速而容易的為java代碼提供Web-based的文檔。不幸的是,javadoc工具不支持JSP,并且JSP規范沒有“喚起”一個方法來提供“JSP APIs”。
什么是JSP API? 能夠不通過閱讀JSP的全部的代碼就能夠快速的確定一些JSP方面是非常之有用的。比方說,你需要知道哪些變量是綁定到會話(session),請求(request)和應用(application)的范圍,并且這些變量是具體的被綁定到了具體的哪一個范圍之上。另外一個JSP API用處的例子是在JSP segment之中,segment需要知道在被包含的時候,調用它們的JSP中已經聲明和制定了哪些變量(Another example of useful JSP API information is denoting in JSP segments which variables they require the calling JSP to have declared and defined when including them)。 JSP規范沒有涉及關于如何的建立JSP API的文檔。Sun的JSP 1.x 代碼公約文檔討論將注釋和作者,版權,以及描述的信息一起寫在JSPs的上部,但是我喜歡更詳細的記錄JSPs的期望的輸入(but I like to document.nbspmy JSPs' eXPected inputs more thoroughly)。 因為JSP規范中沒有涉及到這些,因此沒有一個標準的用來注釋JSP API。一個方法是在JSP中使用java代碼(scriptlets)并且在代碼中嵌入javadoc形式的注釋(/** javadoc comment */)。盡管我很少在JSPs中使用java代碼,但是這是在服務器端保留這些注釋的最簡單的方法。使用xml/Html風格的注釋會將JSP API暴露在客戶端,這是一個很不好的方法。 我知道有兩種免費可以使用的產品可以用來為你的JSPs做注釋,SourceForge.net的JspDoc以及OSDN(Open Source Development Network)的Freshmeat.net的JSPDoc。(關于兩種工具的詳細情況見resource【http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp-p3.html#resources】).這里我將簡要的介紹一下這兩個工具。
JSPDoc(Freshmeat.net) Freshmeat的JSP 文檔生成器 JSPDoc從JSPs中抽取信息來創建Javadoc風格的基于Web的文檔頁面。這個工具的一個優點是它能夠將產生的JSP文檔與用Javadoc工具產生的java類的文檔結合起來。缺點是,為了產生注釋要求有一個相當嚴格的注釋結構。這個特殊的語法使用了Javadoc的(/** */)但是并不能夠識別@符號,而@在標準javadoc是有一定的含義的。另一個缺點就是這個工具不支持XML-compliant的JSP document.而是要求用<%%>的語法結構。This prodUCt is available under the Mozilla public license. JSP document.tion for JSP document. 因為JspDoc和JSPDoc都不支持JSP document.我利用JSP document.XML-compliance的特性來產生Javadoc形式的文檔。使用XSLT stylesheet,可是很容易的來為JSP document.建HTML頁面形式的注釋文檔。而且不需要自定義的解析。因為當你的JSP是一個正確的XML文檔時有標準的工具(比方Xalan)能夠進行這些處理。具體參考(”JSP document.tion with XSLT” http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp-p3.html#resources)。