【发布时间】:2017-07-20 12:19:54
【问题描述】:
这样的代码:
void doFilter(request, response, chain){
try{
//something code process
validate(request);
chain.doFilter(request,response);
}
catch(Exception e){
response.sendError(403,"Forbidden");
}
}
void validate(request) throws Exception{
//validate params,if not validate,just throw exception.
}
直接访问web项目,不通过nginx之类的。
但是状态返回总是404,这里有人可以帮助我吗?非常感谢。
顺便说一句,当我在 Windows PC 上运行该项目时,我得到了正确的状态,但在 linux 上却没有工作。
【问题讨论】:
-
您的代码没有返回它。请求未处理(因此返回 404 未找到)。可能是映射错误或 URL 或其他错误
-
我确定请求是进入这个过滤器并运行代码,但是当抛出异常时,使用 sendError() 方法似乎不起作用。 ps:我刚刚更新了上面的代码。
-
您是否有另一个处理程序在出错时将用户重定向到某处?例如,如果返回 403,您可能会重定向到某个未找到的“错误页面”?
标签: java http web filter response