Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web应用工作流中的控制器Servlet_Java_Model View Controller_Web Applications_Servlets_Controller - Fatal编程技术网

Java Web应用工作流中的控制器Servlet

Java Web应用工作流中的控制器Servlet,java,model-view-controller,web-applications,servlets,controller,Java,Model View Controller,Web Applications,Servlets,Controller,我想知道部署在JBoss/Weblogic/WebSphere上的任何web应用程序的起点是什么 例如,如果您采用基于struts的应用程序,那么起点是ActionServlets,它扮演着管理所有传入请求的控制器的角色。我确信控制器依赖于框架 如果是这样,请帮助我识别除了Struts、Flext等之外的流行框架,在这些框架中我可以假定ActionServlet是我的控制器 在我的脑海里仍然有一个问题,我想知道是否有特定于应用服务器的东西?如果是这样,我们将非常感谢您的任何见解 提前感谢…在您的

我想知道部署在JBoss/Weblogic/WebSphere上的任何web应用程序的起点是什么

例如,如果您采用基于struts的应用程序,那么起点是ActionServlets,它扮演着管理所有传入请求的控制器的角色。我确信控制器依赖于框架

如果是这样,请帮助我识别除了Struts、Flext等之外的流行框架,在这些框架中我可以假定ActionServlet是我的控制器

在我的脑海里仍然有一个问题,我想知道是否有特定于应用服务器的东西?如果是这样,我们将非常感谢您的任何见解


提前感谢…

在您的澄清之后,我将尝试写下如何构造简单的web应用程序(没有框架)

  • 一个启动servlet,只初始化全局内容并检查资源(db池、jms)。只有它的init()方法以0的顺序实现和加载
  • 一个登录servlet,以登录jsp作为其主视图
  • 一组欢迎页面,将用户重定向到登录servlet(在web.xml中)
  • 一个仪表板servlet,带有一个简单的jsp作为查看菜单的视图,为应用程序提供了一个良好的起点
  • 在此之后,每个操作/菜单都将映射到一个或多个servlet,执行所有bacground操作并重定向到jsp视图

    通常我将每个请求管理到一个servlet、doGet()或doPost()方法中,但这不是强制性的,取决于我在做什么

    例如,如果您必须生成一个报告,并且此生成需要时间,servlet只需在某个位置生成一个报告请求(JMS队列或启动Quartz任务),并通过一个礼貌页面将控制权返回给浏览器,说明请求已排队

    还有一些场景中,来自web UI的单个请求在功能上会影响我的更多“servlet”,在这些场景中,我使用RequestDispatcher实用程序链接请求


    这样做可能会导致代码重复,因此必须设计好业务类树。Servlet之间共享的通用业务代码(作为用户输入、业务逻辑和数据逻辑之间的粘合剂-就像控制器^^^)

    在您的说明之后,我将尝试写下如何构造简单的web应用程序(没有框架)

  • 一个启动servlet,只初始化全局内容并检查资源(db池、jms)。只有它的init()方法以0的顺序实现和加载
  • 一个登录servlet,以登录jsp作为其主视图
  • 一组欢迎页面,将用户重定向到登录servlet(在web.xml中)
  • 一个仪表板servlet,带有一个简单的jsp作为查看菜单的视图,为应用程序提供了一个良好的起点
  • 在此之后,每个操作/菜单都将映射到一个或多个servlet,执行所有bacground操作并重定向到jsp视图

    通常我将每个请求管理到一个servlet、doGet()或doPost()方法中,但这不是强制性的,取决于我在做什么

    例如,如果您必须生成一个报告,并且此生成需要时间,servlet只需在某个位置生成一个报告请求(JMS队列或启动Quartz任务),并通过一个礼貌页面将控制权返回给浏览器,说明请求已排队

    还有一些场景中,来自web UI的单个请求在功能上会影响我的更多“servlet”,在这些场景中,我使用RequestDispatcher实用程序链接请求


    这样做可能会导致代码重复,因此必须设计好业务类树。servlet之间共享的通用业务代码(它充当用户输入、业务逻辑和数据逻辑之间的粘合剂-就像控制器^^^)

    如果没有调度servlet,但每个servlet充当“控制器”?我相信请求调度程序是一个委托,而不是像Action servlet那样的控制器。您还没有看到我的观点。您可以让web应用程序使用MVC模式,而无需Dispatcher或ActionServlet。因此,首先决定要使用哪个框架(如果您想使用框架),然后就可以尝试正确地回答您的问题。我同意可以有多个servlet。这意味着不止一个控制器或多个入口点,如果没有调度servlet,但每个servlet都充当“控制器”?我相信请求调度程序是一个委托,而不是像Action servlet那样的控制器。您还没有看到我的观点。您可以让web应用程序使用MVC模式,而无需Dispatcher或ActionServlet。因此,首先决定要使用哪个框架(如果您想使用框架),然后就可以尝试正确地回答您的问题。我同意可以有多个servlet。这意味着不止一个控制器或多个入口点伟大!!!接下来,一旦请求进入servlet,请求的整个生命周期将在单个线程中处理。正确吗?我知道发送到另一个servlet的请求将在另一个线程中执行。。它将再次成为一个不同的URL。对吗?我看了一些文件,没有清楚地告诉任何地方。有什么发现吗?太好了!!!接下来,一旦请求进入servlet,请求的整个生命周期将在单个线程中处理。正确吗?我知道发送到另一个servlet的请求将在另一个线程中执行。。它将再次成为一个不同的URL。对吗?我看了一些文件,没有清楚地告诉任何地方。你找到什么了吗?