哪个更专业地使用(web.xml(部署描述符)或@WebServlet注释?

时间:2015-04-06 16:37:57

标签: java xml jsp tomcat servlets

早期的servlet版本(小于3.0),我们使用web.xml文件作为部署描述符: 的的web.xml

<web-app>  
 <servlet>  
    <servlet-name>WebServlet</servlet-name>  
    <servlet-class>LoginServlet</servlet-class>  
  </servlet>   

  <servlet-mapping>  
    <servlet-name>WebServlet</servlet-name>  
    <url-pattern>/Login</url-pattern>  
  </servlet-mapping>   

  <welcome-file-list>  
   <welcome-file>index.html</welcome-file>  
  </welcome-file-list>  
</web-app>    

现在在tomcat 7.0和servlet v3.0的帮助下,我们使用@WebServlet注释。 E.g:

@WebServlet(
    name = "AnnotatedServlet",
    description = "A sample annotated servlet",
    urlPatterns = {"/Login"}
)
public class LoginServlet extends HttpServlet {
    // servlet code here...
}

现在我的问题是哪个更专业? 需要你诚实的建议。 提前致谢。

4 个答案:

答案 0 :(得分:2)

这个问题相当主观。有些人喜欢将行为与配置分开,因此更喜欢使用XML配置。就个人而言,我更喜欢使用注释,因为我在阅读代码时可以看到配置就在那里。选择你喜欢的风格,并坚持下去。虽然可以混合配置样式,但我建议保持一致并使用一种样式。

答案 1 :(得分:2)

这取决于您的需要:

  • 如果您希望将所有配置内容保存在一个位置,请在您的web.xml上进行
  • 否则,如果你处理大量的声明和配置项,那么XML配置文件会变得太重,所以只需跳转到注释。

我个人认为这是注释,因为它属于我的java代码,我发现自己在上面,但是处理大型XML配置文件(也许这不是你的情况)是开机并花了很多时间让我得到我的东西寻找(我的个人观点)

另一方面,当我们知道profesionnaly这一点时它并不重要,因为当应用程序工作正常时,没有人会问你为sevlet声明选择了什么。

答案 2 :(得分:0)

让我们这样说:如果注释提供了功能并且本身就作为注释,并且没有将代码绑定到某个特定的进程,以便在没有这个的情况下正常运行注释,然后去注释。例如,标记为事务的事务方法不会终止其操作逻辑,也可以作为良好的代码级注释。否则,这些信息最好用XML表示,因为虽然它最终会影响代码的运行方式,但它不会改变代码的主要功能,因此不属于源文件。 / p>

所以我建议您使用xml配置。

答案 3 :(得分:0)

在我看来,最好的方法是坚持一种风格,这样新的程序员就不会对这种或那种方式感到困惑。

如果您的容器支持注释,请坚持使用它,但要将其作为规则(您可以为整个公司制定约定)。

您应该考虑的另一件事是,使用 XML 配置文件,您的所有配置都在一个文件中,这使得在不浏览所有文件的情况下更容易理解系统。