HttpServlet

一、使用注解创建Servlet

现在创建Servlet存在的问题

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

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

创建Servlet:

1472533-20190401112252103-915782295.png

1472533-20190401112257798-109994867.png

1472533-20190401112306752-101634893.png

1472533-20190401112311519-647607834.png

在创建好的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

1472533-20190401115019153-1643503771.png

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

1472533-20190401115024949-1298793153.png

转载于:https://www.cnblogs.com/xzh0717/p/10635338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值