java - doFilter called twice, intended behaviour? -


i'm working through java ee servlet tutorial , tried mood example. noticed dofilter getting called twice, once servlet call in chain , second time isnt.

i added printlns in timeofdayfilter.java , in moodservlet.java show this.

timeofdayfilter.java:

    ...     system.out.println("timeofday before"); //added     chain.dofilter(req, res);     system.out.println("timeofday after"); //added     ... 

moodservlet.java:

    ...     response.setcontenttype("text/html;charset=utf-8");      system.out.println("moodservlet"); //added      printwriter out = response.getwriter();     ... 

the result glassfish server (3.1) window when calling servlet following:

    info: mood deployed in 406 milliseconds.     info: timeofday before     info: moodservlet     info: timeofday after     info: timeofday before     info: timeofday after 

is intended behaviour? if so, reason call?

chain.dofilter(request,response); 

this pass control servlet filter associated with. after corresponding servlet executed, control comes @ end of above line , lines thereafter in current dofilter() executed.

if want pass control permanently servlet , not letting return filter, add

return; 

at end of chain.dofilter(request,response) line in current filter.


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -