mvc在javaweb应用中的应用

lvmkulzt  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(301)

这个问题在这里已经有答案了

设计模式基于web的应用程序[关闭](5个答案)
11天前关门了。
我正在开发一个动态web应用程序。我有一个jsp页面的视图。我需要一个gui控制器和一个应用程序控制器。应用程序控制器执行用例的逻辑,gui控制器例如向jsp发送错误消息或更改请求登录的用户的视图。
我需要更多关于这个gui控制器的信息,例如,是servlet还是简单的java类?这个gui控制器如何向jsp页面发送消息?
你能给我解释一下这个gui控制器是如何工作的吗?

jhdbpxl9

jhdbpxl91#

首先,类似mvc的东西都是关于关注点分离的。您有不同的组件处理不同的事情,这有一些优点,如可维护性、可扩展性、可重用性、较少的代码重复等。
您已经提到了一个gui控制器和一个应用程序控制器。这就是关注点的分离。现在有一个组件处理表示逻辑,还有一个组件处理应用程序逻辑。
您正在询问gui控制器。根据应用程序的大小,您可以使用servlet、普通java类或struts或springmvc等web框架构建应用程序。
实现响应请求的java类的标准是servlet,因此可以使用servlet编写gui控制器。您可以在这里找到一个用servlet实现mvc的小例子。其目的是处理从用户收到的请求,从请求中提取参数,将数据发送到实现用例的应用程序控制器,应用程序控制器返回结果,然后servlet将使用该结果为jsp页面构建数据,选择一个jsp页面执行,并对其进行控制以建立响应。
为了向jsp发送数据,servlet将使用 RequestDispatcher 通常请求属性。
您也可以用一个简单的java类创建gui控制器,但是您仍然需要一个servlet作为入口点,然后将控制权委托给java类来处理请求。事实上,各种web框架都是这样工作的:它们注册了一个dispatcherservlet,用于获取要处理的框架类的请求和委托。
您可以用任何方式实现这个表示控制器,只需记住关于分离关注点的部分。比如 HttpServletRequest , HttpServletRequest , RequestDispatcher ,或jsp路径不应泄漏到应用程序控制器或更深入的模型类中,因为这不是它们应该关心的事情。

相关问题