Java 在MVC webapp中使用JSP和servlet的最佳方法

Java 在MVC webapp中使用JSP和servlet的最佳方法,java,jsp,web-applications,servlets,Java,Jsp,Web Applications,Servlets,我正在用Java开发一个动态网站,我对坚持MVC模式很感兴趣。 在JSP和servlet之间划分webapp工作的最佳方法是什么 我是否应该将JSP文件视为程序的视图,而将Servlet视为控制器 如果我应该将Servlet用作控制器,那么为Servlet提供多个功能是否明智,例如:向Servlet发送一个操作编号,Servlet将在其上切换大小写以决定执行哪个操作。通过这种方式,我可以创建很少的servlet,每个servlet负责一种单独的请求类型 我是否应该将JSP文件视为程序的视图,而将

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

我是否应该将JSP文件视为程序的
视图
,而将Servlet视为
控制器

如果我应该将Servlet用作
控制器
,那么为Servlet提供多个功能是否明智,例如:向Servlet发送一个操作编号,Servlet将在其上切换大小写以决定执行哪个操作。通过这种方式,我可以创建很少的servlet,每个servlet负责一种单独的请求类型

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

对。JSP最好用于实现视图

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

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

这更值得商榷。您可以在servlet中有少量servlet和开关,也可以在
“web.xml”
文件或某些框架类中有大量servlet和开关。例如,许多人使用restlet框架和/或注释来管理对控制器servlet的请求调度


我的一般建议是:

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

    • 几个月前,我也遇到了类似的情况。我不得不使用java向一群人介绍web开发,但老实说,我并不十分喜欢java框架。很多人都会陷入这样的心态:仅仅因为JSP允许你在页面上做任何你想做的事情,你就应该这样做

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

      这是项目的来源,如果你想看的话