Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Jakarta ee 为什么,何时,在何种情况下,我们应该在SpringMVC中使用多个servlet而不是单个servlet?_Jakarta Ee_Spring Mvc - Fatal编程技术网

Jakarta ee 为什么,何时,在何种情况下,我们应该在SpringMVC中使用多个servlet而不是单个servlet?

Jakarta ee 为什么,何时,在何种情况下,我们应该在SpringMVC中使用多个servlet而不是单个servlet?,jakarta-ee,spring-mvc,Jakarta Ee,Spring Mvc,我昨天开始学习SpringMVC,然后我想在SpringMVC(或者其他框架)中,我们可以在一个web应用程序中使用许多servlet。 Servlet有一个url模式,如果有任何http请求,该模式将被匹配。另一方面,我们可以使用@RequestMapping为http请求进行映射。 所以问题是为什么、何时以及在何种情况下我们应该使用多个servlet? 这方面的最佳做法是什么? 谢谢。通常使用Spring MVC,您在web.xml中声明了一个servlet,如下所示: <servle

我昨天开始学习SpringMVC,然后我想在SpringMVC(或者其他框架)中,我们可以在一个web应用程序中使用许多servlet。
Servlet有一个url模式,如果有任何http请求,该模式将被匹配。另一方面,我们可以使用@RequestMapping为http请求进行映射。
所以问题是为什么、何时以及在何种情况下我们应该使用多个servlet?
这方面的最佳做法是什么?


谢谢。

通常使用Spring MVC,您在web.xml中声明了一个servlet,如下所示:

<servlet>
    <servlet-name>ActivityReplicator</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>ActivityReplicator</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

活性复配剂
org.springframework.web.servlet.DispatcherServlet
1.
活性复配剂
/
这个servlet将负责处理应用程序的每个请求,并将它们发送到正确的控制器


使用单个servlet限制了必须在web.xml中完成的配置。Spring控制器专门用于处理来自DispatcherServlet的重定向。正如Nathan解释的,控制器的配置不那么复杂


我建议为应用程序中找到的每个域使用一个控制器。例如,一个控制器用于用户管理,另一个控制器用于论坛帖子管理。您可以阅读使用Spring的Restfull控制器,了解要实现多少个控制器。

如果您想要开发人员API RESTful服务等更易于使用Jersey而不是Spring MVC的冗长功能实现的服务,您可以拥有多个servlet。在本例中,您将有一个servlet用于使用Jersey的API服务,还有一个Spring servlet用于处理前端网站。

那么,我应该使用单个servlet吗?但是,(对我来说)还不清楚,为什么不使用多个servlet。@Guilltry:您不使用多个servlet,因为使用Spring MVC的dispatch servlet,您可以使用控制器,而控制器处理起来就不那么麻烦了。使用单个servlet限制了必须在web.xml中完成的配置。Spring控制器专门用于处理来自DispatcherServlet的重定向。正如Nathan解释的,控制器的配置不那么复杂。