今天主要把servlet的一些常用的类、接口和方法简单回顾一下。
javax.servlet包
1.javax.servlet.Servlet接口
接口用于开发servlet,所有的servlet都要直接或间接地实现这个接口,这个接口定义了servlet的生命周期的方法。一般不直接实现该接口,可以扩展javax.servlet.GenericServlet来实现一般协议的Servlet,也可以扩展javax.servlet.http.HttpServlet来实现HTTP的servlet。
接口常用方法有:
1.void init(ServletConfig config); Servlet容器调用,用于初始化Servlet,用ServletConfig对象参数来启动配置,只执行一次。
2.void service(ServletRequest request, ServletResponse response); Servlet容器调用,处理request对象中描述的请求,使用response对象返回请求结果。
3.void destroy(); Servlet 容器调用,卸载Servlet所占的资源。
4.ServletConfig getServletConfig(); 返回一个ServletConfig对象,该对象包含当前Servlet的初始化信息。
2.javax.servlet.ServletConfig接口
接口用于配置servlet。Servlet容器初始化Servlet时,使用ServletConfig对象将服务器的配置信息提供给Servlet,ServletConfig对象包含一级由名/值对形式的初始化参数和一个ServletContext对象。
该接口常用方法有:
1.String getInitParameter(String); 返回一个字符串,包含参数指定的初始化参数值。
2.Enumaration getInitParameterNames(); 以String对象的枚举形式,返回当前Servlet所有初始化参数的名字,如果没有初始化参数,返回一个空枚举。
3.ServletContext getSetvletContext(); 返回当前Servlet正在执行的上下文ServletContext对象。
4.String getServletName(); 返回当前Servlet的实例名字。
3.javax.servlet.ServletContext接口
该接口是Servlet的环境上下文接口,每个Servlet在Java虚拟机内都有一个环境上下文实例。当Servlet初始化时,Web容器将初始化一个ServletContext环境上下文对象,并将其包含在当前的servletConfig对象中,通过ServletConfig对象给Servlet.
接口中常用方法有:
1.Java.lang.Object getAttribute(String); 返回一个由参数给定名字的属性对象。
2.Enumaration getAttributeNames(); 以String对象的枚举形式,返回当前ServletContext 对象所有有效属性名字,如果没有返回空枚举。
3.ServletContext getContext(String uriPath); 返回服务器端的一个与uriPath相符的ServletContext对象
4.Enumaration getInitParameterNames();以String对象的枚举形式,返回当前上下文中所有初始化参数的名字,如果没有,返回空枚举。
5.Java.lang.String getInitParameter(String name);返回一个以name 为名字的初始化参数的值,类型为String类型。
6.void setAttribute(String,Object);绑定一个对象到当前的ServletContext 上下文中。
4.javax.servlet.GenericServlet类
常用方法有:
1.ServletConfig getServletConfig(); 返回当前Servlet的ServletConfig对象。
2.ServletContext getContext(); 返回当前Servlet正在执行的上下文ServletContext上下文的引用。
3.Enumaration getInitParameterNames();以String对象的枚举形式,返回当前上下文中所有初始化参数的名字,如果没有,返回空枚举.
4.String getServletInfo(); 返回当前Servlet的有关信息,如作者版本等信息。
5.String getServletName(); 返回当前Servlet实例的名字。
6.void init(); 初始化Servlet,是一个生命周期方法,可以被覆盖。
7.void init(ServletConfig config); Servlet容器调用,指示当前Servlet放入服务器栈并使用ServletConfig配置。
8.abstract void service(ServletRequest request, ServletResponse response);用来响应客户请求,开发时必须直接或间接实现该方法。
5.javax.servlet.ServletRequest接口
常用方法有:
1.Enumaration getAttributeNames();返回当前所有属性的名字的枚举,如果没有属性,返回一个空枚举。
2.javax.lang.object getAttribute(); 返回一个给出名字的属性值对象。
3.String getCharacterEncoding(); 返回当前请求体中字符编码方式的名字
4.int getContentLength(); 返回当前请求体的长度。
5.String getContentType(); 返回当前请求的MIME类型。
6.ServletInputStream getInputStream(); 获得请求体的输入流
7.String[] getParameterValues(); 返回所有参数值的一个String数组。
8.RequestDispatcher getRequestDispatcher(); 返回一个RequestDispatcher对象。
9.void setAttribute(String,Object); 设置一个属性。
10.Object getAttribute(String); 从当前请求中得到一个给定名字的属性值。
11.String getProtocol(); 返回当前请求使用的协议名字和版本。
12.BufferedReader getReader(); 获得请求体字符数据流。
13.String getRemoteAddr(); 获得发送请求的客户端IP地址。
14.String getRemoteHost(); 获得发送请求的客户端全名和IP地址。
6.javax.servlet.ServletResponse接口
接口常用方法有:
1.void flushBuffer(); 将缓冲区的内容输出到客户端。
2.int getBufferSize(); 返回当前缓冲区的大小。
3.String getCharacterEncoding(); 返回当前MIME中字符编码的名字。
4.ServletOutputStream getOutputStream(); 返回一个输出流对象。
5.PrintStream getWriter(); 返回一个PrintWriter对象,用于发送字符文本到客户端。
6.boolean isCommited(); 当前响应是否已经提交。
7.void reset(); 清除缓冲区的数据。
8.void setBufferSize(int size); 设置响应体缓冲区的大小。
9.void setContentLength(int len); 设置响应体的内容长度。
10.void setContentType(String type); 设置发送到客户端的内容类型。
7.javax.servlet.RequestDispatcher接口
该接口用于定义“请求转发的对象”,常用方法有:
1.void forward(ServletRequest req,ServletResponse resp); 转发一个来自Servlet的请求到另外一个资源。
2.include(HttpServletRequest req,HttpServletResponse resp); 在响应中包含另外一个服务器资源。
javax.servlet.http包
1.javax.servlet.http.HttpServlet类
这是一个抽象类,它继承处javax.servelt.GenericServlet类,提供了一个处理HTTP的框架,用来处理客户端的HTTP请求。该类常用方法有:
1.void doGet(HttpServletRequest req,HttpServletResponse resp); 由service方法调用,用于处理GET请求。
2.void doPost(HttpServletRequest req,HttpServletResponse resp); 由service方法调用,用于处理POST请求。
3.void doPut(HttpServletRequest req,HttpServletResponse resp); 由service方法调用,用于处理PUT请求。
4.void doDelete(HttpServletRequest req,HttpServletResponse resp); 由service方法调用,用于处理DELETE请求。
5.void service(HttpServletRequest req,HttpServletResponse resp); 接收HTTP的标准请求,并将它分配给响应的doXXX()方法,一般不重载此方法。
6.void init(ServeltConfig config); 初始化HttpServlet.
2.javax.servlet.http.HttpServletRequest接口
该接口继承了ServletRequest接口,用于定义封装客户端HTTP请求的“请求对象”。常用方法有:
1.String getContextPath(); 返回指定Servlet上下文的URL前缀。
2.Cookie[] getCookies(); 返回与请求相关的Cookie的一个数组。
3.String getHeader(String name); 返回指定的HTTP头。
4.String getMethod(); 返回HTTP请求方法,如GET、POST。
5.String getQueryString(); 返回查询字符串,即URL中的“?”后面的部分。
6.String getRequestedSessionId(); 返回客户端会话ID。
7.String getRequestURL(); 返回URL中的一部分,从“/”开始,包括上下文,但不包括任意查询字符串。
8.String getServletPath();返回URL上下文后的子串。
9.HttpSession getSession(boolean create); 返回当前HTTP会话,如果不存在,则创建一个新的会话,create参数为true。
10.boolean isRequestedSessionIdValid(); 如果客户端返回的会话ID仍然有效,则返回true。
3.javax.servlet.http.HttpServletResponse接口
该接口继承了ServletResponse接口,它用于定义使用HTTP响应客户端的“响应对象”。常用方法有:
1.void addCookie(Cookie cookie); 将一个Set-Cookie头标加入响应中。
2.void addDateHeader(String name,long date); 使用指定日期值加入带有指定名字的响应头部。
3.void setHeader(String name,String value); 设置具有指定名字和取值的一个响应头部。
4.boolean containsHeader(String name); 判断响应是否包含指定名字的头部。
5.void setStatus(int status); 设置响应使用字符编码的名称。
4.javax.servlet.http..HttpSession接口
接口用于定义一个会话对象。常用方法有;
1.Object getAttribute(String name); 返回当前session中指定名字的对象。
2.Enumeration getAttributeNames(); 返回一个所有属性名字的String对象的枚举变量。
3.void invalidate(); 是当前session失效,并将绑定的对象解除。
4.boolean isNews(); 客户端不知道当前session或不加入当前session则返回true。
5.void removeAttribute(String name); 从当前session中删除指定名字的绑定对象。
6.void setAttribute(String name,Object value);使用指定的名字绑定一个对象到当前的session。
7.void setStatus(int sc,String msg); 给当前的响应设定状态码和信息。
小结
把servlet的两个包下的接口和类中的常用方法简单的总结一下。