Я новичок в Spring Security
У меня есть web.xml
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext-security.xml </param-value> </context-param> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>
applicationContext-security.xml
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd"> <http auto-config="true"> <intercept-url pattern="/register.html" access="IS_AUTHENTICATED_ANONYMOUSLY" /> <intercept-url pattern="/*" access="ROLE_USER, ROLE_ADMIN" /> <logout logout-url="/logout"/> </http> <beans:bean id="myUserDetailsService" class="labas.spring.service.UserDetailsImp"/> <authentication-manager> <authentication-provider user-service-ref='myUserDetailsService'/> </authentication-manager>
почему, когда я запускаю его, я получаю
java.lang.IllegalStateException: не найден WebApplicationContext: не зарегистрирован зарегистрирован ContextLoaderListener?
что не так?
Вы не объявили корневой контекст веб-приложения - вы добавили contextConfigLocation, но не прослушиватель, который его использует:
contextConfigLocation
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>