aspose file tools*
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes Confused about doFilter() - Filters and Wrappers Mock in HFSJ Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "Confused about doFilter() - Filters and Wrappers Mock in HFSJ" Watch "Confused about doFilter() - Filters and Wrappers Mock in HFSJ" New topic
Author

Confused about doFilter() - Filters and Wrappers Mock in HFSJ

Sue Pillai
Ranch Hand

Joined: Nov 04, 2004
Posts: 89
I thought I got it all right until I came across question 5 on pg 703 in HFSJ:

For the benefit of those who do not have the book, the question is:

Which about filters are true?

E) A filter's doFilter() method must call doFilter() on the input FilterChain object in order to ensure that all filters have a chance to execute.

G) A filter's doFilter() may block further request processing.

I thought E is true and G is false.

The explanations given in the book:

E) Incorrect because doFilter() is not necessary if a filter wishes to block further request processing

G) This is correct

Could somebody give an explanation as to why E is false and G is true.

- If the rest of the filters in the chain should be executed, shouldn't the filter call the chain.doFilter() method? How can you ensure the rest of the filters are called without calling chain.doFilter()?

- Also, can a filter itself block further request processing?

- I read in the spec that "the filter chain can block the request by not making the call to invoke the next entity leaving the filter to fill the response object. and assumed that only a filter chain's doFilter() can block request not filter's doFilter(). Where am I going wrong?

Please help.


Sue

SCJP 1.2
SCWCD 1.4
SCBCD 5.0
muthu kumaran
Ranch Hand

Joined: Oct 26, 2004
Posts: 56
I read in the spec that "the filter chain can block the request by not making the call to invoke the next entity


The filter here refers to a chain of filters and NOT FilterChain class
Nilesh Gadkari
Greenhorn

Joined: Feb 28, 2004
Posts: 4
(E) is wrong since a filter may not call doFilter() on the FilterChain. It may generate the response itself and send back. According to (E) a filter has to compulsorily('must') call doFilter on the FilterChain to let other filters also have a chance of execution. In fact a filter can get the RequestDispatcher from the request and even forward it to other resource; this is rarely used though.

(G) very well specifies this.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Confused about doFilter() - Filters and Wrappers Mock in HFSJ