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

JavaWeb知识回顾-Servlet常用类、接口及其方法的更多相关文章

  1. java十五个常用类学习及方法举例

    <code class="language-java">import java.util.Scanner; import java.util.Properties; i ...

  2. JavaWeb知识回顾-servlet简介。

    现在公司主要用jsp+servlet这种原生的开发方式,用的是uap的开发平台,所以趁着这个时候把有关javaweb的知识回顾一下. 首先是从servlet开始. 一.什么是Servlet?(是一些理 ...

  3. JavaWeb知识回顾-servlet生命周期。

    Servlet生命周期 生命周期,很容易理解,拿人来说,就是你从出生到离开的这一过程.无论是什么技术,只要谈到生命周期都可以这样理解. Servlet的生命周期就是从它被创建到毁灭的过程,整个过程可以 ...

  4. java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter

    FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFi ...

  5. Servlet 常用类

    Servlet 是一套标准的接口规范,当用户通过web请求来访问服务器时,由web容器根据配置调用我们实现的对应的servlet对象来提供服务.同时为了方便开发,servlet标准中也提供了许多常用的 ...

  6. Java知识回顾 (6)正则表达式、方法、文件与异常

    一.正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. Java 正则表达式和 Perl 的是最为相似 ...

  7. Servlet常用的接口和类

    使用接口和类的作用:Servlet也是依靠继承父类和实现接口来实现的.使用Servlet必须要引入两个包:javax.servlet和javax.servlet.http.所有的Servlet应用都是 ...

  8. JavaWeb知识回顾-使用IDEA开发一个servlet.

    刚刚开始学习使用IDEA进行开发,好多都不会,本来想直接导入一个eclipse项目,但是出现了好多错误,一时不知道怎么修改,所以就从最基本的servlet开始着手,慢慢熟悉这个工具,下面是使用IDEA ...

  9. java基础知识回顾之javaIO类--java序列化和反序列化

    /** *  * 一:理解序列化反序列化及其应用 * 序列化:把堆内存的对象转化成字节流的过程. * 反序列化:把字节流序列恢复重构成对象的过程. * 对象的序列化的用途:1.把对象的字节序列持久化, ...

随机推荐

  1. HDU 4584 splay

    Shaolin Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Sub ...

  2. php整理

    linux上安装php配套环境有些繁琐 推荐使用一键安装: https://lnmp.org/install.html phalcon框架环境: centos7下php7.0.x安装phalcon框架

  3. lightoj 1020 (博弈水题)

    lightoj 1020 A Childhood Game 链接:http://lightoj.com/volume_showproblem.php?problem=1020 题意:一堆石子有 m 个 ...

  4. mysql 自动记录数据插入及最后修改时间

    总结: `uptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 原文 应用场景: 1.在数据 ...

  5. 让块元素在同一行显示的方法: float 和inline-block

    float: 定义:按照一个指定的方向移动,遇到父级的边界或者相邻的浮动元素就会停下来(不完全脱离文档流) 值: left.right.none 特点: 1.浮动的块元素可以在一行显示,宽度是被内容撑 ...

  6. 分享 koa + mysql 的开发流程,构建 node server端,一次搭建个人博客

    前言 由于一直在用 vue 写业务,为了熟悉下 react 开发模式,所以选择了 react.数据库一开始用的是 mongodb,后来换成 mysql 了,一套下来感觉 mysql 也挺好上手的.re ...

  7. 解决tomcat占用8080端口问题图文详解

    相信很多朋友都遇到过这样的问题吧,tomcat死机了,重启eclipse之后,发现 Several ports (8080, 8009) required by Tomcat v6.0 Server ...

  8. spoj 1825 Free tour II

    http://www.spoj.com/problems/FTOUR2/ After the success of 2nd anniversary (take a look at problem FT ...

  9. UVA 10479 The Hendrie Sequence

    https://vjudge.net/problem/UVA-10479 打表找规律: 1.根据n可以确定第n项在上表中第i行 2.减去前i-1行,就得到了n在第i行的第j个 3.第i行的规律:1个i ...

  10. Python print "hello world" SyntaxError: invalid syntax

    刚安装Python,在IDLE中输入print “Hello World”,谁知却发生错误: >>> print "Hello World"SyntaxError ...