web.xml中classpath*:与classpath:的区别
classpath对应src目录,该目录下的文件会在编译后被存放到WEB-INF文件夹下的classes目录。
classpath:只会到你的class路径中查找配置文件,对于多个同名的配置文件,只会加载找到的第一个文件;
classpath*:除了指定的class路径,还会到该class路径下的jar包中进行查找配置文件,对于多个同名的配置文件,都会被加载。
但是对于classpath*,无法使用模糊匹配的方式,可以通过逗号来隔开多个配置文件。
123456789
contextConfigLocation
classpath*:applicationContext.xml,
classpath*:app-1.xml,
classpath*:app-2.xml,
classpath*:app-3.xml,
classpath*:app-4.xml
在一个filter配置多个url-pattern
如果想一个filter配置多个url-pattern,需要在filter标签后添加多个filter-mapping标签。因为一个filter-mapping标签里只能有一个url-pattern,不能直接把多个url-pattern配置到同一个filter-mapping标签里,也不能直接把多个url直接配置到一个url-pattern标签里。
正确地配置方式如下所示:
123456789101112
test
com.test.TestFilter
test
/test/a/*
test
/test/b/*
报错Invalid content was found starting with element ‘init-param’
在web.xml中配置servlet节点时报错如下:cvc-complex-type.2.4.a: Invalid content was found starting with element ‘init-param’. One of ‘{“http://java.sun.com/xml/ns/j2ee":run-as, “http://java.sun.com/xml/ns/j2ee":security-role-ref}' is expected.
原因是init-param节点不能放在load-on-startup节点的后面,将init-param节点放置到前边就不再报这个错误了:
12345678910111213
resteasy-servlet
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
javax.ws.rs.Application
com.cbx.ws.rest.jaxrs.CbxApplication
2
参考链接:
赞赏支持
微信打赏
支付宝打赏