Servlet的相关类和接口

类别:Java 点击:0 评论:0 推荐:
1.HttpServlet类
    HttpServlet类是一个抽象类,可以从该类派生出一个子类来实现一个HttpServlet,接受来自Web站点的请求(该请求来自访问该Web站点的客户浏览器),并将处理后的响应结果发回Web站点(Web站点再将响应结果发送给客户浏览器),在HttpServlet的子类中,必须至少重载下表中的其中一种方法。

方法名

用途

doGet

如果Servlet支持Http GET请求,用于Http GET请求

doPost

如果Servlet支持Http POST请求,用于Http POST请求

doPut

如果Servlet支持Http PUT请求,用于Http PUT请求

doDelete

如果Servlet支持Http DELETE请求,用于Http DELETE请求

init和destroy

如果需要管理Servlet生命周期内所持有资源,可以重载这两个方法

通常,不重载service方法,对于上表中的每一种HTTP请求,service方法通过分派它们到相应的Handler线程(doXXX方法)来处理这些标准的HTTP请求。

同样地,通常也不重载doOptions和doTrace方法,service方法通过分派它们到doTrace和doOptions来支持HTTP1.1 TRACE和OPTIONS。

Servlet通常运行在多线程的服务器中,因此,所编写的Servlet代码必须能够处理并行请求和对数据资源的同步访问。共享资源包括内存中的数据(例如:实例或类变量)和外部对象(例如:文件、数据库连接或网络连接)。

Protected void doGet(HttpServletRequest req,HttpServletResponse resp)

  throws ServletException,IOException

从service方法授并处理HTTP GET请求。GET方法允许客户读取来自Web服务器的信息,客户通过传递一个带URL的查询字符串可以告诉服务器它需什么信息。

重载支持GET请求的doGet方法还将自动支持HTTP HEAD请求,HEAD请求也是一个GET请求,它得到的返回响应中只有一个请求头(header)字段,而没有响应信息的内容。

如果重载方法,应该从该请求读数据,在响应中设置整个headers,访问PrintWriter或输出流对象,最后写响应数据。当设置headers时,应确保包含content type和encoding。如果使用PrintWriter对象返回响应,在存取PrintWriter对象之前必须设置content type。

Servlet引擎必须在写响应数据之前写headers,因为在写数据之后headers随时都可能被刷新。

如果设置Content-Length头,Servlet可以使用一个持久稳固的连接来将其响应返回给客户机,动态地改善性能。

如果请求的格式不正确,doGet方法将返回一个HTTP BAD_REQUEST信息。

参数req为一个HttpServletRequest对象,含有客户的Servlet请求;resp是一个HttpServletResponse对象,含有Servlet发送给客户的响应。

本文地址:http://com.8s8s.com/it/it12267.htm