HttpRequest抽象类

  public abstract class HttpServlet extends GenericServlet

  实现的接口有:Serializable, Servlet, ServletConfig

  一、介绍

  提供一个抽象类,以便于子类创建适用于Web站点的HTTP Servlet。

  HttpServlet的子类,通常必须要实现至少一个方法,通常是下面这些:

  • doGet, if the servlet supports HTTP GET requests
  • doPost, for HTTP POST requests
  • doPut, for HTTP PUT requests
  • doDelete, for HTTP DELETE requests
  • init方法和destroy方法, to manage resources that are held for the life of the servlet
  • getServletInfo(), which the servlet uses to provide information about itself

  

  几乎没有理由来重写service方法。 service方法根据每个HTTP request的类型,将它们分配给相应的处理程序方法。(也就是说,具体的处理方法都是通过service方法来进行调度的)

  同样,几乎没有理由重写doOptions和doTrace方法。

  Servlet通常在多线程服务器上运行,因此请注意,servlet必须处理并发请求,并小心地同步对共享资源的访问。

  二、方法

  1、public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException

  将客户端请求分派给受保护的service方法,因此没有必要重写此方法。

  2、protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

  接收来自公共的service方法的标准HTTP请求,并将它们分派到此类中定义的doXXX方法。

  它是Servlet.service方法的HTTP特定版本,且没有必要重写。

  3、protected void doXXX()

  和http的请求类型有关:GET,POST,HEAD,PUT,DELETE,OPTIONS,TRACE

  4、protected long getLastModified(HttpServletRequest req)

  返回HttpServletRequest对象上次修改时间(以毫秒为单位),自从格林尼治标准时间1970年1月1日午夜。 如果时间未知,则此方法返回负数(默认值)。

  支持HTTP GET请求并可以快速确定最后修改时间的Servlet应覆盖此方法。 这使浏览器和代理缓存更有效地工作,减少了服务器和网络资源的负载。

Java EE javax.servlet.http中的HttpRequest抽象类的更多相关文章

  1. Java EE javax.servlet.http中的HttpSession接口

    HttpSession接口 public interface HttpSession (https://docs.oracle.com/javaee/7/api/javax/servlet/http/ ...

  2. Java EE javax.servlet中的ServletContext接口

    ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...

  3. Java EE javax.servlet中的Servlet接口

    Servlet接口 public interface Servlet 其实现类有:FaceServlet.GenericServlet.HttpServlet 一.介绍 Servlet接口定义了所有s ...

  4. Java EE javax.servlet中的ServletResponse接口

    ServletResponse接口 public interface ServletResponse 子接口:HttpServletResponse 实现类:HttpServletResponseWr ...

  5. Java EE javax.servlet中的ServletRequest接口

    ServletRequest接口 public interface ServletRequest 子接口:HttpServletRequest 实现类:HttpServletRequestWrappe ...

  6. Java EE javax.servlet中的RequestDispatcher接口

    RequestDispatcher接口 public interface RequestDispatcher 一.介绍 定义一个对象,从客户端接收请求并将其发送到服务器上的任何资源(例如servlet ...

  7. Java EE javax.servlet中的ServletConfig接口

    ServletConfig接口 public interface ServletConfig 实现类:GenericServlet.HttpServlet 一.介绍 一个供servlet容器使用配置对 ...

  8. Java EE javax.servlet ServletContainerInitializer接口

    ServletContainerInitializer接口 public interface ServletContainerInitializer 一.介绍 该接口,允许在 web 应用程序的启动阶 ...

  9. 1,eclipse导入项目jdk版本不一样解决方案 2,java报javax.servlet.jsp cannot be resolved to a type

    一:eclipse导入项目jdk版本不一样解决方案 参考博文: https://www.cnblogs.com/chenmingjun/p/8472885.html 选中项目右键 --> Pro ...

随机推荐

  1. elasticsearch Delete (根据条件删除)

    之前在 2.X版本里 这个Delete By Query功能被去掉了 因为官方认为会引发一些错误 如需使用 需要自己安装插件. bin/plugin install delete-by-query 需 ...

  2. ./与sh区别

    1   ./需要执行权限,使用脚本文件中第一行#!指定的shell(解释器)来执行命令(譬如常见的/bin/bash),不指定系统会调用默认shell程序 2   sh不需要执行权限,是使用sh这个s ...

  3. 判定Java程序员等级,HashMap就够了

    JDK1.8  HashMap源码分析 用到的符号: ^异运算:两个操作数相同,结果是;两个操作数不同,结果是1. &按位与:两个操作数都是1,结果才是1. 一.HashMap概述 在JDK1 ...

  4. A*算法解决15数码问题_Python实现

    1问题描述 数码问题常被用来演示如何在状态空间中生成动作序列.一个典型的例子是15数码问题,它是由放在一个4×4的16宫格棋盘中的15个数码(1-15)构成,棋盘中的一个单元是空的,它的邻接单元中的数 ...

  5. Unity通过世界坐标系转换到界面坐标位置

    public static Vector2 WorldToCanvasPoint(Canvas canvas, Vector3 worldPos) { Vector2 pos; RectTransfo ...

  6. LC 641. Design Circular Deque

    Design your implementation of the circular double-ended queue (deque). Your implementation should su ...

  7. sublime的简单配置(解决为什么package control无效)

    1:下载sublime text 3 要到它的官网下载,要英文的. 2:安装sublime的包. 进入sublime按快捷键ctrl+~(~是键盘左上角Esc下面的键). 3:在这里面输入如下代码.( ...

  8. 分布式存储ceph部署(2)

    一.部署准备: 准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用:     1台部署节点(配一块硬盘,运行ceph-depo ...

  9. CACTI批量添加linux主机sh脚本

    关于批量添加就三个文件:add_hosts.sh,ips.txt,thold_test.php,关于如何使用,更是简单 ./add_hosts.sh --add #执行批量工作./add_hosts. ...

  10. docker启动cavisor监控

    docker启动cavisor监控 docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys: ...