问题:
使用SpringSecurity进行测试的时候,启动服务器爆出:找不到ContexeLoadListener或者DiaspatcherServlet
想:
- ContextListener是监听器,创建SpringIOC容器,DispacherServlet是servlet创建SpringIOC容器
- 现在我们是进行测试,只有一个springMVC容器,web.xml文件中,也是直接扫描的spring-mvc.xml配置文件,容器只有一个。
- 初始化的时候,找不到,第一次发请求的时候,肯定可以找到。
然后发现:
- 配置请求的configure(HttpSecurity http)方法中,提交表单成功后,登录页面的地址请求少写了“/”,导致找不到容器。
问题已解决,但是想为什么
- 仅仅是一个请求错了,不是报一个404,notfound么,为什么都找不到容器,服务器都启动不了
- 这里想起来,在web.xml文件中 DelegatingFilterProxy是filterclass,
springSecurityFilterChain是filtername,对应容器中有好多的filter(过滤器),就是处理登录啊、授权、提交表单,成功默认页面啊,这里写错请求,找不到请求,过滤器发生错误,导致容器发生错误,所以服务器启动不了。 - 这是自己的看法,如有错误,请指正!!!