关于servlet2.4新特性 [Permalink]
Mon Nov 22 10:07:59 CST 2004
servlet2.4有不少新特性,的确强大了不少。实践中碰到了不少应用问题,解决起来很是过瘾。
ServletFilter
现在可以设置是否对include/error/forward/request进行响应。这样一来,就可以很精确的控制过滤内容了。一个比较典型的应用:
在一个wap应用中,我在filter中对所有的.jwml进行contenttype的设置。在servlet2.4里面,默认不对include/error/forward/request进行filter,这样可以避免复杂的包含关系和调用顺序问题。但是,如果我想让响应http error code(比如404)的error page也需要filter过滤,因为上述默认设置,即使满足uri pattern,filter也不会激发。所以,这时候我就需要修改这个默认设置,使之对于error这种情况进行响应:
<filter-mapping> <filter-name>wmlmimefilter</filter-name> <url-pattern>*.jwml</url-pattern> <dispatcher>ERROR</dispatcher> </filter-mapping>这是一个简单例子,举一反三,就知道这个细节对于日常应用是多么实用了。类似的改进在新版servlet中还有不少,大家可以通过比较新的web.xml的schema(不再是dtd)和以前的dtd来一一认识
Posted by: miles
Comments on this entry