jboss - 混合使用 Spring MVC 和 CDI/JEE6 的最佳方式是什么?

标签 jboss java-ee-6 glassfish-3 cdi

我不是 JSF 的粉丝。 Spring MVC 对我来说很有意义,我过去也用过它。

您能否说服我放弃它,或者提供将它很好地集成到 JEE6 中的技巧,并与 CDI 分享和解决问题。

我不介意只为 MVC 东西使用应用程序上下文,但如果我在我的 MVC Controller 中使用 @Inject 或 @EJB,会出现什么问题?

Seam3 看起来很有趣,但它是否已准备好投入生产?

最佳答案

另一种选择是使用 JAX-RS 作为 Controller (通过 Jersey 实现,您可以将控制权转发给 JSP),并使用 JSP 作为您的 View 。这样您就不必担心将 Spring 与 Java EE 集成。

例如,您可以有一个 HomeController:

@Path("/")
@Stateless
public class HomeController {

    @Context
    HttpRequest request; // Injects request object so you set attributes.

    @EJB // Inject your EJB
    EmployeeServiceLocal employeeService;

    @GET
    public Viewable getHomePage() {

        Employee employee = employeeService.getEmployee();
        request.setAttribute("employee", employee);
        return new Viewable("/home.jsp", null);
    }
}

这会将您定向到名为 home.jsp 的 JSP,您将能够通过请求对象在 JSP 上获取数据。请注意,JAX-RS 用于 RESTful Web 服务,因此要理解下面代码中发生的事情,您必须了解 REST。

关于jboss - 混合使用 Spring MVC 和 CDI/JEE6 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019446/

相关文章:

java - 应用程序服务器最大内存限制

java - 针对大型 Web 项目从 ASP.NET 切换到 Java EE

java - 在 Glassfish 3.1.2 上部署包含 Application Client 的 ear 会抛出异常

java - Jboss 7 getResourcesAsStream()

java - Jboss 7.1.1 + Windows 7 (64位) + JDK 7 1.7.07 (64位) 启动失败

java - 与应用程序隔离的 WildFly9 JASPI 模块

jsf-2 - 在页面加载时开始对话

jsf - JSF-ViewParameter 的名称可以是 EL-Expression 吗?

java - Eclipse Indigo、Glassfish 3.1.1 插件调试问题

java - 通过 REST web 服务获取数据会出现异常