HttpServlet

一、使用注解创建Servlet

现在创建Servlet存在的问题

  • 每一次都要去实现Servlet接口,都要去做配置

从Servlet3.0开始可以直接使用注解的形式来去使用Servlet

创建Servlet:

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

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

使用注解时的注意点

在web.xml当中要有一个配置:metadata-complete

  • 是否扫描类当中定义的注解
  • 当为true的时候不扫描,为false扫描
  • 要使用注解就要把此值设置为false

二、HttpServlet

直接new的Servlet它是一个HttpServlet,它是GenericServlet的子类

public abstract class HttpServlet extends GenericServlet

GenericServlet实现了Servlet接口

public abstract class GenericServlet implements Servlet, ServletConfig,java.io.Serializable

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

HttpServlet方法

service

  • 每一次发送请求的时候就会调用
  • 当写了service就会不再调用 get或post

doGet

  • 当发送get请求时调用

doPost

  • 当发送post请求的时候调用

内部方法调用过程

  • 当接收到一个请求时, tomcat就会找对应的service方法
  • 如果当中servlet当中没有存在service方法,就会到它的父类(HttpServlet)当中去找。
  • 在父类当中找到service是参数为ServletRequest,在内部会把参数转为httpServlet

  • 转换完毕后会再继续调用参数为httpServletRequest的service方法
  • 在此方法当中会获取参数的类型,根据不同的参数类型再去调用不同的方法

posted @ 2019-04-01 11:23  Lomen~  阅读(835)  评论(0编辑  收藏  举报