我有 Struts2 和 Spring 的工作知识。我想开发一个管理多个公司信息的应用程序。我完全不知道什么技术最适合我的应用程序。例如:Struts2、Hibernate MVC 和 Spring。 有人可以帮助我选择合适的技术吗?
最佳答案
以下是您可以使用的 J2EE 堆栈的快速分割:
使用 Struts2 作为 Controller 层
使用 Hibernate 作为数据抽象层。为您的 DAO 创建服务接口(interface)。如果需要,这些接口(interface)将允许您稍后使用某种类型的 RMI 来提供服务,这意味着这些服务可以在与 Web 应用程序不同的计算机上运行。让具体的类实现这些接口(interface)。这些类将包含业务逻辑和数据验证,并将包装 Hibernate session 。 Hibernate session 用于从数据库读取/写入。使用Hibernate annotations加快 Hibernate beans 的实现。
使用 Spring 实例化您的服务类和 Struts2 操作。配置 Spring 将服务实例注入(inject)到您的 Struts2 操作中。这称为dependency injection 。引用接口(interface),而不是 Struts2 操作的 DI setter 方法中的类。
在 JSP 中使用 Struts2 标记库或 JSTL,这将是您的 View 层。
使用Maven用于您的构建和部署。
使用 mod_jk 运行 Apache,并使用 Tomcat作为您的 servlet 容器。 mod_jk 运行 Apache 进程,并将请求传递到位于 JVM 中的 Tomcat servlet 容器。
如果您的应用程序需要搜索功能,请使用 SOLR ,一个构建在 Lucene 之上的 REST 服务。
除了使用 Struts2,您还可以查看 Apache Wicket .
关于jsf - 哪些技术最适合我的应用程序 : Struts with Hibernate or Spring with Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201961/