Servlet API编程常用接口和类
Servlet是运行在服务器端的Java应用程序,由Servlet容器对其进行管理,当用户对容器发送HTTP请求调用时,容器将通知相应的Servlet对象进行处理,完成用户与程序之间的交互。在Servlet编程中,Servlet API提供了标准的接口和类,这些对象对Servlet的操作非常重要,它们为HTTP请求与程序回应提供了丰富的方法。
1、Servlet接口
Servlet的运行需要Servlet容器的支持,Servlet容器通过调用Servlet对象提供了标准的API接口,对请求进行处理。在Servlet开发中,任何一个Servlet都直接或间接地实现了javax.servlet.Servlet接口。该接口包含5个方法。如下图所示:
方法 | 功能 |
void init(ServletConfig config) |
负责Servlet初始化工作,容器在创建好Servlet对象后就调用此方法。该方法接受一个 ServletConfig 类参数,Servlet容器通过这个参数向Servlet传递配置信息 |
ServletConfig getServletConfig() | 返回容器调用init(ServletConfig config)时传递的ServletConfig 对象 |
void service(ServletRequest req, ServletResponse res) |
负责响应用户的请求,当接收到客户端访问Servlet对象的请求时就会调用此方法。 容器会构造一个ServletRequest和ServletResponse对象作为参数传递到该方法中, 在该方法中通过ServletRequest对象获取请求信息,对请求处理完成后,通过 ServletResponse对象设置响应消息 |
String getServletInfo() |
返回一个字符串,包含Servlet信息。注意,该方法自己需要重定义,在GenericServlet 类中该方法返回空字符串 |
void destroy() | 负责释放Servlet对象占用的资源,当Servlet对象被销毁时,容器会调用该函数 |
2、ServletConfig接口
ServletConfig定义了一系列获取配置信息的方法:
方法 | 功能 |
String getServletName() | 返回Servlet名字,即web.xml中<servlet-name>中的值 |
ServletContext getServletContext() | 返回代表当前Web应用的ServletContext对象 |
String getInitParameter(String name) | 根据参数名返回对应的参数值,如果未找到返回null |
Enumeration<String> getInitParameterNames() | 返回一个Enumeration对象,其中包含所有的初始化参数 |
3、HttpServletRequest接口
-
public String getContextPath():返回请求的上下文路径,此路径以“/”开头.
-
public Cookie getCookies():fabhuiqingqiuzhongfasongdesuoyoudecookie对象,返回值为cookie数组。
-
public String getMothod():返回请求所使用的HTTP类型,如get、post等。
4、HttpServletResponse接口
-
public void addCookie(Cookie cookie):向客户端写入cookie信息。
-
public void sendError(int sc):发送一个错误状态码为sc的错误响应信息给客户端。
-
public void sendError(int sc,String msg):发送一个包含错误状态码及错误信息的响应到客户端。参数sc为错误状态吗,参数msg为错误信息。
-
public void sendRedirect(String location):使用客户端重新定向到新的URL,参数location为新的地址。
5、GenericServlet类
public abstract class GenericServlet
extends Object
implements Servlet,ServletConfig,,Serializable
6、HttpServlet类
public abstract HttpServelt
extends GenericServlet implements Serializable