当前位置: 首页 > 图文教程 > 网络编程 > JSP > serlvet为什么只需要实现doGet和doPost

JSP
成为一个成功Jsp程序员的九步
JSP之plugin的使用
深入剖析JSP和Servlet对中文的处理
Tomcat5+Mssql server 2000数据库连接池配置之旅
改变JSP的文件后缀
JSP 2.1和JSF 1.2规范发布预览版本
JSP彩色验证码
JSP和Struts解决用户退出问题
测试你对技术的掌握度:JSP程序员成长之路
Java学习的捷径
如何迅速成为Java高手
体验Java 1.5中面向(AOP)编程
Java中基于Aspectwerkz的AOP
2004开发技术年度综述之Java世界
JavaBeans程序开发
开发基于Java的图形用户界面
Java加密和数字签名编程
Java应用程序中创建图像
初探Java类加载机制
EJB3.0之实体Bean的继承

JSP 中的 serlvet为什么只需要实现doGet和doPost


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-04   浏览: 87 ::
收藏到网摘: n/a

Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一:
doGet:处理GET请求
doPost:处理POST请求
doPut:处理PUT请求
doDelete:处理DELETE请求
doHead:处理HEAD请求
doOptions:处理OPTIONS请求
doTrace:处理TRACE请求
通常情况下,在开发基于HTTP的servlet时,开发者只需要关心doGet和doPost方法,其它的方法需要开发者非常的熟悉HTTP编程,因此这些方法被认为是高级方法。
而通常情况下,我们实现的servlet都是从HttpServlet扩展而来。

doPut和doDelete方法允许开发者支持HTTP/1.1的对应特性;
doHead是一个已经实现的方法,它将执行doGet但是仅仅向客户端返回doGet应该向客户端返回的头部的内容;
doOptions方法自动的返回servlet所直接支持的HTTP方法信息;
doTrace方法返回TRACE请求中的所有头部信息。

对于那些仅仅支持HTTP/1.0的容器而言,只有doGet, doHead 和 doPost方法被使用,因为HTTP/1.0协议没有定义PUT, DELETE, OPTIONS,或者TRACE请求。

另外,HttpServlet定义了getLastModified方法以支持有条件的(conditional)get操作。有条件的get操作是指使用GET方式请求资源并且在头部指定只有在资源内容在指定时间后被修改的情况下服务器才有必要回应请求并发送请求的内容。对于那些实现doGet方法并且在不同请求之间内容相同的servlet而言,它应该实现这个方法以提高网络资源的利用率。

另外要提及的是,按照规范的要求,servlet容器至少要实现HTTP/1.0协议规范,推荐实现HTTP/1.1规范,在此基础上可以实现其它的基于请求回应模式(based request response model)的协议(例如HTTPS)。