URL Pattern Restricting in SPRING MVC

2020-03-01 17:15发布

问题:

My Spring Web MVC application has the following handler mapping in the Controller.

@RequestMapping(method = RequestMethod.GET, value = "/something")

When request is sent to

http://www.someURL.com/something

, it works fine and maps to correct controller but,

http://www.someURL.com/something.bak or http://www.someURL.com/something.abc or http://www.someURL.com/something.abc.deff.xyz also works!!

I want to restrict this to just http://www.someURL.com/something and not to others.

web.xml defines the mappings as :-

<servlet-mapping>
        <servlet-name>abc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

Please suggest.

回答1:

You can use the useDefaultSuffixPattern property.

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    <property name="useDefaultSuffixPattern" value="false" />
</bean>


回答2:

In addition to above, refer to documentation below: http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/servlet/mvc/annotation/DefaultAnnotationHandlerMapping.html

Method: setUseDefaultSuffixPattern()

Also go through similar queries asked below: How to change Spring MVC's behavior in handling url 'dot' character