HttpServlet类

HttpServlet类

HttpServlet类是一个没有抽象方法的抽象类。

抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。但是抽象类是不能被实例化的,即使它没有抽象方法。

当一个类被声明为抽象方法有两个原因:

有抽象方法
没有抽象方法,但是不想此类被实例化
没有抽象方法的抽象类的价值在于:实例化了没有意义,因为类已经把方法都实现了,而且它不需要通过不同的对象来保存不同的状态。

这种场景更多的出现在各种工具类中,如果它的所有方法都是静态的,那么把它定义为抽象的,会从机制上防止实例化。


源码分析

  • HttpServlet类是专门为HTTP协议准备的。比GenericServlet更适合HTTP协议下开发。
  • HttpServletRequest对象中封装了什么信息?
    • HttpServletRequest,简称request对象。
    • HttpServletRequest中封装了请求协议的全部内容。
    • Tomcat服务器将“请求协议”中的数据全部解析出来,然后将这些对象全部封装到request对象当中。
  • HttpServletResponse对象是专门来响应HTTP协议到浏览器的。
  • 直接编写一个Servlet直接继承HttpServlet,直接重写HttpServlet类中的service()方法可以么?
    • 可以,只是不会再享受405错误的提示。
  • 如何开发一个Servlet类?
    • 第一步:编写一个Servlet类继承HttpServlet
    • 第二步:重写doGet方法或者重写doPost方法,重写谁?由javaweb程序员说的算。
    • 第三步:将Servlet类配置到web.xml文档中。
    • 第四步:准备前端的页面(form表单),form表单中指定请求路径即可。

HttpServlet的生命周期

1.客户端第一次请求一个 Servlet 时,web服务器(如 tomcat )根据 web.xml 的配置信息找到此 Servlet 的类,并创建该 Servlet 的对象,并根据配置信息创建 ServletConfig 对象,然后调用 Servlet 对象的 init(ServletConfig) 方法进行初始化。
2.服务器解析请求信息,创建 HttpServletRequest 对象,把请求信息封装到 HttpServletRequest 对象中,然后创建空的HttpServletResponse对象。
3.服务器调用 Servlet 对象的 service 方法,并把 HttpServletRequest 对象和 HttpServletResponse 对象传递给 service 方法的参数。
4.service方法根据请求方式(get/post)调用相应的方法(doGet/doPost)。
5.以后再收到此请求时直接调用 service方法处理请求。
6.当关闭服务器时从服务中取出 servlet,然后使用 destroy 方法销毁它,最后进行垃圾回收并终止它。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤妄的Devil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值