gpt4 book ai didi

java - 在 ServletRequest 到达 Servlet/Filter 后从中删除查询字符串

转载 作者:行者123 更新时间:2023-11-29 08:51:43 25 4
gpt4 key购买 nike

现在假设我触发一些 URL 说

http://shoaib:8080/userAuthentication?authenticate=false

现在到了Filter的doFilter方法

public void doFilter(request,response,filterChain){

boolean authenticate=request.getParameter("authenticate");
.
. //some logic
.
.
filterChain.doFilter(request,response); //this request should not have query String.

}

将传递给 filterChain 的 doFilter() 的请求不应该有 queryString。我怎样才能做到这一点?

最佳答案

我在考虑覆盖 Filter 方法:

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req;
String requestURI = request.getRequestURI();

if (requestURI.startsWith(YOUR_CHECK_PATH)) {
String url = ((HttpServletRequest)request).getRequestURL().toString();
String queryString = ((HttpServletRequest)request).getQueryString();
req.getRequestDispatcher(url).forward(req, res);
} else {
chain.doFilter(req, res);
}
}

关于java - 在 ServletRequest 到达 Servlet/Filter 后从中删除查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22499516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com