在过滤器中使用HttpServletRequest读取Cookie
Java Web过滤器中,可以通过传入的ServletRequest对象强转为HttpServletRequest,然后调用getCookies()方法获取Cookie数组。和Servlet中处理一样,遍历Cookie数组,找到需要的Cookie名称,获取对应的值即可。例如:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
Cookie[] cookies = req.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("sessionId".equals(cookie.getName())) {
String sessionId = cookie.getValue();
// 处理sessionId
}
}
}
chain.doFilter(request, response);
}