springMVC选择servlet的init方法加载配置文件,而jfinal选择Filter的init方法来加载配置文件
二者有什么不同?
这样选择有什么理由,或者说优势?
Filter的init方法一定会在容器启动的时候执行,但Servlet的init方法未必,要看load参数是怎么写的,默认的话,只有该Servlet首次被访问(访问路径匹配了urlMapping)才会触发init的调用。
Filter
init
Servlet
load
urlMapping
另外,比起两个init,我更喜欢把所有的初始化工作放在ServletContextListener的contextInitialized里。
ServletContextListener
contextInitialized
前段时间我也观察到了,也不是很理解 filter 和servlet执行顺序一个在前一个在后 不知是不是因为设计上的原因而选择使用servlet或filter的
Filter
的init
方法一定会在容器启动的时候执行,但Servlet
的init
方法未必,要看load
参数是怎么写的,默认的话,只有该Servlet首次被访问(访问路径匹配了urlMapping
)才会触发init
的调用。另外,比起两个
init
,我更喜欢把所有的初始化工作放在ServletContextListener
的contextInitialized
里。前段时间我也观察到了,也不是很理解 filter 和servlet执行顺序一个在前一个在后 不知是不是因为设计上的原因而选择使用servlet或filter的