Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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
Servlets 为servlet映射指定负路径匹配_Servlets_Servlet Filters - Fatal编程技术网

Servlets 为servlet映射指定负路径匹配

Servlets 为servlet映射指定负路径匹配,servlets,servlet-filters,Servlets,Servlet Filters,有没有办法在web.xml中指定负映射?例如,我想为所有请求设置一个筛选器,除了那些匹配“/public/*”的请求。不,这是不可能的。您必须在doFilter()方法中进行URL模式匹配。将过滤器映射到/*并执行以下工作: HttpServletRequest req = (HttpServletRequest) request; if (req.getRequestURI().startsWith("/public/")) { chain.doFilter(request, res

有没有办法在
web.xml
中指定负映射?例如,我想为所有请求设置一个筛选器,除了那些匹配“
/public/*
”的请求。

不,这是不可能的。您必须在
doFilter()方法中进行URL模式匹配。将过滤器映射到
/*
并执行以下工作:

HttpServletRequest req = (HttpServletRequest) request;

if (req.getRequestURI().startsWith("/public/")) {
    chain.doFilter(request, response);
    return;
}

// ...
或者当实际存在上下文路径时:

HttpServletRequest req = (HttpServletRequest) request;

if (req.getRequestURI().startsWith(req.getContextPath() + "/public/")) {
    chain.doFilter(request, response);
    return;
}

// ...