Привет, ребята, я работаю с Spring 3.2.3, hibernate 4.2.2 и org.springframework.security 3.0.5. Прежде чем я начну работать с безопасностью весной, мой файл контекста был назван servlet-context.xml, и все работало нормально. Так как я начать использовать org.springframework.security 3.0.5, когда я пытаюсь запустить мое приложение, я получаю ошибку:Проблема с именем appServlet-servlet.xml
java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/appServlet-servlet.xml]
Мой web.xml является:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
<!-- Spring MVC -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/servlet-context.xml,
/WEB-INF/spring-security.xml
</param-value>
</context-param>
<!-- Spring Security -->
<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>
Обратите внимание, что я указываю свой сервлет-context.xml:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/servlet-context.xml,
/WEB-INF/spring-security.xml
</param-value>
</context-param>
Если я оставлю свой web.xml так же, как это, и скопирую/вставьте содержимое моего сервлета-context.xml в новый файл appServlet-servlet.xml, все будет хорошо. Это запутывает меня, так как я сказал web.xml, что моим именем контекстного файла был servlet-context.xml. Я вынужден вызвать свой контекстный файл как appServlet-servlet.xml ??. Конечно, если я удалю servlet-context.xml и оставьте appServlet-servlet.xml, создавая спецификацию в web.xml, отлично работает.
Я просто хочу знать, обязательно ли вызывать мой контекстный файл как appServlet-servlet.xml, если я хочу использовать весеннюю безопасность в своем приложении.
Но если это так, как это работает, почему, прежде чем я начал использовать пружинную безопасность я был в состоянии работать с моим «сервлетом-context.xml»?. – kiduxa
О, теперь я понимаю лучше. Ваша ссылка была очень полезной. Прежде чем использовать весеннюю безопасность, в моем web.xml я использовал «WebApplicationContext». Вот почему он отлично работал. Спасибо большое @Julien :). – kiduxa
Счастлив, что это помогло :) – Julien