import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* <p>filter---参数过滤器</p><br>
* <p>请求已经有该参数,(过滤器覆盖value是无效的)</p><br>
* TODO(设置自定义request参数)
*
* @author han.sun
* @version 1.0.0
* @since 2019/5/5 13:12
*/
public class RequestParameterFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
String msgId = request.getParameter("msgId");
if (msgId == null) {
Map<String, Object> map = new HashMap<String, Object>(16);
map.put("msgId", new String[]{System.currentTimeMillis() + ""});
RequestParameterWrapper requestParameterWrapper = new RequestParameterWrapper(request, map);
chain.doFilter(requestParameterWrapper, servletResponse);
}else {
chain.doFilter(servletRequest, servletResponse);
}
}
@Override
public void destroy() {
}
}
转载于:https://www.cnblogs.com/han-sun/p/10845689.html