Servlet的接口和类
2446字,阅读需时9分钟
来自课程
课程/专栏

Servlet是运行在服务端的Java应用程序,由Servlet容器对其进行管理,当用户发送HTTP请求时,容器将通知对应的Servlet对象进行处理,完成服务端与客户端之间的交互。

1、Servlet接口

在Servlet开发中,任何一个Servlet对象都要直接或间接实现javax.servlet.Servlet接口,Servlet接口的主要方法说明如下。

init方法

当首次创建Servlet时就会调用init方法。而不是每个用户请求都会调用该方法,它用于一次性初始化过程。

当前存在两个版本的init:一个版本不接受任何参数,另一个接受ServletConfig对象作为参数。

无参数的版本:
public void int() throws ServletException {
// Initialization  coe…
}
有参数的版本:
public void int(ServletConfig config) throws ServletException {
super.init(config);
// Initialization  coe…
}

service方法

每当服务器接收到对Servlet请求时,服务器就会产生一个新线程,并调用service方法,service方法检查HTTP请求类型,并相应地调用doGet、doPost等方法。如果Servlet需要以相同方式处理POST和GET请求,可以直接覆盖service方法。

 public void service(
 HttpServletRequest request, 
 HttpServletResponse response
 ) throws ServletException, IOException {
   // servlet code
 }

doGet、doPost和doXxx方法

这些方法包含Servlet的核心内容,特别是用于处理GET和POST请求的doGet和doPost方法。若需要对DELETE请求进行处理,可以覆盖doDelete方法,PUT请求可以覆盖doPut方法。

  public void doGet (
  HttpServletRequest request, 
  HttpServletResponse response) 
  throws ServletException, IOException {
   // servlet code
  }

getServletConfig()方法

用于获取Servlet对象的配置信息,返回ServletConfig对象。该对象中包含servlet启动配置信息.这个信息中包括了所有初始化参数和一个ServletContext对象。

2、 ServletConfig对象

ServletConfig对象位于Javax.servlet包中,它封装了Servlet的配置信息。当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,我们通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

该对象主要定义了四个方法。

public String getInitParameter(String name)

该方法返回名称为name的初始化参数值。

public Enumeration getInitParameterNames()

该方法返回所有初始化参数的枚举集合。

public ServletContext getServletContext()

该方法返回Servlet上下文对象。

public String getServletName()

该方法返回Servlet对象的实例名称。

3、 HttpServletRequest对象

HttpServletRequest对象位于javax.servlet.http包中,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在该对象中,通过该对象提供的方法,可以获得客户端请求的所有信息。

该对象主要定义了如下方法。

public String getRequestURL()

返回客户端发出请求时的完整URL。

public String getRequestURI()

返回请求行中的参数部分。

public String getQueryString ()

返回请求行中的参数部分(参数名+值),如name=张三

public String  getRemoteHost()

返回发出请求的客户机的完整主机名。

public String  getRemoteAddr()

返回发出请求的客户机的IP地址。

public String  getMethod()

返回请求所使用的HTTP类型,如GET、POST等。

4、 HttpServletResponse对象

HttpServletResponse对象位于javax.servlet.http包中,该对象向客户端输出数据。

该对象主要定义了如下方法。

public ServletOutputStream getOutputStream()

该方法返回输出流对象,该流对象可以向客户端输出文本和二进制数据。

PrintWriter public getWriter()

该方法返回PrintWriter对象,PrintWriter对象可以向客户端输出文本数据。

我要评论
全部评论