KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am new to servlet and reading some text about filters and wrappers. I can understand filters but got confused about wrappers. In the book, the author gives an example: In case no wrapper: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String name = request.getParameter("name").trim(); try { chain.doFilter(request, response); PrintWriter out = response.getWriter(); if (name.length() == 0) { out.println("Some message"); out.println("</body>"); out.println("</html>"); out.close(); } } catch (Throwable t) { } } In case of wrapper: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String name = request.getParameter("name").trim(); HttpServletResponse httpRes = (HttpServletResponse) response; HttpServletResponseWrapper resWrapper = new HttpServletResponseWrapper(httpRes); try { chain.doFilter(request, response); PrintWriter out = resWrapper.getWriter(); // why dont we just use response.getWriter(); if (name.length() == 0) { out.println("<h3>Some message"); out.println("</body>"); out.println("</html>"); out.close(); } } catch (Throwable t) { } } Why we need HttpServletResponseWrapper while we can do the same thing with ServletResponse in case 1? Can anyone give me a clear example that we MUST use HttpServletResponseWrapper instead of ServletResponse ? I have tried to google but found no luck.</
Tags (comma-separated)
Save Edits
Cancel