• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
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
posted on 2021-09-10 11:38  戈瑾  阅读(244)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3