get和post这是http协议的两种方法,另外还有head, delete等
这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。
在servlet开发中,以doGet()和doPost()分别处理get和post方法。
另外还有一个doService(), 它是一个调度方法,当一个请求发生时,首先执行doService(),不管是get还是post。在HttpServlet这个基类中实现了一个角度,首先判断是请求时get还是post,如果是get就调用doGet(), 如果是post就调用doPost()。
HttpServlet的两个Service()方法区别
在HttpServlet类中有两个service()方法,如下:
void |
service(ServletRequest req, ServletResponse res) |
protected void |
service(HttpServletRequest req, HttpServletResponse resp) |
void service(ServletRequest req,ServletResponse response)方法由tomcat自动调用
它将接收的客户端请求转交给protected void
service(HttpServletRequest req,HttpServletResponse res)方法
此保护类型的service方法再把将请求分发给doPost()、doGet()方法进行下一步处理。
所以我们完全可以重写受保护的service()方法来代替doPost()和doGet()方法。
古旧的javaweb mvc
javabean出现之前, 所有的事情都在jsp里面做
javabean的出现带来了javaweb开发最早的模式 - model1
分层概念在这里已经初步形成
model2
怪了, 不是先有servlet才有jsp的吗, 那么接下来咱来看下一遍博文, <servlet与jsp的关系>