Wie kann ich die Karte ein spring-controller eine url mit .jsp-Erweiterung?
Wir sind in den Prozess der Migration von jsp-Anwendung auf Spring-MVC. Aus verschiedenen Gründen können wir nicht ändern, die Verlängerung der bestehenden Seiten. (ruft zur Anmeldung auf.jsp müssen behandelt, die durch eine Feder controller, verwenden Sie eine jsp-Datei als view).
Wir tun dies iterativ, so dass einige Seiten brauchen, um zu bleiben jsp-Dateien (Anrufe begrüßen zu dürfen.jsp werden nicht behandelt, die von einem controller).
Zu tun, dass ich gemappt sowohl die DispatcherDervlet und die HandlerMapping zu *.jsp und konfiguriert die JstlView in der standard-Weg.
Leider, wenn ich navigieren Sie zu " //login.jsp bekomme ich eine Fehlermeldung
<No mapping found for HTTP request with URI [/<context>/WEB-INF/jsp/login.jsp] in DispatcherServlet with name 'spring'>
Es funktioniert alles, wenn ich eine änderung .jsp auf eine andere Erweiterung in DispatcherServlet und HandlerMapping.
web.xml:
<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>*.jsp</url-pattern>
</servlet-mapping>
spring-servlet.xml:
<!-- View resolver -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- URL Mapping -->
<bean id="publicUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/login.jsp" value-ref="loginController"/>
</map>
</property>
</bean>
Vielen Dank.
UPDATE: ich habe gerade verifiziert, dass, wenn ich benennen meine .jsp-Dateien auf etwas anderes.jst) und aktualisieren Sie den viewResolver entsprechend, als es funktioniert alles. Offenbar, wenn die Sicht gelöst, um eine Datei mit der Erweiterung .jsp, spring, versucht uns die Sicht zu einem anderen controller.
Du musst angemeldet sein, um einen Kommentar abzugeben.
[unverhohlen gestohlen http://forum.springsource.org/showthread.php?13263-Using-.jsp-extension]
Dieser arbeitete für mich. Versuchen Sie, diese zu Ihrem web.xml Datei:
Bitte beachten Sie, dass Sie auch mit den Informationen im link, ich verstehe nicht, warum das hilft. Wenn einige Spring-Experte könnte drop von und zu erklären, würde ich gerne wissen.
Ich kann auch nicht garantieren, dass es keine potenziellen Sicherheitslücken/Probleme mit der Zuverlässigkeit könnte dies zu erstellen, so verwenden Sie auf eigene Gefahr.
wenn es wirklich nicht mit arbeiten .jsp-Erweiterungen (auch wenn ich Sie nicht persönlich sehen keinen Grund dafür), Sie könnten versuchen, mit http://tuckey.org/urlrewrite/ zu tun, ein umschreiben der urls ersten.