java 网络应用程序的 MVC 应用
Application of MVC for java web applications
我正在开发动态 Web 应用程序。
我有一个 jsp 页面的视图。我需要一个 Gui 控制器和一个应用程序控制器。
应用程序控制器执行用例的逻辑,GUI 控制器例如向 jsp 发送错误消息或更改请求登录的用户的视图。
我需要有关此 gui 控制器的更多信息,例如是 servlet 还是可以是简单的 java class?这个 gui 控制器如何将消息发送到 jsp 页面?
你能用一些例子向我解释一下这个 gui 控制器是如何工作的吗?
首先,像 MVC 这样的东西都是关于 separation of concerns 的。你有不同的组件处理不同的事情,这有一些优点,比如可维护性、可扩展性、可重用性、更少的代码重复等。
您已经提到了 GUI 控制器和应用程序控制器。这就是关注点分离。您现在有一个组件处理表示逻辑,一个组件处理应用程序逻辑。
您问的是 GUI 控制器。根据您的应用程序的大小,您可以使用 servlet、普通的 Java classes 或 web frameworks(例如 Struts 或 SpringMVC)来构建它。
实现响应请求的 Java classes 的标准是 servlet,因此您可以使用 servlet 编写 GUI 控制器。您可以找到一个使用 servlet here 实现 MVC 的迷你示例。目的是处理从用户收到的请求,从请求中提取参数,将该数据发送到实现您的用例的应用程序控制器,returns 结果,然后您的 servlet 将使用它来构建数据对于您的 JSP 页面,select 要执行的 JSP 页面之一,并处理对其的控制以构建响应。
要将数据发送到 JSP,servlet 将使用 RequestDispatcher
and usually request attributes。
您也可以使用简单的 java class 创建 GUI 控制器,但您仍然需要一个 servlet 作为入口点,然后将控制权委托给您的 Java classes 来处理请求。事实上,这就是各种 Web 框架的工作方式:它们注册一个调度程序 servlet,用于获取请求并委托给框架 classes 进行处理。
您可以通过任何方式实现此表示控制器,只要记住关注点分离部分即可。 HttpServletRequest
、HttpServletRequest
、RequestDispatcher
或 JSP 路径之类的东西不应泄漏到您的应用程序控制器或更深入到您的模型 classes 中,因为那不是什么他们应该关心自己。
我正在开发动态 Web 应用程序。 我有一个 jsp 页面的视图。我需要一个 Gui 控制器和一个应用程序控制器。 应用程序控制器执行用例的逻辑,GUI 控制器例如向 jsp 发送错误消息或更改请求登录的用户的视图。
我需要有关此 gui 控制器的更多信息,例如是 servlet 还是可以是简单的 java class?这个 gui 控制器如何将消息发送到 jsp 页面?
你能用一些例子向我解释一下这个 gui 控制器是如何工作的吗?
首先,像 MVC 这样的东西都是关于 separation of concerns 的。你有不同的组件处理不同的事情,这有一些优点,比如可维护性、可扩展性、可重用性、更少的代码重复等。
您已经提到了 GUI 控制器和应用程序控制器。这就是关注点分离。您现在有一个组件处理表示逻辑,一个组件处理应用程序逻辑。
您问的是 GUI 控制器。根据您的应用程序的大小,您可以使用 servlet、普通的 Java classes 或 web frameworks(例如 Struts 或 SpringMVC)来构建它。
实现响应请求的 Java classes 的标准是 servlet,因此您可以使用 servlet 编写 GUI 控制器。您可以找到一个使用 servlet here 实现 MVC 的迷你示例。目的是处理从用户收到的请求,从请求中提取参数,将该数据发送到实现您的用例的应用程序控制器,returns 结果,然后您的 servlet 将使用它来构建数据对于您的 JSP 页面,select 要执行的 JSP 页面之一,并处理对其的控制以构建响应。
要将数据发送到 JSP,servlet 将使用 RequestDispatcher
and usually request attributes。
您也可以使用简单的 java class 创建 GUI 控制器,但您仍然需要一个 servlet 作为入口点,然后将控制权委托给您的 Java classes 来处理请求。事实上,这就是各种 Web 框架的工作方式:它们注册一个调度程序 servlet,用于获取请求并委托给框架 classes 进行处理。
您可以通过任何方式实现此表示控制器,只要记住关注点分离部分即可。 HttpServletRequest
、HttpServletRequest
、RequestDispatcher
或 JSP 路径之类的东西不应泄漏到您的应用程序控制器或更深入到您的模型 classes 中,因为那不是什么他们应该关心自己。