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

Which is better to use in professionally (web.xml(Deployment descriptor) or @WebServlet annotation?

较早的 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 注解。 例如:

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

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

让我们这样说吧:如果一个注解提供了功能并且本身充当注释,并且没有将代码绑定到某个特定的过程以便在没有这个注解的情况下正常运行,那么去用于注释。例如,标记为事务性的事务性方法不会终止其操作逻辑,并且还可以作为很好的代码级注释。否则,此信息可能最好表示为 XML,因为尽管它最终会影响代码的运行方式,但不会改变代码的主要功能,因此不属于源文件。

所以这里推荐给大家xml配置

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

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

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

您应该考虑的另一件事是,使用 XML 配置文件,您的所有配置都在一个文件中,无需浏览即可更轻松地了解系统所有文件。

这取决于您的需要:

  • 如果您希望将所有配置内容放在一个地方,请选择 web.xml;
  • 否则,如果您认为(像我一样),当我们处理大量声明和配置项时,XML 配置文件变得太重,请使用注释。

我个人更喜欢注释,因为它属于我的 Java 代码,我发现自己在上面处理大的 XML 配置文件(也许这不是你的情况)很无聊并且需要很多时间,对我来说,得到我正在寻找的东西(这是我个人的意见)。

另一方面,后者无关紧要,因为当应用程序正常工作时,没有人会问您为 servlet 声明选择了什么。