欢迎光临
我们一直在努力

spring mvc url参数

在Spring MVC中,url-pattern是一个非常重要的配置项,它用于指定控制器类和方法之间的映射关系,本文将详细介绍Spring MVC中url-pattern的写法。

1、基本概念

在Spring MVC中,url-pattern是用来匹配请求路径的,它可以是一个字符串,也可以是一个正则表达式,当一个请求到达DispatcherServlet时,它会遍历所有的HandlerMapping,找到与请求路径匹配的HandlerMapping,然后将请求交给对应的Controller进行处理。

2、url-pattern的写法

在Spring MVC中,url-pattern有两种写法:一种是使用Ant风格的路径,另一种是使用regex风格的路径。

2、1 Ant风格的路径

Ant风格的路径是以“/”为分隔符的路径,

<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/springmvc-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
        <location>/tmp</location>
        <max-file-size>5242880</max-file-size>
        <max-request-size>5242880</max-request-size>
        <file-size-threshold>0</file-size-threshold>
    </multipart-config>
</servlet>
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

在这个例子中,url-pattern为“/”,表示所有请求都会被DispatcherServlet处理,当然,你也可以指定具体的路径,

<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

这个例子中,只有以“/hello”开头的请求才会被DispatcherServlet处理。

2、2 regex风格的路径

regex风格的路径是以“*”为通配符的路径,

<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/springmvc-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
        <location>/tmp</location>
        <max-file-size>5242880</max-file-size>
        <max-request-size>5242880</max-request-size>
        <file-size-threshold>0</file-size-threshold>
    </multipart-config>
</servlet>
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/*.html</url-pattern>
</servlet-mapping>

在这个例子中,url-pattern为“/*.html”,表示所有以“.html”结尾的请求都会被DispatcherServlet处理,当然,你也可以指定具体的路径,

<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/user/*</url-pattern>
</servlet-mapping>

这个例子中,只有以“/user/”开头的请求才会被DispatcherServlet处理,需要注意的是,regex风格的路径不支持“/”字符作为路径的一部分,如果你需要匹配以“/”开头的路径,你需要使用Ant风格的路径。

赞(0) 打赏
未经允许不得转载:九八云安全 » spring mvc url参数

评论 抢沙发