我有一个包含Flash标语的Spring 2.5应用程序。我没有Flash组件的来源,但是它具有硬编码到某些页面的链接,这些链接最终以.html 我希望能够将这些.html页面重定向到现有的jsp页面为目的。我如何让Spring将几个.html页面解析为.jsp页面?
.html
我的项目看起来像:
WebContent | -sample.jsp -another.jsp WEB-INF | -myapp-servlet.xml -web.xml
我想localhost:8080/offers.html重定向到localhost:8080/sample.jsp
localhost:8080/offers.html
localhost:8080/sample.jsp
我可以用Spring做吗?我已经在myapp- servlet.xml中定义了SimpleUrlHandlerMapping和UrlFilenameViewController,必须继续为其提供的页面提供服务。
在我的web.xml中,
<servlet-mapping> <servlet-name>myapp</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping>
更新资料
这是URL映射器。如果添加控制器,由于视图解析器包含/ WEB-INF / jsp目录,如何返回WebContent目录中的jsp视图。
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/page1.htm">page1Controller</prop> <prop key="/page2.htm">page2Controller</prop> </props> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean>
我认为您可以从tuckey.org制作的开源URL重写库中受益。SpringSource的人赞成这个库,因为如果您使用Spring Roo创建一个项目,它会自动为您设置,所以它的质量很高。我已经在许多项目中成功使用了它。
请参见此处获取其主页。Skaffman是对的,您希望它“转发”而不是重定向,这是默认行为。
像这样在web.xml中配置它:
<filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> </filter>
然后,在WEB-INF / urlrewrite.xml中有一个像这样的元素:
<rule> <from>offers.html</from> <to>offers.jsp</to> </rule>