与配置式的区别
换成
配置式的处理器
注解式可可以2个请求使用一个处理器处理,使用任意一个,均可以调用该处理器
get与post
get有在浏览器中有缓存功能,只要访问一次,下次就不再访问,post每次都要重新访问
get长度受限制,post请求内容在请求体中,不受限制
get不安全,明文,post安全
当controller定义请求方式为post,却使用get方式调用时
当正常携带name和age(sex为自己另外添加的参数,可以不携带)时:
当去除age参数时
当
前三种参数,直接给controller传入入参就能使用
这三种参数,只要写上去,就能用,不用的话,不需要写
请求中携带的参数:
成功!
接收参数换位置:
没有影响,底层是根据name取的。
姓名留空,直接提交
空字符串!
若是年龄留空:
使用日志打印输出
日志为:
说明,框架认为,输出的空,为空字符串
一般400,基本都是参数有问题。
修改方法:
由于参数调用的是
那么,我们直接传入个integer类型参数
结果正常。
但此时不能输入字符串,如“abc”,否则还是会报400
当age不填时,使用integer类型接收:
显示为null。
最原始的解决方式:直接写字符串,不需要转换
乱码问题:
此时的请求方式为post
若是使用get方式
get没问题。
Tomcat9,get默认的编码方式为utf8
过滤器源码
当执行过滤的时候,
在dofilter方法中
调用子类的实现方法,策略模式
子类实现此方法的代码分析:
获取当前encoding值,为utf8
将utf8传给request
将utf8编码方式传给response