我是一名Java SE开发人员,但我有丰富的Web背景(PHP、Perl/CGI等),现在我正在开始一个新项目。它将具有Web界面、混乱的业务逻辑、关系型数据库作为存储和连接到其他服务。我要从头开始做。
我的同事告诉我要使用Spring、Spring Security和Struts。 我简要查看了Java EE 6规范,发现它几乎涵盖了企业应用程序的所有方面。我问我的同事他们为什么需要Spring和Struts,但看起来他们只是因为熟悉这些技术而不熟悉经典的Java EE 6堆栈。
所以,我的问题是:Java EE 6有什么问题吗? 如果有JNDI查找,为什么需要Spring?创建虚假InitialContext进行单元测试只需要一两天时间。那就没必要外部工具像Spring这样了。 如果Servlet规范中有内置的安全性,为什么需要Spring Security? 我可以使用web.xml将任何请求映射到任何servlet,不需要struts.xml。我可以使用servlet过滤器代替struts拦截器。 有RMI,因此我不需要Spring Remote。 等等...
如果有Java EE 6,为什么还要费心去使用那些花哨的东西呢?
我真的想找到Java EE 6不足的情况。 你有吗?
谢谢!