java - 当请求是映射的 servlet 时如何知道过滤器内部?

标签 java jakarta-ee servlets servlet-filters

我想知道,在 Filter doFilter 方法中,每当请求是针对我的 web.xml 中的映射 servlet 时。有办法这样做吗?

提前致谢,

费尔南多

最佳答案

这是不可能的。最好将过滤器直接映射到这些 servlet 上。这可以通过使用 <servlet-name> 来完成而不是<url-pattern> 。一定是<servlet-name>这是在 <servlet> 中定义的条目。如果需要,您可以指定多个。

<filter-mapping>
    <filter-name>myFilter</filter-name>
    <servlet-name>myOneServlet</servlet-name>
    <servlet-name>myOtherServlet</servlet-name>
    <servlet-name>myLastServlet</servlet-name>
</filter-mapping>

或者当您已经使用 Java EE 6/Servlet 3.0 并因此可能使用 @WebFilter 时在类里面。

@WebFilter(servletNames={"myOneServlet", "myOtherServlet", "myLastServlet"})

关于java - 当请求是映射的 servlet 时如何知道过滤器内部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157216/

相关文章:

java - 无法在应用程序级别设置对象(HashMap)

java - 用破折号替换前导零直到小数点

java - 尝试每 24 小时调用一次函数

jakarta-ee - Java EE 应用程序启动失败

java - 无法在 struts2 上启动我的第一个应用程序

java - 仅从类层次结构中检索父类(super class)

java - Java EE 容器内的并发编程

jakarta-ee - Spring-Security PasswordEncoder 返回 null

java - 如何查找由 javax.servlet.http.Cookie 创建的客户端 cookie

javascript - 需要有条件地从 servlet 打开一个额外的窗口