科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件JSP最新特性及思想的最佳实践2

JSP最新特性及思想的最佳实践2

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

servlet filter是Servlet2。3规范中引入的,但是这些filter同样有利于JSP开发和维护。因为JSPs需要被转换成servlets,JSPs与servlet技术紧密相关。

作者:Dustin Marx著 来源:中国软件网 2008年6月21日

关键字: 思想 最新 JSP

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

利用servlet filter的特点

  servlet filter是Servlet2。3规范中引入的,但是这些filter同样有利于JSP开发和维护。因为JSPs需要被转换成servlets,JSPs与servlet技术紧密相关。因此servlet规范的重要发展会影响到JSP的发展,对此你不应该感到奇怪。

  Servlet filters是Intercepting Filter模式的J2ee实现,因此提供了这个模式的所提供的特点,包括更好的维护性,少的代码冗余以及更好的可移植性。这是因为:通常你需要加入服务到每个jsp页面中,而现在可以通过将这些服务放到一个filter中。并且这些JSPs根本不需要这些filter的存在。因为在可插入的filters与JSPs之间没有关联性,因此在filter中的修改将不会直接影响到JSPs。你可以使用filter链,使用不同的filter的组合,每个filter用来实现不同的目的。

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中已经声明和制定了哪些变量。

  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。(关于两种工具的详细情况见resources。这里我将简要的介绍一下这两个工具。

JspDoc(SourceForge)

  SourceForge的JspDoc可以用来为JSPs生成Javadoc风格的文档。这个工具通过将XML-Compliant的标签放入到Javadoc风格的注释(/** */)之中,而这些注释是放在了JSP page的java代码中。这个工具的缺点是目前它仅仅支持JSP pages,尽管对JSP document.支持已经在计划列表中。

  这个工具还提供了转换JSP pages到JSP document.功能。因为我从一开始就编写JSP document.因为我没有用过这项功能,但是对于想从JSP pages转换到JSP document.用户来说,这是一个很好的工具。还要另外一个功能就是将JSP document.换到JSP pages。

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)能够进行这些处理。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章