关于servlet filter的问题
想问下doFilter的第三个参数,传给下一个的Filter或者servlet,那怎么获取到里面的参数值?
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
if (request.getCookies() == null){
JSONObject jsonObject = new JSONObject();
jsonObject.put("user","root");
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("data",jsonObject);
PrintWriter out = response.getWriter();
out.append(jsonObject1.toString());
}
response.setContentType("application/json;charset=utf-8");
filterChain.doFilter(request,response);
我怎么能获取到这个过滤器传过过来的request和response的里面的数据?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没理解你的需求是什么。
你要获取什么数据呢??
首先,request有个
setAttribute(String name, Object o);
可以塞数据,塞进去后面get就可以了。再有,如果你想读取request的body信息,因为是流数据,只能读取一次,你得自己定义一个ServletRequestWrapper实现,读取到流数据缓存起来,并重载几个读取数据的方法,不影响后续的处理。这个网上你可以查查的,有很多实现。
最后response你想读处理完的数据,也是一样的道理,定义一个流输出的实现,缓存下来。
不知道满足你的需求量没,没理解你具体要干嘛