千家信息网

Servlet接口有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"Servlet接口有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Servlet接口有哪些"吧!Servlet接口:public i
千家信息网最后更新 2026年11月03日Servlet接口有哪些

本篇内容主要讲解"Servlet接口有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Servlet接口有哪些"吧!

Servlet接口:
public interface Servlet
它的生命周期由javax.Servlet.Servlet接口定义。当你在写Servlet的时候必须直接或间接的实现这个接口。一般趋向于间接实现:通过从javax.Servlet.GenericServlet或javax.Servlet.http.HttpServlet派生。在实现Servlet接口时必须实现它的五个方法:

1.init():
public void init(ServletConfig config) throws ServletException
一旦对Servlet实例化后,容器就调用此方法。容器把一个ServletConfig对象传统给此方法,这样Servlet的实例就可以把与容器相关的配置数据保存起来供以后使用。如果此方法没有正常结束就会抛出一个ServletException。一旦抛出该异常,Servlet就不再执行,而随后对它的调用会导致容器对它重新载入并再次运行此方法。接口规定对任何Servlet实例,此方法只能被调用一次,在任何请求传递给Servlet之前,此方法可以在不抛出异常的情况下运行完毕。

2.service():
public void service(ServletRequest req,ServletResponse res) throws ServletException,IOException
只有成功初始化后此方法才能被调用处理用户请求。前一个参数提供访问初始请求数据的方法和字段,后一个提供Servlet构造响应的方法。

3.destroy():
public void destroy()
容器可以在任何时候终止Servlet服务。容器调用此方法前必须给service()线程足够时间来结束执行,因此接口规定当service()正在执行时destroy()不被执行。

4.getServletConfig():
public ServletConfig getServletConfig()
在Servlet初始化时,容器传递进来一个ServletConfig对象并保存在Servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象,前者通常由容器在文件中指定,允许在运行时向sevrlet传递有关调度信息,后者为Servlet提供有关容器的信息。此方法可以让Servlet在任何时候获得该对象及配置信息。

5.getServletInfo():
public String getServletInfo()
此方法返回一个String对象,该对象包含Servlet的信息,例如开发者、创建日期、描述信息等。该方法也可用于容器。

GenericServlet类
Public abstract class GenericServlet implants Servlet,ServletConfig,Serializable
此类提供了Servlet接口的基本实现部分,其service()方法被申明为abstract,因此需要被派生。init(ServletConfig conf)方法把ServletConfig对象存储在一个private transient(私有临时)实例变量里,getServletConfig()方法返回指向本对象的指针,如果你重载此方法,将不能使用getServletConfig来获得ServletConfig对象,如果确实想重载,记住要包含对super.config的调用。2.1版的API提供一个重载的没有参数的init()方法。现在在init(ServletConfig)方法结束时有一个对init()的调用,尽管目前它是空的。2.1版API里面,此类实现了ServletConfig接口,这使得开发者不用获得ServletConfig对象情况下直接调用ServletConfig的方法,这些方法是:getInitParameter(),getInitParameterNames(),getServletContext。此类还包含两个写日志的方法,它们实际上调用的是ServletContext上的对应方法。log(String msg)方法将Servlet的名称和msg参数写到容器的日志中,log(String msg,Throwable cause)除了包含Servlet外还包含一个异常。

HttpServlet类
该类扩展了GenericServlet类并对Servlet接口提供了与HTTP更相关的实现。

service():
protected void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
该方法作为HTTP请求的分发器,这个方法在任何时候都不能被重载。当请求到来时,service()方法决定请求的类型(GET,POST,HEAD,OPTIONS,DELETE,PUT,TRACE),并把请求分发给相应的处理方法(doGet(),doPost(),doHead(),doOptions(),doDelete(),doPut(),doTrace())每个do 方法具有和***个service()相同的形式。为了响应特定类型的HTTP请求,我们必须重载相应的do方法。如果Servlet收到一个HTTP请求而你没有重载相应的do方法,它就返回一个说明此方法对本资源不可用的标准HTTP错误。

