zoukankan      html  css  js  c++  java
  • JavaWeb知识回顾-Servlet常用类、接口及其方法

    今天主要把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的两个包下的接口和类中的常用方法简单的总结一下。

  • 相关阅读:
    准备用协程模拟经典的生产者消费者
    重载操作符号
    对象池
    ssh加key
    oracle存储过程(PL/SQL)
    获取服务器ip地址
    【STL系列】结构体排序
    strtol sort snprintf snscanf strtok
    cxGrid动态创建带CheckBox列时遇到的问题...
    Windows2003 安装PostgreSQL9.0 UUID解决‘ERROR:无法载入程式库’问题
  • 原文地址:https://www.cnblogs.com/black-spike/p/7588913.html
Copyright © 2011-2022 走看看