2010-06-17 22 views
5

benim mvc-config.xml bir parçacık İşte: Ben welcome.jsp varBahar 3,0 MVC MVC: view-controller etiketi İşte

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/views/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

<mvc:view-controller path="/index" view-name="welcome"/>  
<mvc:view-controller path="/static/login" view-name="/static/login"/> 
<mvc:view-controller path="/login" view-name="/static/login"/> 

login.jsp'ye üzerinde/WEB-INF/görüş/dizin ve üzerine/WEB-INF/görüş/static /.

Bu, '/ index' ve '/ login' yolları için çalışır. Ancak, tarayıcıdan çağrıldığında '/ static/login' için 404 yanıtı alıyorum. '/ Static/login /' ve '/ login' öğelerinin aynı şekilde davranmasını bekliyorum.

Burada yanlış olan ne olabilir?

Herhangi bir yardım için teşekkür ederiz.

Teşekkürler! İşte

web.xml var:

<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"> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath*:META-INF/spring/applicationContext*.xml</param-value> 
    </context-param> 

    <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
    </filter> 

    <!-- Enables clean URLs with JSP views e.g. /welcome instead of /app/welcome --> 
    <filter> 
     <filter-name>UrlRewriteFilter</filter-name> 
     <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <filter-mapping> 
     <filter-name>UrlRewriteFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

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

    <!-- Handles all requests into the application --> 
    <servlet> 
     <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value> 
       /WEB-INF/spring/*.xml 
      </param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <!-- Maps all /app requests to the DispatcherServlet for handling --> 
    <servlet-mapping> 
     <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
     <url-pattern>/app/*</url-pattern> 
    </servlet-mapping> 

</web-app> 

ve burada urlrewrite.xml geçerli:

<urlrewrite default-match-type="wildcard"> 
    <rule> 
     <from>/</from> 
     <to>/app/welcome</to> 
    </rule> 
    <rule> 
     <from>/static/**</from> 
     <to last="true">/static/$1</to> 
    </rule> 

    <rule> 
     <from>/**</from> 
     <to last="true">/app/$1</to> 
    </rule> 
    <outbound-rule> 
     <from>/app/**</from> 
     <to>/$1</to> 
    </outbound-rule>  
</urlrewrite> 

Çevre: Ben SpringSource tc Sunucusu Dev Sürümü v2.0 kullanıyorum
Bahar version: 3.0.3.RELEASE

cevap

6

Talebi, senin DispatcherServlet giremem. Daha fazla bilgi için UrlRewriteFilter belgelerine bakın.

+0

O kısmı göz ardı ettim. Şimdi çalışıyor. Teşekkür ederim! – gouki

2

Bu benim için iyi çalışıyor, bana Dispatcher Servlet eşleştirmelerinizin ne olduğunu söyleyebilir misiniz? Tüm web.xml içeriğini ekleyebiliyorsanız hoş olurdu. o DispatcherServlet yol açar /** den /app/$1 kuralı, uymuyor bu nedenle last = "true" ile /static/$1 için /static/** den yeniden kuralı ile eşleşir ve çünkü /static/login için

+0

Ben web.xml içerik ve urlrewrite.xml içerecek şekilde sorumu kaydetmiştiniz. Teşekkürler! – gouki