1,静态资源的访问开启
文章图片
开放静态资源的访问,mapping是url,location是具体文件在哪个目录下。
这是一个映射关系,如,在网站上输入
https://localhost:8080/js/jquery.3.1.1.js 就会映射到/js/jquery.3.1.1.js这个目录下找这个文件
文章图片
在这里使用。
文章图片
也可以输入这个代替之前的映射。让原始的tomcat容器帮我们找jquery这个js文件
2,配置全局乱码过滤器
post会出现中文乱码问题
文章图片
文章图片
所以在web.xml中配置一个全局过滤器
文章图片
再测试
文章图片
3,参数绑定注解@requestparam(这是一个类似映射配置)
当请求的参数名称与controller的业务方法参数名称不一致时,就需要通过@RequestParam注解去绑定关系
文章图片
name的值映射到username中
测试
文章图片
文章图片
能获取到值。
4,Restful风格的参数的获取
Restful是一种软件架构风格,主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等
这种风格的请求是使用“url+请求方式”表示一次请求目的,http协议里面四个表示操作方式的动词如下:
* GET:用于获取资源
* POST:用于新建资源
* PUT:用于更新资源
* DELETE:用于删除资源
文章图片
在客户端传值不使用“?name=张三“的形式,直接写想传的值,在controller中使用@PathVariable注解和参数接受数据,在@RequestMapping中用占位符来表示这个是值而不是映射地址的一部分。
文章图片
客户端(get请求方式)
文章图片
控制台
文章图片
5,自定义类型转换器
SpringMVC默认提供一些日常的类型转换器,如客户端提交的字符串转换成int型进行参数设置,但是日期类型的数据就需要自定义转换器。
(1)定于转换器类实现Convter接口
文章图片
(2)在spring-mvc.xml文件中声明转换器
文章图片
(3)在spring-mvc.xml中的里引用转换器
文章图片
测试
文章图片
客户端
文章图片
控制台
文章图片
细节部分
6,获得servlet相关api
SpringMVC支持使用原始ServletAPi对象作为控制器方法的参数进行注入,常用的对象如下
* HttpServletRequest
* HttpServletRespone
* HttpSeccion
文章图片
测试
文章图片
文章图片
7,获取请求头信息
请求头信息包括
文章图片
使用@RequestHeader注解可以获得请求头信息,相当于web阶段学习的request.getHeader(name)这个信息是以键值对的方式,请求头名对应请求头值
(1)@RequestHeader注解的属性如下:
value:请求头的名称
required:是否必须携带这个请求头。默认true
文章图片
客户端
文章图片
控制台
文章图片
(2)@CookieValue
使用@CookieValue可以获得指定Cookie的值
@CookieValue注解的属性如下
value:请求头的名称
required:是否必须携带这个cookie
文章图片
客户端
文章图片
控制台
文章图片
一致
文章图片
8,文件上传
文件上传客户端三要素
表单项type=“file
表单的提交方式是post
表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data“
文章图片
(1)单文件上传
首先创建一个上传文件的jsp
文章图片
导入fileupload和io坐标
文章图片
配置文件上传解析器
文章图片
编写quic22文件上传代码
文章图片
把文件上传到指定位置
测试
文章图片
文章图片
上传并保存成功
(1)多文件上传
多文件就是在表单多写一项,controller方法的参数多写一个。
文章图片
文章图片
如果标签中的属性名一样,controller方法的参数就用数组去接,保存就用for循环
文章图片
【java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)】
文章图片
推荐阅读
- SSM框架|SpringMVC获得请求数据类型
- SpringMVC|SpringMVC文件上传和文件下载
- Spring|SpringMVC获得请求数据-文件上传
- 大数据|《2022年道德黑客洞察报告》(不少人计划当全职漏洞猎人)
- 单元测试|又一个 4w Star 的大厂开源项目不维护了!
- 网络|开源linux_对技术的热爱导致Linux和开源
- 每日一篇-8.1-Synchronized, Volatile, Lock区别
- JDK动态代理
- golang详解|【Golang详解】深入了解map