HttpServlet

  • 现在创建 Servlet 存在的问题
  • 每一次都要去实现 Servlet 接口
  • 都要去 web.xml 中做配置
  • Servlet3.0 开始可以直接使用 注解 的形式来去使用 Servlet
  • 创建 Servlet

  • 在创建好的 Servlet上面有会有一个 @WebServlet("/myServlet")

  • 这个就是一个注解
  • 就相当于在代码上添加了一个小插件
  • 贴上这个注解后,就不用再去 web.xml 中做配置,会在内部自动帮你去做
  • 括号当中的内容就是 url-patten 的内容,要在地址栏当中 path 后面跟的内容

使用注解时的注意点

  • web.xml 当中要有一个配置
  • metadata-complete
  • 是否扫描类当中定义的注解
  • 值为 truefalse
  • 当为 true 的时候不扫描,为 false 的时候才扫描
  • 要使用注解就要把此值设置为 false

  • 然后发布项目到服务器启动访问即可

HttpServlet

  • 直接 new 的也就是创建的 Servlet 它是一个 HttpServlet
  • 它是 GenericServlet 的子类

  • GenericServlet 实现了 Servlet 接口

  • HttpServlet 是专门负责处理 Http 请求与响应的
  • 以后创建 Servlet 时,直接使用 HttpServlet

HttpServlet的相关方法

service

  • 每一次发送请求的时候就会调用该方法
  • 当写了 service 就会不再调用 getpost 方法了

doGet

  • 当发送 get 请求时会调用该方法

doPost

  • 当发送 post 请求的时候会调用该方法

HttpServlet内部方法调用过程

  • 当接收到一个请求时,tomcat 就会找对应的 service 方法
  • 如果 servlet 当中没有存在 service 方法,就会到它的父类当中去找

  • 在父类当中找到 service 是参数为 ServletRequest,会在内部把参数转为 HttpServletRequest
  • 转换完毕后会再继续调用参数为 HttpServletRequestservice 方法

  • 在此方法当中会获取请求的的类型,根据不同的类型再去调用不同的方法
posted @ 2020-10-20 23:53  BNTang  阅读(97)  评论(0编辑  收藏  举报