一、哪些是get方式?
当浏览器使用get方式提交数据的时候,servlet需要提供doGet()方法。
1、form默认的提交方式
2、如果通过一个超链访问某个地址
3、如果在地址栏直接输入某个地址
4、ajax指定使用get方式的时候
二、哪些是post方式?
当浏览器使用post方式提交数据的时候,servlet需要提供doPost()方法。
1、在form上显示设置 method="post"的时候
2、ajax指定post方式的时候
三、service方法
自己编写的servlet在继承了HttpServlet的同时,也继承了service(HttpServletRequest , HttpServletResponse )方法,实际上,在执行doGet()或者doPost()之前,都会先执行service()
由service()方法进行判断,到底该调用doGet()还是doPost(),可以发现,service(), doGet(), doPost() 三种方式的参数列表都是一样的。所以,有时候也会直接重写service()方法,在其中提供相应的服务,就不用区分到底是get还是post了。
简言之,service中通过 req.getMethod() 对传过来的方法进行了判断,随后根据不同方法调用不同的doget、dopost。