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

  • 相关阅读:
    leetcode 131. Palindrome Partitioning
    leetcode 526. Beautiful Arrangement
    poj 1852 Ants
    leetcode 1219. Path with Maximum Gold
    leetcode 66. Plus One
    leetcode 43. Multiply Strings
    pytorch中torch.narrow()函数
    pytorch中的torch.repeat()函数与numpy.tile()
    leetcode 1051. Height Checker
    leetcode 561. Array Partition I
  • 原文地址:https://www.cnblogs.com/black-spike/p/7588913.html
Copyright © 2011-2022 走看看