【问题标题】:mvc pattern in java ee and migrating from spring to java ee 7java ee 中的 mvc 模式以及从 spring 迁移到 java ee 7
【发布时间】:2014-06-23 07:18:09
【问题描述】:

我以如下方式使用了spring MVC:

@Controller
class MyControllerClass {

      @RequestMapping...
      method(){
         ServiceCall()...
      //put something to modelAndView object here and redirect to jsp page.
      return "home"; // this will redirect data to home.jsp

      }
}

@Service
class MyServiceClass{
      @Transactional
      SomeServiceMethod(){ 
        DaoMethod(); 
      }

}


@Repository
class MyDaoClass{
   DaoMethdon(){...}

}

/view/myjsps.jsp  path to view directory set in spring.xml

问题:

任何人都可以向我解释(最好使用实际的真实世界代码示例),对于上述 MVC 模式,在 Java EE 6/7 中我有什么替代方案。 IE。控制器、服务、dao、视图层。

此外,如何重定向页面,(我相信普通的requestDispatcher 是一种旧的做事方式,必须有一些自动化的方式。modelAndView 也是如此。

我用谷歌搜索了很多,但我找到的只是spring mvc examples

【问题讨论】:

  • 我不明白你的问题。 Spring MVC 是一个在 JavaEE 6(我使用它)或 7(我相信)之上的框架。好的 Spring 应用程序上下文复制了 JEE CDI 的功能,但恕我直言,它的功能更加丰富,带有用于单元测试的大量帮助程序,并且使您免于编写大量样板代码。你到底想用什么,为什么要摆脱 Spring MVC?
  • 我同意你的观点,但是你说的大概是 5 到 7 岁的时候 java ee 还没有 CDI 或轻量级 EJB 等。Spring 看到了这个不足并在那个时候流行起来。现在 Javaee 已经克服了这一切,它是所有 Web 容器都服从的规范。 Spring 不是一个规范。如果某些容器经常出现问题。 (嗯,这是我的个人经验。你可以忽略它)。好吧,进一步阅读可能会有所帮助:blogs.oracle.com/arungupta/entry/why_java_ee_6_is
  • 你可能想看看jsf
  • 现在,Java ee plain 有很多东西,面向切面的编程 AOP,安全性(如 spiring 安全性),CDI 上下文依赖注入(spring CDI 的替代品),EJB 很轻,所以比 spring plain DAOs 好.简而言之,我正在尝试研究我可以做我以前用弹簧做的所有事情吗?因为我选择 javaee plain over spring。很多原因。 1. 规范与框架。 2. 更快。快多了。在谷歌上查看基准。 3.原生支持和oracle本身的支持。 (春天很棒,但仍然是一群开源团体。不是公司)。我的应用程序规模很大
  • 谢谢。 JSF 是个好主意。但由于我的应用程序的架构,我不能使用/不想使用 JSF,因为它是基于组件的。我需要一个基于请求/响应的架构。

标签: spring jakarta-ee spring-mvc java-ee-6 java-ee-7


【解决方案1】:

Java EE 没有“标准”MVC 包。如果您直接使用 Java EE,您将直接处理 HttpServletRequests、PortletRequests 等。在普通 Java EE 中将对象放入“模型”中基本上是 HttpServletRequest.setAttribute() 或 HttpSession.setAttribute()(如果是 @SessionAttributes)

【讨论】:

  • ...这是真的吗?我一直在研究 Spring MVC,并且经常听到关于 Java EE 与 Spring MVC 等等的所有这些东西,但我永远无法说出 Spiring MVC 与 Java EE 中的实际比较。与 Java EE 中的 Spring MVC 最接近的一致等价物是否仅与基本 Java HTTP API 一起使用?如果是这样,听起来没有真正等同于 Java EE 的 Spring MVC(JSF 是基于组件的)......对吗? ---EDIT --- 看起来 Java EE 承认它缺乏 MVC,并且可能朝着 MVC 标准工作infoq.com/news/2014/09/mvc-1.0-jsr
  • 没错。这就是 Struts 在 2000 年代中期变得如此流行的原因。从来没有一个标准的 Java EE MVC 框架。现在,我要么看到 Spring MVC,要么看到 Struts2。不过我更喜欢 Spring MVC。
猜你喜欢
  • 2011-11-02
  • 2014-12-24
  • 1970-01-01
  • 2013-10-05
  • 2013-07-07
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多