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)。