Java 如何找到将为给定资源提供服务的servlet?

Java 如何找到将为给定资源提供服务的servlet?,java,servlets,weblogic,Java,Servlets,Weblogic,如果我想将请求重定向到其他资源,我可以执行以下操作: request.getRequestDispatcher (resource).forward (request, response); 但是,有没有一种方法可以提前找到哪个servlet将被用来服务于资源?我之所以这样做,是因为在设置重定向之前,我似乎需要在响应上设置内容类型,否则(如果目标servlet尝试设置)它会被忽略。因此,我想知道我要重定向到什么,以便提前确定正确的内容类型 编辑: 换句话说,我所拥有的: SERVLET_1

如果我想将请求重定向到其他资源,我可以执行以下操作:

request.getRequestDispatcher (resource).forward (request, response);
但是,有没有一种方法可以提前找到哪个servlet将被用来服务于
资源
?我之所以这样做,是因为在设置重定向之前,我似乎需要在响应上设置内容类型,否则(如果目标servlet尝试设置)它会被忽略。因此,我想知道我要重定向到什么,以便提前确定正确的内容类型

编辑:

换句话说,我所拥有的:

SERVLET_1  ==> [resource] SERVLET_2

由于某种原因,当
SERVLET_2
设置内容类型时,它会被忽略。因此,我需要在
SERVLET_1
中设置它,但是对于
SERVLET_2
将生成的响应内容。因此,要做出正确的决定,SERVLET_1
需要知道SERVLET_2将是什么。它能从
资源中找到它吗?

您可以通过

返回指定文件的MIME类型,如果MIME类型未知,则返回null。MIME类型由servlet容器的配置决定,可以在web应用程序部署描述符中指定。常见的MIME类型包括text/html和image/gif


这不是文件。它是一个servlet,可以动态生成一些东西。例如,我不知道它是JSON还是HTML。@user2667759那么逻辑应该在生成它的地方。
String mimeType = getServletContext().getMimeType(resourcePath);