A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王秋霞0812 中级黑马   /  2014-1-23 16:36  /  1183 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王秋霞0812 于 2014-1-23 23:49 编辑

Servlet执行时一般实现那几个方法?

3 个回复

倒序浏览
Servlet类要继承的GenericServlet与HttpServlet类和一般要实现的几个方法:
GenericServlet与HttpServlet类,GenericServlet类是一个实现了Servlet的基本特征和功能的基类,其完整名称为javax.servlet.GenericServlet,它实现了Servlet和ServletConfig接口。HttpServlet类是GenericServlet的子类,其完整名称为javax.servlet.HttpServlet,它提供了处理HTTP协议的基本构架。如果一个Servlet类要充分使用Http协议的功能,就应该继承HttpServlet。在HttpServlet类及其子类中,除可以调用HttpServlet类内部新定义的方法外,还可以调用包括Servlet,ServletConfig接口和GenericServlet类中的一些方法。
Servlet执行时一般要实现的方法
public void init(ServletConfig config)
public ServletConfig getServletConfig()
public String getServletInfo()
public void service(ServletRequest request,ServletResponse response)
public void destroy()

init ()方法在servlet的生命周期中仅执行一次,在servlet引擎创建servlet对象后执行。Servlet在调用init方法时,会传递一个包含servlet的配置和运行环境信息的ServletConfig对象。如果初始化代码中要使用到ServletConfig对象,则初始化代码就只能在Servlet的init方法中编写,而不能在构造方法中编写。缺省的init()方法通常是符合要求的,不过也可以根据需要进行 override,比如管理服务器端资源,初始化数据库连接等,缺省的inti()方法设置了servlet的初始化参数,并用它 的ServeltConfig对象参数来启动配置,所以覆盖init()方法时,应调用super.init()以确保仍然执行这些任务。

service ()方法是servlet的核心,用于响应对Servlet的访问请求。对于HttpServlet,每当客户请求一个 HttpServlet对象,该对象的service()方法就要被调用,HttpServlet缺省的service()方法的服务功能就是调用与 HTTP请求的方法相应的do功能,doPost()和doGet(),所以对于HttpServlet,一般都是重写doPost()和doGet() 方法。

destroy()方法在servlet的生命周期中也仅执行一次,即在服务器停止卸载servlet之前被调用,把servlet作为 服务器进程的一部分关闭。缺省的destroy()方法通常是符合要求的,但也可以override,来完成与init方法相反的功能。比如在卸载servlet时将统计数字保存在文件 中,或是关闭数据库连接或IO流。

getServletConfig()方法返回一个servletConfig对象,该对象用来返回初始化参数和servletContext。servletContext接口提供有关servlet的环境信息。

getServletInfo()方法提供有关servlet的描述信息,如作者,版本,版权。可以对它进行覆盖。

doxxx方法  客户端可以用HTTP协议中规定的各种请求方式来访问Servlet,Servlet采取不同的访问方式进行处理。不管那种请求方式访问Servlet,Servlet引擎都会调用Servlet的service方法,service方法是所有请求方式的入口。
   doGet 用于处理Get请求
  doPost用于处理Post请求
doHead用于处理Head请求
doPut 用于处理Put请求
doDelete 用于处理Delete请求
doTrace 用于处理Trace请求
doOptions用于处理OPTIONS请求

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 辛苦了

查看全部评分

回复 使用道具 举报
俞帅明 发表于 2014-1-23 23:25
Servlet类要继承的GenericServlet与HttpServlet类和一般要实现的几个方法:
GenericServlet与HttpServlet ...

谢谢刘老师,好不容易得到个技术分,真是雪中送炭呀。
回复 使用道具 举报
俞帅明 发表于 2014-1-24 14:34
谢谢刘老师,好不容易得到个技术分,真是雪中送炭呀。

同学好厉害 !学完了 也不记得这么清楚~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马