添加注解扫描器
上面那句就不要了,不用一个一个配置方法名了。 直接使用注解扫描器即可。
(图中的second.do忘了加斜杠)
现在,后缀使用my.do first.do 都可以访问这个页面了。
当遇到多个注解的时候,如何区分?解决:
添加命名空间
然后访问的时候就需要加这上这个命名空间了
URL通配
* 代表任意(一般都用不上)
可以随便加。
限定提交方式(post/get)
限定请求参数
这样的话 没有参数 请求就会404
有参数就可以了
限制提交的参数 name必须叫zs
处理方法的参数
HttpServletRequest
HttpServletResponse
HttpSession
请求参数
当传输方式为post/get的时候 ,传输中文的时候会乱码
前台传输乱码中文问题
get请求有乱码:修改tomcat里面的encoding编码
post请求有乱码: 1.req.setcharacterencoding(“utf-8”)
2.来自框架
方法:characterEncodingFilter
参数:
encoding
forceEncoding(默认为假,改成真)
校正请求参数
若表单的名字和servlet处理器的接收参数的名字不一致。
前面是sname
处理器里面是name
添加矫正器
若不加的话
对象接收
new一个学生,有name age属性
当这个对象有域属性的时候
这个不变。(图中的post 可有可无)
restful风格
斜杠代替?method=?
注意,这个路径里面的 1 就是请求的参数(模拟)
这样就可以获取到传过来的id
处理方法的返回值
String
返回值为String的时候 有三种情况,直接返回,通过转发返回、通过重定向返回。
注意:转发和重定向的 斜杠 ”/“ 都是相对路径,
但是 forward 的斜杠 是服务端的
redirect的斜杠 是客户端的
但是在Spring框架的这里,两个斜杠都是服务器端的,而且这里的rediret不再需要写带有完整路径的名字,就是加上项目名那些,是因为Spring框架的底层已经自动帮你加上了。
在上面三种情况测试成功的情况下,添加一个视图解析器。
此时再来测试三个表单的提交,
第一个出现404,因为路径被视图解析器编辑了,加上了前缀和后缀
第二、第三个正常
所以,视图解析器不会影响转发和重定向,但是会影响直接返回的String。
返回值为String的情况下,支持各种视图解析器
如下图:
配置了其他的视图解析器。
通过测试发现这两个方法 既不是转发也非重定向,但是并没有被
影响而增加了前后缀导致404, 这是由于当存在多个视图解析器的时候,将这个默认的视图解析器放最后,它的优先级最低。
返回void
1.使用Servlet的原生api
ajax(需导入jar包。)
处理json
返回Object(通过jackson)
使用jackson 实现Ajax响应
首先添加jackson的jar包
配置注解驱动
鉴于返回json字符串的方法不是很方便,这里使用新的方法,直接将返回的对象注入响应体ResponsBody中:
1.返回基本类型之 int
2.返回基本类型之 String
3.返回基本类型之 Object
4.返回基本类型之 List