关于本节代码中的几个疑惑,希望老师能帮助解答一下
这段代码还是不太理解,其中的HttpServletResponseWrapper是如何使用的,我网上都找不到跟这类似的用,还有这里的PrintWriter ,最后为什么还要out.flush()
boolean adminRole = userService.checkAdminRole(currentUser);
if (adminRole) {
filterChain.doFilter(servletRequest, servletResponse);
} else {
PrintWriter out = new HttpServletResponseWrapper(
(HttpServletResponse) servletResponse).getWriter();
out.write("{\n"
+ " \"status\": 10009,\n"
+ " \"msg\": \"NEED_ADMIN\",\n"
+ " \"data\": null\n"
+ "}");
out.flush();
out.close();
}
59
收起
正在回答
3回答
同学你好,HttpServletRequestWrapper和HttpServletResponseWrapper是对HttpServletRequest和HttpServletResponse的包装。可以在请求执行前拦截请求,请求响应前对拦截响应,进行处理等。
比如使用HttpServletRequestWrapper对请求拦截,可以过滤一些敏感词汇。使用HttpServletResponseWrapper对响应拦截,修改响应内容等。
在之前并没有讲过,只是在这里使用。
同学可以参考一下下边同学提供的链接,看一下HttpServletRequestWrapper的用法。
祝:学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星