为了web.xml里面不要有太多servlet配置。
1>能否通过通配符,来批量配置一个package下的servlet的url-mapping 呢?
2>还是通过Filter来实现呢?
你可以参考Spring Security或acegi的org.acegisecurity.util.FilterToBeanProxy、org.acegisecurity.util.FilterChainProxy的写法。
只是,你必须把Servlet的功能用Bean来实现了。Servlet的生命周期的管理是一个难点,不过也可以自己实现一个的。
为了web.xml里面不要有太多servlet配置。
1>能否通过通配符,来批量配置一个package下的servlet的url-mapping 呢?
2>还是通过Filter来实现呢?
1.貌似规范里边没有给servlet通配符的写法
2.可以使用filter来实现
例如配置url-pattern为/servlet/*,在dofilter里边,有参数request,可以获取到来到的url,例如是/servlet/a,你可以取得a,然后根据a来找对应的servlet。。。然后把请求转发过去就可以了
这个需求目前不可能实现,因为目前的servlet规范中并没有定义任何可以通过程序向servlet容器注册servlet的相关定义,所有servlet目前都是由servlet容器启动时进行加载的,不可能通过程序中某些API向servlet容器动态注册或删除servlet,servlet规范中定义目前所有的servlet的生命周期必须由容器来管理,既然程序影响不了servlet,而且servlet规范中也没有相关API,所以实现这个基本很难。
附:上面说的通过filter来实现,这个基本也不可能,因为你根据请求中的a去找servlet,你的servlet还是要在web.xml中单独配置的,不可能把一个包下所有类通过通配符注册成servlet并让容器加载