Wie verwenden von Standard-servlet-handler

Möchte ich konfigurieren, Spring MVC zu dienen dynamische Dateien, gemischt mit statischen Dateien, wie hier (URL => Datei):

/iAmDynamic.html   => /WEB-INF/views/iAmDynamic.html.ftl
/iAmAlsoDynamic.js => /WEB-INF/views/iAmAlsoDynamic.js.ftl
/iAmStatiHtml      => /iAmStatic.html

Den DispatchServlet zugeordnet ist /, annotation-basierten MVC-Konfiguration aktiviert ist und ich habe einen view-controller wie folgt aus (Vereinfacht):

@Controller
public class ViewController
{
    @RequestMapping("*.html")
    public String handleHtml(final HttpServletRequest request)
    {
         return request.getServletPath();
    }

    @RequestMapping("*.js")
    public String handleJavaScript(final HttpServletRequest request)
    {
        return request.getServletPath();
    }
}

Frühjahr config sieht wie folgt aus:

<context:component-scan base-package="myPackage" />

<mvc:default-servlet-handler />

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  <property name="templateLoaderPath" value="/WEB-INF/views/" />
</bean>

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  <property name="cache" value="true" />
  <property name="prefix" value="" />
  <property name="suffix" value=".ftl" />
</bean>

Leider funktioniert es nicht. Wenn diese <mvc:default-servlet-handler /> aktiv ist, dann kann ich nur Zugriff auf die iAmStatic.html - Datei. Wenn ich deaktivieren Sie die default-servlet-handler dann nur das dynamische Zeug funktioniert. Aber ich will beide auf einmal und das ist genau das, was das default-servlet-handler tun soll, oder nicht? Wo ist der Fehler hier?

InformationsquelleAutor kayahr | 2011-11-05
Schreibe einen Kommentar