getLatModified():
protected long getLastModified(HttpServletRequest req)
该方法返回以毫秒为单位的的自GMT时间1970年1月1日0时0分0秒依赖的最近一次修改Servlet的时间,缺省是返回一个负数表示时间未知。当处理GET请求时,调用此方法可以知道Servlet的最近修改时间,服务器就可决定是否把结果从缓存中去掉。

HttpServletRequest接口
public interface HttpServletRequest extends ServletRequest
所有实现此接口的对象(例如从Servlet容器传递的HTTP请求对象)都能让Servlet通过自己的方法访问所有请求的数据。下面是一些用来获取表单数据的基本方法。

getParameter()
public String getParameter(String key)
此方法试图将根据查询串中的关键字定位对应的参数并返回其值。如果有多个值则返回列表中的***个值。如果请求信息中没有指定参数,则返回null。

getParametervalues():
public String[] getParametervalues(String key)
如果一个参数可以返回多个值,比如复选框集合,则可以用此方法获得对应参数的所有值。如果请求信息中没有指定参数,则返回null。

GetParameterNames():
Public Enumeration getParameterNames()
此方法返回一个Enumeration对象,包含对应请求的所有参数名字列表。
HttpServletResponse接口
public interface HttpServletResponse extends ServletResponse
Servlet容器提供一个实现该接口的对象并通过service()方法将它传递给Servlet。通过此对象及其方法,Servlet可以修改响应头并返回结果。

setContentType():
public void setContentType(String type)
在给调用者发回响应前,必须用此方法来设置HTTP响应的MIME类型。可以是任何有效的MIME类型,当给浏览器返回HTML是就是"text/html"类型。

getWriter():
public PrintWriter getWriter()throws IOException
此方法将返回PrintWriter对象,把Servlet的结果作为文本返回给调用者。PrintWriter对象自动把Java内部的UniCode编码字符转换成正确的编码以使客户端能够阅读。

getOutputStream():
public ServletOutputStream getOutputStream() throws IOException
此方法返回ServletOutputStream对象,它是java.io.OutputStream的一个子类。此对象向客户发送二进制数据。

setHeader():
public void setHeader(String name,String value)
此方法用来设置送回给客户的HTTP响应头。有一些快捷的方法用来改变某些常用的响应头,但有时也需要直接调用此方法。
编译条件
需要从http://java.sun.com/products/Servlet/ 获得一份JSDK的拷贝,并把Servlet.jar移动到JDK安装目录下的\jre\lib\ext目录下。如果是JDK1.1,则移动到\lib下,并在CLASSPATH中加入Servlet.jar的绝对路径。
运行条件
需要Apache Jserv,Jrun Servlet Exec,Java Web Server,Weblogic,WebSphere,Tomcat,Resin等Servlet服务器端程序。
简单范例

  1. import java.io.*;

  2. import javax.servlet.*;

  3. import javax.servlet.http.*;

  4. public class HelloWorld extends HttpServlet {

  5. public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException

  6. {

  7. response.setContentType("text/html");

  8. PrintWriter out = response.getWriter();

  9. out.println("<html>");

  10. out.println("<body>");

  11. out.println("<head>");

  12. out.println("<title>Hello World!title>");

  13. out.println("head>");

到此,相信大家对"Servlet接口有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

方法 此方法 对象 接口 容器 参数 信息 实例 数据 时间 类型 时候 运行 内容 客户 结果 处理 服务 多个 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网加科技 深圳恒合互联网络科技有限公司 腾讯阿里互联网科技 没上市的科技互联网公司 与互联网科技公司 金融科技 互联网金融 朗涯互联网科技 顺网科技2021年互联网排名 恒生科技互联网指数分析 北京大学互联网科技怎么样 互联网校园科技培训 成都互联网科技公司工作好不好 企晟互联网信息科技有限公司 互联网在线教育科技创业 朱啸虎曾投资哪些互联网科技企业 杭州披云加互联网科技有限公司 本届互联网大会上的黑科技 万物互联网智能科技 科技和互联网行业的特点 互联网企业和网络科技有限公司 高科技与互联网 腾讯科技 互联网女皇 小米互联网科技园设置 互联网科技产业特征 互联网新科技动漫ppt素材 21世纪互联网科技成就 张召忠谈中国互联网科技 本届互联网大会上的黑科技 广州有谷有贝互联网科技有限公司 六子台科技互联网展会
0