Spring Security Login liefert 404

Ich arbeite derzeit an meinem Blog im Rahmen des Frühlings. Ich implementiere die Spring Security zum Zwecke der Anmeldung. Alles funktioniert wie erwartet, bis ich die Anmeldeinformationen abschicke, die immer den 404-Code zurückgeben.

Hier ist mein web.xml code

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>avispring</display-name>          

<error-page>
    <error-code>404</error-code>
    <location>/404.html</location>
</error-page>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring-database.xml</param-value>
</context-param>

<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>/admin/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<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>/</url-pattern>        
</servlet-mapping>

Hier ist mein Sicherheitscode für die Feder:

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/avispring"/>
    <property name="username" value="root"/>
    <property name="password" value=""/>
</bean>
<security:debug/>
<security:http auto-config="true">
    <security:intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')"/>
    <security:intercept-url pattern="/j_spring_security_check" access="permitAll"/>
    <security:form-login        
    login-page="/login.html"
    authentication-failure-url="/login?login_error=1"
    default-target-url="/admin/home.html"/>     
</security:http>

<security:authentication-manager>
    <security:authentication-provider>
        <security:jdbc-user-service 
            data-source-ref="dataSource"
            users-by-username-query="select USERNAME,PASSWORD,ENABLED from USER_AUTHENTICATION where USERNAME=?"
            authorities-by-username-query="select u1.USERNAME,u2.ROLE from USER_AUTHENTICATION u1,USER_AUTHORIZATION u2 where u1.USER_ID=u2.USER_ID and u1.USERNAME=?"/>
    </security:authentication-provider>
</security:authentication-manager>

in Teil meines login.jsp-Codes ist

<form action="<c:url value="/login"/>" method="post">
      <div class="form-group has-feedback">
        <input type="email" class="form-control" placeholder="Email" name="username">
        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
      </div>
      <div class="form-group has-feedback">
        <input type="password" class="form-control" placeholder="Password" name="password">
        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
      </div>
      <div class="row">
        <div class="col-xs-8">
          <div class="checkbox icheck">
            <label>
              <input type="checkbox"> Remember Me
            </label>
          </div>
        </div><!-- /.col -->
        <div class="col-xs-4">
          <button type="submit" class="btn btn-primary btn-block btn-flat"     name="submit">Sign In</button>
        </div><!-- /.col -->
      </div>
    </form>

und die Konsolenausgabe ist

16.10.2015 01:06:03 org.springframework.web.servlet.DispatcherServlet noHandlerFound WARNUNG: Keine Zuordnung für HTTP-Anforderung mit URI [/ avispring / login] in DispatcherServlet mit dem Namen 'spring' @ gefunde

Hinweis

Ich benutze Feder 4.2.1 und Federsicherheit 4.0.2 Die meisten Foren verweisen auf den Kontextpfad, d. H. [appname / login] oder [appname / j_spring_security_check] und ich denke, meins ist in Bezug auf es in Ordnung

Bitte helfen Sie ...

AKTUALISIEREN

wenn ich log4j verwendet habe, sieht die Debug-Ausgabe zum Zeitpunkt der Formularübermittlung wie folgt aus:

