java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)

1,静态资源的访问开启
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

开放静态资源的访问,mapping是url,location是具体文件在哪个目录下。
这是一个映射关系,如,在网站上输入
https://localhost:8080/js/jquery.3.1.1.js 就会映射到/js/jquery.3.1.1.js这个目录下找这个文件
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

在这里使用。
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

也可以输入这个代替之前的映射。让原始的tomcat容器帮我们找jquery这个js文件
2,配置全局乱码过滤器
post会出现中文乱码问题
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

所以在web.xml中配置一个全局过滤器
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

再测试
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片


3,参数绑定注解@requestparam(这是一个类似映射配置)
当请求的参数名称与controller的业务方法参数名称不一致时,就需要通过@RequestParam注解去绑定关系
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

name的值映射到username中
测试
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

能获取到值。
4,Restful风格的参数的获取
Restful是一种软件架构风格,主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等
这种风格的请求是使用“url+请求方式”表示一次请求目的,http协议里面四个表示操作方式的动词如下:
* GET:用于获取资源
* POST:用于新建资源
* PUT:用于更新资源
* DELETE:用于删除资源
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

在客户端传值不使用“?name=张三“的形式,直接写想传的值,在controller中使用@PathVariable注解和参数接受数据,在@RequestMapping中用占位符来表示这个是值而不是映射地址的一部分。

java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

客户端(get请求方式)
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

控制台
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片


5,自定义类型转换器
SpringMVC默认提供一些日常的类型转换器,如客户端提交的字符串转换成int型进行参数设置,但是日期类型的数据就需要自定义转换器。
(1)定于转换器类实现Convter接口
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

(2)在spring-mvc.xml文件中声明转换器
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

(3)在spring-mvc.xml中的里引用转换器
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

测试
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

客户端
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

控制台
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

细节部分
6,获得servlet相关api
SpringMVC支持使用原始ServletAPi对象作为控制器方法的参数进行注入,常用的对象如下
* HttpServletRequest
* HttpServletRespone
* HttpSeccion
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

测试
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

7,获取请求头信息
请求头信息包括
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

使用@RequestHeader注解可以获得请求头信息,相当于web阶段学习的request.getHeader(name)这个信息是以键值对的方式,请求头名对应请求头值
(1)@RequestHeader注解的属性如下:
value:请求头的名称
required:是否必须携带这个请求头。默认true
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

客户端
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

控制台
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

(2)@CookieValue
使用@CookieValue可以获得指定Cookie的值
@CookieValue注解的属性如下
value:请求头的名称
required:是否必须携带这个cookie
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

客户端
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

控制台
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

一致
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

8,文件上传
文件上传客户端三要素
表单项type=“file
表单的提交方式是post
表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data“
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

(1)单文件上传
首先创建一个上传文件的jsp
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

导入fileupload和io坐标
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

配置文件上传解析器
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

编写quic22文件上传代码
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

把文件上传到指定位置
测试
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

上传并保存成功
(1)多文件上传
多文件就是在表单多写一项,controller方法的参数多写一个。
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

如果标签中的属性名一样,controller方法的参数就用数组去接,保存就用for循环
java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

【java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)】java|Java学习日记14(SpringMVC的请求-配置文件的知识总结)
文章图片

    推荐阅读