开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第41天,点击查看活动详情
写在前面
当我们学习了spring框架之后,基本上来说,已经是打好了一个良好得基础了。
但是距离一个企业的基本开发需要掌握的框架,还是得经过不断得学习,才行。
这不,我们继续学习下一个框架SpringMVC。
SpringMVC这个框架,一般来说,用来作为我们项目得Controller层,用来接收用户得输入,然后选择相应得视图回显展示给用户。
MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(javaBean:封装数据)分开构成了MVC。
对于以前得项目来说,还有出现Struts得,但现在基本都很少了。
Struts1(现在一般不用),Struts2(一般老项目使用)等等。
这不,接下来就是spring mvc框架的学习之旅了,希望可以帮助到大家。
一、RESTful支持
理解什么是REST之前,先去理解一下什么是HTTP
1.1 SpringMVC对RESTful的支持
1.1.1 RESTful的URL路径变量
- URL-PATTERN :设置为/,方便拦截 RESTful 请求。
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
-
@PathVariable:可以解析出来URL中的模板变量({id})
- URL:
http://localhost:8080/ssm/item/1/zhangsan- Controller:
@RequestMapping("{id}/{name}") @ResponseBody public Item queryItemById(@PathVariable Integer id, @PathVariable String name){}
1.1.2 RESTful的CRUD
- @RequestMapping:通过设置method属性值,可以将同一个URL映射到不同的`HandlerMethod`方法上
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping注解同`@RequestMapping`注解的`method`属性设置。
1.1.3 RESTful的资源表述
RESTful服务中一个重要的特性就是一种资源可以有多种表现形式,在SpringMVC中可以使用
ContentNegotiatingManager这个内容协商管理器来实现这种方式。
内容协商的方式有三种:
- 扩展名:比如.json表示我要JSON格式数据、.xml表示我要XML格式数据
- 请求参数:默认是”format”
- 请求头设置Accept参数:比如设置Accept为application/json表示要JSON格式数据
不过现在RESTful响应的数据一般都是JSON格式,所以一般也不使用内容协商管理器,直接使用
@ResponseBody注解将数据按照JSON格式返回。
1.1.4 静态资源访问
如果在DispatcherServlet中设置url-pattern为 /则必须对静态资源进行访问处理。
在springmvc.xml文件中,使用 mvc:resources 标签,具体如下:
<!-- 当DispatcherServlet配置为/来拦截请求的时候,需要配置静态资源的访问映射 -->
<mvc:resources location="/js/" mapping="/js/"/>
<mvc:resources location="/css/" mapping="/css/"/>
SpringMVC 会把 mapping 映射到ResourceHttpRequestHandler,这样静态资源在经过 DispatcherServlet 转发时就可以找到对应的 Handler 了
好了,以上就是SpringMVC学习之旅-应用掌握篇(11) 的全部内容了。
今天就先到这里了,后面的内容,留下次分享了,先溜了!!!^_^
如果觉得写得不错的,帮忙点赞、评论、收藏一下呗!!!