DEBUG: org.springframework.web.servlet.DispatcherServlet - Anforderungskontext an Thread gebunden: org.apache.catalina.connector.RequestFacade@c8b445 DEBUG: org.springframework.web.servlet.DispatcherServlet - DispatcherServlet mit dem Namen 'spring', das POST verarbeitet request for [/ avispring / login] DEBUG: org.springframework.web.servlet.DispatcherServlet - Testhandlerzuordnung [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping@16fffcf] in DispatcherServlet mit dem Namen 'spring' DEB : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Handlermethode für Pfad / Login suchen DEBUG: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Handlermethode für [nicht gefunden / login] DEBUG: org.springframework.web.servlet.DispatcherServlet - Testen der Handlerzuordnung [org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping@138f01b] in DispatcherServlet mit dem Namen 'spring' DEBUG: org.springframework.web.servlet. handler.BeanNameUrlHandlerMapping - Keine Handlerzuordnung für [/ login] gefunden. DEBUG: org.springframework.web.servlet.DispatcherServlet - Testhandlerzuordnung [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@1ff154c] in DispatcherServlet mit dem Namen ' DEBUG: org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - Keine Handlerzuordnung für [/ login] gefunden WARNUNG: org.springframework.web.servlet.PageNotFound - Keine Zuordnung für HTTP-Anforderung mit URI [/ avispring / login] in gefunden DispatcherServlet mit dem Namen 'spring' DEBUG: org.springframework.web.servlet.DispatcherServlet - Threadgebundenen Anforderungskontext gelöscht: org.apache.catalina.connector.RequestFacade@c8b445 DEBUG: org.springframework.web.servlet.DispatcherServlet - Erfolgreich abgeschlossen request DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Veröffentlichungsereignis im WebApplicationContext für den Namespace 'spring-servlet': ServletRequestHandledEvent: url = [/ avispring / login]; client = [0: 0: 0: 0: 0: 0: 0: 1]; method = [POST]; Servlet = [Feder]; session = [BC0FB7E62DC0AFABD8EF72B8BF1CED54]; user = [null]; Zeit = [3ms]; status = [OK] DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Veröffentlichungsereignis in Root-WebApplicationContext: ServletRequestHandledEvent: url = [/ avispring / login]; client = [0: 0: 0: 0: 0: 0: 0: 1]; method = [POST]; Servlet = [Feder]; session = [BC0FB7E62DC0AFABD8EF72B8BF1CED54]; user = [null]; Zeit = [3ms]; status = [OK] DEBUG: org.springframework.web.servlet.DispatcherServlet - Anforderungskontext an Thread gebunden: org.apache.catalina.core.ApplicationHttpRequest@bb82df DEBUG: org.springframework.web.servlet.DispatcherServlet - DispatcherServlet mit Name spring 'verarbeitet POST-Anforderung für [/avispring/404.html] DEBUG: org.springframework.web.servlet.DispatcherServlet - Testhandlerzuordnung [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping@16fffcf] in DispatcherServlet mit dem Namen 'spring' DEBUG: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Handlermethode nach Pfad suchen /404.html DEBUG: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - 1 übereinstimmende Zuordnung (en) zu [/404.html] gefunden: [{[/404.html]}] DEBUG: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Returning-Handler-Methode [Öffentliche Organisation .springframework.web.servlet.ModelAndView com.avispring.controll ers.HelloController.errorPage ()] FEHLER: org.springframework.web.servlet.DispatcherServlet - Testhandleradapter [org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter@511db5] FEHLER: org.springframework.web.servlet.DispatcherServlet - Testhandleradapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@1a86ee] FEHLER: org.springframework.web.servlet.DispatcherServlet - Testhandleradapter [org.springframework.web.servlet.mvc.method.annotation.RequestMapping c26a5f] DEBUG: org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod - Aufruf der Methode [HelloController.errorPage] mit Argumenten [] DEBUG: org.springframework.web.servlet.mvc.method.annotation.ServletInvocable - [errorPage] hat [ModelAndView: Verweis auf Ansicht mit dem Namen '/ 404' zurückgegeben; model is null] DEBUG: org.springframework.web.servlet.DispatcherServlet - Rendering-Ansicht [org.springframework.web.servlet.view.JstlView: name '/ 404'; URL [/WEB-INF/jsp//404.jsp]] in DispatcherServlet mit dem Namen 'spring' DEBUG: org.springframework.web.servlet.view.JstlView - Rendering-Ansicht mit dem Namen '/ 404' mit Modell {} und statisch Attribute {} DEBUG: org.springframework.web.servlet.view.JstlView - Weiterleitung an Ressource [/WEB-INF/jsp//404.jsp] in InternalResourceView '/ 404' DEBUG: org.springframework.web.servlet.DispatcherServlet - Thread-gebundenen Anforderungskontext gelöscht: org.apache.catalina.core.ApplicationHttpRequest@bb82df DEBUG: org.springframework.web.servlet.DispatcherServlet - Anforderung erfolgreich abgeschlossen DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Veröffentlichung im WebApplicationContext für den Namespace 'spring-servlet': ServletRequestHandledEvent: url = [/ avispring / 404.html]; client = [0: 0: 0: 0: 0: 0: 0: 1]; method = [POST]; Servlet = [Feder]; session = [BC0FB7E62DC0AFABD8EF72B8BF1CED54]; user = [null]; Zeit = [1ms]; status = [OK] DEBUG: org.springframework.web.context.support.XmlWebApplicationContext - Veröffentlichungsereignis im Stammverzeichnis WebApplicationContext: ServletRequestHandledEvent: url = [/ avispring / 404.html]; client = [0: 0: 0: 0: 0: 0: 0: 1]; method = [POST]; Servlet = [Feder]; session = [BC0FB7E62DC0AFABD8EF72B8BF1CED54]; user = [null]; Zeit = [1ms]; status = [OK]

Antworten auf die Frage(4)

Ihre Antwort auf die Frage