Servlet学习笔记(一)
Servlet接口中定义了5个方法:
void init(ServiceConfig Config) throws ServletException
//当servlet第一次被请求时,Servlet容器hi调用这个方法
//这个方法在后续的请求中不会再次被调用
void service(ServletRequest request,ServletResponse
esponse) throws ServletException,java.io.IOException
//每次请求Servlet时,会调用这个方法。
//第一次请求servlet时,Servlet容器会调用init()和service()。
//后续的请求将只调用service()
void destroy();
//当要销毁Servlet时,Servlet容器会调用这个方法
java.lang.String getServletInfo();
//非生命周期方法,返回Servlet的描述,可以返回有用或者为null的
//字符串
ServletConfig getServletConfig();
//非生命周期方法,返回由Servlet容器传给init方法的
//ServletConfig
javax.servlet.http包是ServletAPI中的第二个包,其中包含了用编写Servlet应用程序的类和接口。javax.servlet.http许多类型都覆盖了javax.servlet中的类型
HttpServlet类覆盖了javax.servlet.GenericServlet类。使用HttpServlet时,还要借助分别代表Servlet请求和Servlet响应的HttpServletRequest和HttpServletResponse对象。
HttpServlet覆盖GenericServlet中的Service方法,并通过下列签名再添加一个Service方法:
protected void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,java.io.IOException
Servlet容器调用javax.servlet.Servlet中原始的Service方法。HttpServlet中的编写方法如下:
public void service(ServletRequest req,
ServletResponse res)throws
ServletEXception,IOException{
HttpServletRequest request;
HttpServletResponse response;
try{
request = (HttpServletRequest) req;
response = (HttpServletResponse res);
}catch(ClassCastException e){
throws new ServiceException("non-HTTP request or response");
}
service(request,response);
}
HttpServletRequest表示HTTP环境中的Servlet请求。它扩展javax.servlet.ServletRequest接口,并添加了几个方法。新增的部分方法如下:
java.lang.String getContextPath()
/*返回表示请求上下文的请求URI部分*/
Cookie[] getCookies()
/*返回一个Cookie对象数组*/
java.l