Tomcat 我可以使用1个web应用程序提供2个类似StackOverflow的API吗?

Tomcat 我可以使用1个web应用程序提供2个类似StackOverflow的API吗?,tomcat,servlets,jakarta-ee,Tomcat,Servlets,Jakarta Ee,如果我当前的API位于API.foo.com/v1,其中/v1是上下文路径,所有请求都将发送到API servlet,如下所示: <servlet-mapping> <servlet-name>SearchServlet</servlet-name> <url-pattern></url-pattern> </servlet-mapping> SearchServlet

如果我当前的API位于API.foo.com/v1,其中/v1是上下文路径,所有请求都将发送到API servlet,如下所示:

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

SearchServlet
我需要部署另一个应用程序以使api.foo.com/v2可用


我如何重新配置我的应用程序/环境来处理这两个请求,还是不可能?应用程序是否可以接受所有请求,v1和v2是servlet还是RESTful映射?

为什么不创建两个servlet,一个用于处理每个REST服务?将此添加到
web.xml
文件:

<servlet>
    <servlet-name>servletv1</servlet-name>
    <servlet-class>com.stackoverflow.Servletv1</servlet-class>
</servlet>
<servlet>
    <servlet-name>servletv2</servlet-name>
    <servlet-class>com.stackoverflow.Servletv2</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>servletv1</servlet-name>
    <url-pattern>/v1/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>servletv2</servlet-name>
    <url-pattern>/v2/*</url-pattern>
</servlet-mapping>

servletv1
com.stackoverflow.Servletv1
servletv2
com.stackoverflow.Servletv2
servletv1
/v1/*
servletv2
/v2/*

v1已经是上下文路径,因此您的方法将生成api.foo.com/v1/v1和api.foo.com/v1/v2。为什么不更改上下文路径?