【问题标题】:Best way for using JSP and Servlets in an MVC webapp在 MVC webapp 中使用 JSP 和 Servlet 的最佳方式
【发布时间】:2011-09-27 10:58:01
【问题描述】:

我正在使用 Java 开发一个动态网站,我对坚持使用 MVC 模式很感兴趣。 在 JSP 和 Servlet 之间划分 webapp 工作的最佳方式是什么?

我是否应该将我的 JSP 文件视为程序的 view 而将 Servlet 更多地视为 controller

如果我应该将 Servlet 用作controller,给 Servlet 提供多个功能是否明智,例如:向 Servlet 发送操作编号,Servlet 将在其上切换大小写以决定哪个操作去做。这样我可以创建很少的 Servlet,每个 Servlet 都负责不同类型的请求。

【问题讨论】:

    标签: java jsp web-applications servlets


    【解决方案1】:

    我应该将我的 JSP 文件视为程序的视图,而将 Servlet 更多地视为控制器吗?

    是的。 JSP 最适合用于实现视图。

    根据您的应用程序要求,可能有其他视图未作为 JSP 实现。但您提议的责任分工是一个很好的起点。

    如果我应该使用 Servlet 作为控制器,给 Servlet 提供多个功能是否明智,例如:向 Servlet 发送操作编号,Servlet 将在其上切换大小写以决定执行哪个操作.

    这更值得商榷。您可以拥有少量 servlet 并在 servlet 内切换,也可以拥有大量 servlet 并在 "web.xml" 文件或某些框架类中切换。例如,很多人使用 restlet 框架和/或注释来管理对控制器 servlet 的请求的分派。


    我的一般建议是:

    • 不要尝试编写另一个框架。它们已经有很多了,至少其中一个应该足够好。
    • 不要过度设计。

    【讨论】:

      【解决方案2】:

      几个月前我也遇到过类似的情况。我不得不使用 java 来向一群人介绍 web 开发,但老实说,我并不是任何 java 框架的忠实粉丝。很多人陷入这样一种心态,即仅仅因为 JSP 允许您在页面中做任何您想做的事,您就应该做。

      您可以使用普通的旧 java/jsp 并且仍然有一个组织良好的项目。这是我提到的项目的链接。我只是将每个页面限制为一个对伪控制器方法的函数调用,该方法返回页面所需的模型。页面上唯一的其他 java 代码用于模板。

      这里是项目的源码,如果你想看看。

      http://net-machine.com/indefero/p/lsms/source/tree/master/src

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-10
        • 2017-01-22
        • 1970-01-01
        • 2012-11-06
        • 2014-07-14
        • 2015-06-30
        • 2010-09-15
        相关资源
        最近更新 更多