我是Servlet编程的新手,我对包装响应有疑问。因为我无法理解何时使用它。例如,我有过滤器和servlet如下。
的
过滤
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
chain.doFilter(req, resp);
HttpServletResponse httpServletResponse = (HttpServletResponse)resp;
httpServletResponse.getWriter().println("hi from filter");
}
的Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println("Hi from servlet");
}
那么,它们之间有什么区别?我可以使用它们来使用相同的响应对象进行写入,因为在servlet和filter之间存在全双工方式(真诚地,相同的请求和响应实例进入servlet并再次进行过滤),不是吗?我有点困惑。我赞成如果你能给我一个体面的场景,这显然可以展示包装类的目标。 谢谢&问候:)