2014-06-23 71 views
4

我用彈簧MVC以下列方式:MVC模式和遷移從彈簧爲Java EE 7

@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中有什麼替代方法。即。控制器,服務,道,視圖圖層。

更進一步,如何重定向頁面,(我相信平原requestDispatcher是做事的老辦法,有必須是一些自動化的方式。同去同modelAndView

我用Google搜索了很多,但所有我發現是spring mvc examples

+0

我不明白你的問題。 Spring MVC是一個放在JavaEE 6(我使用它)或7(我相信)之上的框架。好的Spring應用程序環境重複了JEE CDI的功能,但是使用恕我直言,它的功能更豐富,附帶了大量的單元測試幫助程序,並且避免了編寫大量的鍋爐代碼。你想要準確地使用什麼?爲什麼你想擺脫Spring MVC? –

+0

我同意你的看法,但是你說的是當java ee沒有CDI或者輕量級的EJBs時,大約5到7歲。當時Spring看到了這個缺陷並且變得流行起來。現在Javaee已經克服了所有這些,並且它是所有Web容器都遵循的規範。 Spring不是一個規範。如果經常遇到一些容器問題。 (那是我個人的經歷,你可能會忽略它)。嗯,進一步的讀數可能會有所幫助:https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is – Talha

+0

你可能想看看[jsf](http://stackoverflow.com/q/5104094/1113392) – A4L

回答

1

Java EE沒有「標準」MVC包如果直接使用Java EE,您將直接處理HttpServletRequests,PortletRequests等。將對象放在純Java EE中的「模型」中基本上是HttpServletRequest.setAttribute()或HttpSession.setAttribute()(如果@SessionAttributes)

+0

...這是真的嗎?我一直在進入Spring MVC,並且經常聽到關於Java EE和Spring MVC的所有這些信息,但是我永遠無法知道哪些Spiring MVC實際與Java EE相比。是否與Java EE中的Spring MVC最接近,與基礎Java HTTP API一起使用?如果是這樣,這聽起來似乎沒有真正的等同於Java EE的Spring MVC(JSF是基於組件的)......是嗎? ---編輯---看起來像Java EE承認它缺乏MVC,並可能朝着MVC標準工作http://www.infoq.com/news/2014/09/mvc-1.0-jsr – mmcrae

+0

這是正確的。這就是爲什麼Struts在2000年中期變得如此受歡迎的原因。從來沒有一個標準的Java EE MVC框架。現在,我要麼看到Spring MVC或Struts2。儘管如此,我寧願更喜歡Spring MVC。 – int21h