深入Servlet---(一) 底层结构

没了解过这些,都不好意思说学过Servlet


一.话分两头

今天博主给大家带来一波内核很充足的acticle,奥里给!(日常傻屌…)
alt
想必不少同道中猿已经用过Servlet,抑或是说轻松驾驭Servlet如同老司机开车–稳如老狗.

那么大家对于底层servlet的具体实现有过了解吗 也许你知道Servlet有Http协议和非Http协议两种,或者说继承子HttpServlet 继承doGet()/doPost(),emmm 笔者认为还远远不够 至少你还得看看具体父类方法的实现

二.兵分三路

正如二级标题寓意那样我们日常操作的servlet来自三个爷爷类:
ServletConfig Servlet Serializable

  • 序列化接口: 这个很容易想到,毕竟Serlvet是为了Web服务,而网页数据和客户端的交互之间的数据传输在所难免
  • Servlet和ServletConfig 这两个并不是自定义servlet的的直接父类
    他有一个自己的家谱(博主亲自整理的哦!):

att
仔细一看,才发现我们熟知的Servlet竟是如此的不简单.注意我只是把最主要的方法描述出来,事实上还有很多共有的方法就不一一罗列了(不可以说我懒…)

今天我们主要探讨ServletConfig类和ServletContext类的方法:为什么要单独提这两个,细心的你或许已经发现这两个类有相同的方法:getInitParamer(String name)虽然他们有幸同名,却不能共度余生.

  • ServletConfig 中的param方法(简称,懒癌晚期QAQ) 他是针对于当前servlet 容器换句话说:就是仅仅存在于你定义的那个Servlet类中.因此的它的初始化在web.xml中自然存在于servlet里:

在这里插入图片描述
运行结果:

doget方法
WebServletConfig中的getInitParmaer()方法

而ServeletContext里的param方法存在于全局web容器里,随处可以调用:

System.out.println(super.getServletContext().getInitParameter("servletContext"));

初始化:
在这里插入图片描述
结果若我们所想

  • 此外我们还可以发现SerlvetContext还有几个常用的方法
    • getContextPath():获得相对路径
    • getRealPath(): 获得绝对路径

由此观之,熟悉底层原理,不仅开拓各位的视野,也能我们所掌握的技术能够深入了解,这样即便以后遇到什么难题,我们可以根据它的底层方法实现去一步步探究.


三.未完待续

下一篇: 深入Servlet—(二) 浴火重生

喜欢的朋友,点个关注再走吧😁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值