• Servlet API编程常用接口和类


    Servlet API编程常用接口和类

    Servlet是运行在服务器端的Java应用程序,由Servlet容器对其进行管理,当用户对容器发送HTTP请求调用时,容器将通知相应的Servlet对象进行处理,完成用户与程序之间的交互。在Servlet编程中,Servlet API提供了标准的接口和类,这些对象对Servlet的操作非常重要,它们为HTTP请求与程序回应提供了丰富的方法。

    1、Servlet接口

    Servlet的运行需要Servlet容器的支持,Servlet容器通过调用Servlet对象提供了标准的API接口,对请求进行处理。在Servlet开发中,任何一个Servlet都直接或间接地实现了javax.servlet.Servlet接口。该接口包含5个方法。如下图所示:

    方法 功能
    void init(ServletConfig config)

    负责Servlet初始化工作,容器在创建好Servlet对象后就调用此方法。该方法接受一个

    ServletConfig 类参数,Servlet容器通过这个参数向Servlet传递配置信息

    ServletConfig getServletConfig() 返回容器调用init(ServletConfig config)时传递的ServletConfig 对象
    void service(ServletRequest req, ServletResponse res)

    负责响应用户的请求,当接收到客户端访问Servlet对象的请求时就会调用此方法。

    容器会构造一个ServletRequest和ServletResponse对象作为参数传递到该方法中,

    在该方法中通过ServletRequest对象获取请求信息,对请求处理完成后,通过

    ServletResponse对象设置响应消息

    String getServletInfo()

    返回一个字符串,包含Servlet信息。注意,该方法自己需要重定义,在GenericServlet

    类中该方法返回空字符串

    void destroy() 负责释放Servlet对象占用的资源,当Servlet对象被销毁时,容器会调用该函数

    2、ServletConfig接口

    ServletConfig接口位于javax.servlet包中,它封装了servlet的配置信息,在Servlet初始期间被传递,每一个Servlet都有且只有一个ServletConfig对象。

    ServletConfig定义了一系列获取配置信息的方法:

    方法 功能
    String getServletName() 返回Servlet名字,即web.xml中<servlet-name>中的值
    ServletContext getServletContext() 返回代表当前Web应用的ServletContext对象
    String getInitParameter(String name) 根据参数名返回对应的参数值,如果未找到返回null
    Enumeration<String> getInitParameterNames() 返回一个Enumeration对象,其中包含所有的初始化参数

    3、HttpServletRequest接口

    HttpServletRequest接口位于javax.servlet.http包中,继承了java.servlet.ServletRequest接口,是Servlet中的重要对象,在开发中较常用。如下:
     
    • public String getContextPath():返回请求的上下文路径,此路径以“/”开头.

    • public Cookie getCookies():fabhuiqingqiuzhongfasongdesuoyoudecookie对象,返回值为cookie数组。

    • public String getMothod():返回请求所使用的HTTP类型,如get、post等。


    4、HttpServletResponse接口

    HttpServletResponse接口位于javax.servlet.http包中,它继承了javax.servlet.ServletResponse接口,同样是个非常重要的对象,其常用方法如下:
     
    • public void addCookie(Cookie cookie):向客户端写入cookie信息。

    • public void sendError(int sc):发送一个错误状态码为sc的错误响应信息给客户端。

    • public void sendError(int sc,String msg):发送一个包含错误状态码及错误信息的响应到客户端。参数sc为错误状态吗,参数msg为错误信息。

    • public void sendRedirect(String location):使用客户端重新定向到新的URL,参数location为新的地址。


    5、GenericServlet类

    在编写一个Servlet对象是,必须实现javax.servlet.Servlet对象,在Servlet接口中有5个方法,也就是创建一个Servlet对象时,要实现这5个方法,这样操作非常不方便。javax.servlet.GenericServlet类简化了此操作,实现了servlet接口。
    public abstract class GenericServlet
               extends  Object
               implements Servlet,ServletConfig,,Serializable
    GenericServlet是一个抽象类,分别实现了Servlet接口和ServletConfig接口。该类实现了除service()之外的方法。

    6、HttpServlet类

    GenericServlet类实现了javax.servlet.Servlet接口,为程序的开发提供了方便;但在实际开发过程中,大多数应用都是使用Servlet处理HTTP请求,并对请求做出响应,所以通过继承GenericServlet类仍然不是很方便.javax.servlet.http.HttpServlet对GenericServlet做了扩展,为HTTP请求的处理提供了灵活的方法。
    public abstract HttpServelt 
               extends GenericServlet implements Serializable
  • 相关阅读:
    在调试asp.net程序时,提示windows窗体身份验证错误怎么办
    关于用css数字与汉字的垂直对其问题
    如何在存储过程中使用like操作符
    iframe的页面内容如何获取父页面的地址
    Visual Studio 2005常用插件搜罗(zz)
    如何通过javascript动态改变按钮的css属性值
    双十一数据库也疯狂,SQL Server 无法生成 FRunCM 线程,求解
    Oracle 连接玩我!ORA12514及ORA28547错误解决
    ASP.NET MVC Web API 学习笔记第一个Web API程序
    SQL Server数据库同步问题分享(三)创建订阅
  • 原文地址:https://www.cnblogs.com/znjy/p/14167128.html
Copyright © 2020-2023  润新知