javax.servlet.http.HttpServlet有以下几种方法,注意几乎都是protected的,就是说要继承javax.servlet.http.HttpServlet才可以使用这些方法。
protected void doDelete(HttpServletRequest req, HttpServletResponse resp)
处理DELETE请求,允许一个客户端删除服务器上的一个文档或页面;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
处理GET请求,显式提交客户端的信息,信息有长度限制;
protected void doHead(HttpServletRequest req, HttpServletResponse resp)
同GET方法,不过返回的相应只有HEAD部分,没有BODY部分;
protected void doOptions(HttpServletRequest req, HttpServletResponse resp)
OPTIONS方法决定了服务器可以相应哪些请求;
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
允许客户端提交没有长度限制的数据信息;
protected void doPut(HttpServletRequest req, HttpServletResponse resp)
允许客户端向服务器端发送一个文件,类似于ftp中的put指令;
protected void doTrace(HttpServletRequest req, HttpServletResponse resp)
给客户端返回发出的TRACE请求的头部分,此方法一般用于测试,没有必要覆写;
protected long getLastModified(HttpServletRequest req)
返回HttpServletRequest对象最后的修改时间,单位为毫秒,是从格林尼治标准时间的1970年1月1日零时开始计算的;如果时间未知,返回一个负数;
protected void service(HttpServletRequest req, HttpServletResponse resp)
接收public service方法发出的HTTP请求,并分配给doXXX方法;
void service(ServletRequest req, ServletResponse res)
分配客户端请求给protected方法;
具体的细节说明,请参见Java Web Services Developer Pack 1.0 Documentation
下边是CSDN里边的一些讨论:
1.doGet和doPost的区别,在什么时候调用,为什么有时doPost中套用doGet
2.提交的form method=Post就执行DOPOST,否则执行GOGET 套用是不管method是post还是get都执行dopost方法
5.通常的写法:先用doGet(),然后在doPost()中调用doGet(),这样就万无一失了
6. 简单的说,get是通过http header来传输数据,有数量限制,而post则是通过http body来传输数据,没有数量限制。
7.还有一点:get和post提交的数据量是不一样的.
get好像最多只能在url后跟64K(?具体多少忘记了),
post好像没这个限制,至少我post过5M以上的文本
还有url刷新时get好像可以不用重复提交原来提交的数据,
而post则会说内容已提交,想刷新请再提交.