首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Servlet源代码学习札记-1

2012-09-04 
Servlet源代码学习笔记-1一。关键类介绍:1。servlet通用类: public abstract class GenericServlet implemen

Servlet源代码学习笔记-1

一。关键类介绍:

1。servlet通用类:

public abstract class GenericServlet implements Servlet, ServletConfig, java.io.Serializable

??? //servlet容器会调用该方法,来完成servlet的初始化

??? //config参数是,servlet容器传进来的servlet相关的配置参数信息

??? public void init(ServletConfig config) throws ServletException {
??????? this.config = config;

??????? this.init();

??? }

??? //一般我们定义的子类会覆盖该方法

??? public void init() throws ServletException {
?????
??? }

?

?

??? //从config中取得servlet名,web.xml中的<servlet-name>

??? public String getServletName()

??? //从config中取得ServletContext

??? public ServletContext getServletContext()

??? //从config中取得servlet的初始化参数,web.xml中的<init-param>

??? public String getInitParameter(String name)

?


?? //servlet容器会调用该方法,来完成servlet的销毁,一般我们定义的子类会覆盖该方法

?? public void destroy() {
???}

?


?? //抽象方法,servlet容器接收到一个request的时候,会调用该方法,来对request进行应答

?? public abstract void service(ServletRequest req, ServletResponse res)
????? throws ServletException, IOException;

?

我们可以通过继承javax.servlet.GenericServlet来定义自己的servlet,但是必须覆盖service方法。

?

2。HttpServlet类

public abstract class HttpServlet extends GenericServlet implements java.io.Serializable

?

覆盖了父类的抽象方法

public void service(ServletRequest req, ServletResponse res)
{

????? //调用下面的protected void service方法

}

?

根据request方式,来调用doXXX方法,如doGet,doPost

protected void service(HttpServletRequest req, HttpServletResponse resp)

?

?

get/post请求方式的时候,调用该方法来对request进行应答,子类必须覆盖该方法

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
protected void doPost(HttpServletRequest req, HttpServletResponse resp)

一般我们会通过继承javax.servlet.http.HttpServlet来定义自己的servlet,但必须覆盖doGet/doPost方法

热点排行