0
点赞
收藏
分享

微信扫一扫

HttpServlet

徐一村 2022-06-01 阅读 51


  • 现在创建 Servlet 存在的问题
  • 每一次都要去实现​​Servlet​​ 接口
  • 都要去​​web.xml​​ 中做配置



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


HttpServlet_JavaEE

HttpServlet_xml_02

HttpServlet_子类_03

HttpServlet_xml_04


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


HttpServlet_JavaEE_05


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


使用注解时的注意点


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


HttpServlet_父类_06


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


HttpServlet


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


HttpServlet_子类_07


  • ​GenericServlet​​​ 实现了​​Servlet​​ 接口


HttpServlet_xml_08


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


HttpServlet的相关方法

service


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


HttpServlet_JavaEE_09

doGet


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


doPost


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


HttpServlet内部方法调用过程


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


HttpServlet_xml_10


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


HttpServlet_父类_11


  • 在此方法当中会获取请求的的类型,根据不同的类型再去调用不同的方法


举报

相关推荐

0 条评论