适用于现有应用的MVC框架

时间:2010-06-08 22:26:56

标签: java model-view-controller jsp java-ee frameworks

我正在修改很久以前编写的现有java Web应用程序,它以可能的方式编写。它在JSP文件中有业务逻辑和sql statemens。

由于某种限制,我无法重新设计整个应用程序。但我可以在我添加的任何新功能中实现更好的设计。

任何人都可以向我推荐任何我可以轻松集成到现有应用程序中的MVC框架。我需要拥有不依赖于许多外部jar文件的框架,它不会对现有应用程序造成任何问题。

2 个答案:

答案 0 :(得分:1)

  

我正在修改现有的java web   长时间写的应用程序   以前,它是写在头脑中的   可能的方式。它有业务逻辑   和JSP文件中的sql statemens。

听起来像是被扔给我的好人选。

  

由于某种限制,我   无法重新设计整个   应用。但我可以实施   更好的设计任何新功能   我补充说。

整个应用程序需要重新设计,但您无法重新设计整个应用程序。这是矛盾的。

  

任何人都可以建议我任何MVC   我可以轻松地构建框架   集成在现有的应用程序我需要   拥有不依赖的框架   很多外部jar文件都可以   不会导致任何现有问题   应用

您不禁会导致现有应用程序出现问题,如果使用框架,成为外部JAR依赖项。我仍然会推荐它,因为一个框架会给你一个值得额外JAR的升力。你的WAR文件会更大 - 那又怎样?磁盘空间很便宜。

听起来像MVC是你问题中最少的。您应该首先专注于正确分层应用程序的想法。如果你有明确定义的持久性和服务层,你可能有机会。

考虑问题而不用担心现在的用户界面。从持久层开始。获取DAO和模型对象。然后转到服务层:使用DAO和模型对象实现的事务,工作单元和用例。单元测试两个层。

一旦拥有了那些,您可以专注于使视图层正常工作。让控制器与服务交互会更容易。您的UI可以是HTML,CSS和JavaScript或Flex。所有逻辑都将不在视图之内并进入它所属的后端。

不要害怕JAR依赖。它可以引导你远离可以帮助你的东西。我首先推荐Spring。它将有助于解决所有分层问题。它的网络MVC也一样好。

答案 1 :(得分:0)

如果您无法重新设计整个应用程序并担心框架的重量,那么我建议不要添加框架。你最终会得到一个Frankenstein构建,其中应用程序不一致,并没有太大的好处。

相反,为什么不自己推?当您添加新功能(或修改现有功能)时,您不必将所有内容塞入jsp。创建您自己的数据访问层和您自己的业务对象,并将它们相互链接并相应地链接到jsps中的UI。