随笔 - 299  文章 - 0  评论 - 0  阅读 - 6322 

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   杨申龙  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示