Spring SimpleUrlHandlerMapping不适用于具有少量扩展名(如dsm或ds)的url
我试图在春季实现Spring SimpleUrlHandlerMapping不适用于具有少量扩展名(如dsm或ds)的url,spring,spring-mvc,Spring,Spring Mvc,我试图在春季实现simplerlhandermapping。我使用的是Spring4.2.5version 下面是我的映射 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
simplerlhandermapping
。我使用的是Spring4.2.5
version
下面是我的映射
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
.....
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello1.dsm">hc</prop>
</props>
</property>
</bean>
<bean id="hc" class="com.vaannila.HelloWorldController" >
<property name="message" value="Hello World!" />
</bean>
....
</beans>
但当我在浏览器中点击url“”时,我得到请求的资源不可用错误,即404
后来,当我将键更改为“/hello1.htm”时,它可以很好地处理相应的url。我想知道在将url映射到控制器时,是否有关于url扩展的规则。在web.xml中,dispatcher servlet url模式配置为.htm扩展
<?xml version="1.0" encoding="UTF-8"?>
............
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>............
............
调度员
org.springframework.web.servlet.DispatcherServlet
1.
调度员
*.htm
............
因此,对于“.htm”扩展,它工作得很好。
为了使其适用于其他扩展,我们需要在web.xml文件中设置相应的url模式
<?xml version="1.0" encoding="UTF-8"?>
............
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>............