Spring MVC 3.0实战:URL表达式与REST风格支持

需积分: 0 1 下载量 187 浏览量 更新于2024-08-18 收藏 2.62MB PPT 举报
"本文主要介绍了Spring MVC 3.0中通过URL限定的URL表达式,讲解了Ant风格的路径匹配以及带占位符的URL如何工作,并提到了Spring MVC框架的概览、新特性和核心组件。" 在Spring MVC框架中,`@RequestMapping`注解是用于将HTTP请求映射到特定的处理器方法的关键工具。它不仅支持标准的URL路径,还允许使用Ant风格的通配符来匹配多种URL模式。Ant风格的URL表达式包括`?`, `*`, 和 `**`,这些通配符提供了强大的路径匹配功能。 1. `?`通配符:匹配单个任意字符。例如,`/user/createUser??`将匹配 `/user/createUseraa` 或 `/user/createUserbb` 等URL,但不匹配 `/user/createUser`。 2. `*`通配符:匹配任意多个字符,但不包括路径分隔符("/")。如`/user/*/createUser`将匹配 `/user/aaa/createUser` 或 `/user/bbb/createUser`。 3. `**`通配符:匹配任意多个字符,包括路径分隔符。所以`/user/**/createUser`可以匹配 `/user/createUser`、`/user/aaa/bbb/createUser` 等更深层次的URL。 4. `{xxx}`占位符:用于表示动态路径部分,如`/user/{userId}`,这里的`{userId}`会捕获URL中的实际值,如 `/user/123` 或 `/user/abc`。这使得你可以方便地将URL中的参数与方法参数关联起来。 5. 结合使用:`/user/**/{userId}`将匹配像 `/user/aaa/bbb/123` 这样的URL,其中 `aaa/bbb` 可以是任意路径,而 `123` 被视为`{userId}`。 Spring MVC 3.0的新特性增强了框架的功能,包括支持RESTful风格的URL,添加了更多的注解以便实现完全注解驱动,引入了HTTP输入输出转换器(HttpMessageConverter),以及与数据转换、格式化和验证框架的无缝集成。此外,框架对静态资源处理提供了特殊支持,并且控制器方法签名可以更加灵活,不再依赖Servlet API。 在实际的控制器类中,如`UserController`,`@Controller`注解标记该类为一个处理控制器,`@RequestMapping("user")`注解指定了控制器处理的URL前缀,而`@RequestMapping("register")`则定义了具体处理方法的URL,相对于父级URL。最后,处理方法返回逻辑视图名`"user/register"`,该名称会被视图解析器解析为实际的视图,如JSP页面。 Spring MVC框架的核心组件包括`DispatcherServlet`,它负责调度请求;`HandlerMapping`用于找到适合处理请求的处理器;`HandlerAdapter`则用来适配不同的处理器方法;`ModelAndView`用于携带模型数据和视图信息;`ViewResolver`是视图解析器,负责将逻辑视图名转换为实际视图;最后,`Model`和`View`分别代表了模型数据和视图。 了解并熟练运用这些概念和技术,可以有效地构建和管理Spring MVC应用程序,实现高效的数据交互和视图渲染。