request里面就是装一大堆的请求数据
![](https://i-blog.csdnimg.cn/blog_migrate/65c9e3a1971369702573ec439871d390.png)
一.Request
注意:为了Request创建更方便,可以new Servlet
![](https://i-blog.csdnimg.cn/blog_migrate/c25cb171d826fda2a2908099a4afa3cf.png)
(一)Request继承体系
请求数据->tomcat响应进行封装->封装成request->传递到service方法中
![](https://i-blog.csdnimg.cn/blog_migrate/6e6402ee203ec87f731fdf89b2f8177a.png)
(二)Request获取请求数据
1.获取请求数据
![](https://i-blog.csdnimg.cn/blog_migrate/8a3f223b1dbb5fa3b816c821b45f9b76.png)
2.通过方式获取请求参数
![](https://i-blog.csdnimg.cn/blog_migrate/ce232d46ba7a1fd72d734071709dca33.png)
![](https://i-blog.csdnimg.cn/blog_migrate/24b0ac2e5dd10f7835d26187d242b610.png)
3.请求参数中文乱码处理
![](https://i-blog.csdnimg.cn/blog_migrate/d700afa9dc1e4191ef553d6a00b5bfd3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f4dcf3d67e323fdc2500e07e913ab504.png)
(三)Request请求转发
![](https://i-blog.csdnimg.cn/blog_migrate/95b6a4f0d8eb1e9f59d811058002bd53.png)
二.Response
![](https://i-blog.csdnimg.cn/blog_migrate/0662fcbd0ce705497b0730d23b0b076c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b357eeed8c1c6f610b6f55b6f0e85f24.png)
(一)Response设置响应数据功能介绍
![](https://i-blog.csdnimg.cn/blog_migrate/fe01507d4c7dbfd490a6c007c54af010.png)
(二)Response完成重定向
![](https://i-blog.csdnimg.cn/blog_migrate/cc42bc0230d1e0a1d7bba81a1171643f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/15182fee6ccad76d38f94012c3ab1930.png)
(三)Response响应字符数据
![](https://i-blog.csdnimg.cn/blog_migrate/f347856e36f73b0fb36b78ebeb5fb05b.png)
(四)Response响应字节数据
![](https://i-blog.csdnimg.cn/blog_migrate/c2f45d582a41963a2e0d324c7f7b2c00.png)
案例:用户登录和注册
(一)用户登录
![](https://i-blog.csdnimg.cn/blog_migrate/1979b833f03f2d85ed26de22f5738315.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31c03c4f27dc0f62308d3ddacdc6e7f8.png)
(二)用户注册
![](https://i-blog.csdnimg.cn/blog_migrate/eb9135ed838c81fe92eba6e99dcbbd15.png)
补充:SQLSessionFactory的代码优化
![](https://i-blog.csdnimg.cn/blog_migrate/8f7190db5138c659334052c37eda94fe.png)