大白话Javaweb:servlet及tomcat

前言

本文适合有一定开发经验的Java Web开发者,对Java Web世界好奇的人。本文是我的个人感悟,如果不妥或者不对的地方,欢迎大家指出!

Servlet

对于网络上的一个http请求,到达我们的程序,我们应该怎样形象的用代码表示它,包括其中的请求头、cookie、url等,最好写一个对象将其封装,请求的响应同样如此。我们可以用面向对象大法自己来写一套,但是如果A公司写了一个RequestA,B公司又写了一个RequestB,张三从A公司跳槽到B公司又得重新学习适应新的写法,十分混乱效率低下。

这时候servlet应运而生。简而言之,servlet就是一套接口,或者说规范。它规定好了,一个http请求就对应一个HttpServletRequest,响应就对应一个HttpServletResponse,请求必须在Servlet中处理。这样呢,不管张三在哪个公司,直接拿到request就能写业务代码了。但是这样还有问题,servlet只是一系列的接口(就是我们代码中的interface),没有具体的实现。那么请求是怎样封装成HttpServletRequest的呢,具体的实现类咋写?然后这个请求又是该找哪个Servlet处理呢?这时候就该用到我们的tomcat啦。

Tomcat

tomcat,简而言之,就是web容器,一个存放并管理servlet的大池子。我们写的Servlet交给它管理,它会监听网络上指定端口的请求,将其封装成我们想要的HttpServletRequest,然后送到某个Servlet处理即可。

作个不太形象的比喻,我们把tomcat比作一个工厂,其中servlet就是有着不同功能的车间,http请求就是运输车,请求中的数据就是运输车运输的原材料。假如一个运输车运了一个用户id开到tomcat工厂大门口,tomcat工厂放行运输车,将其包装成车间能识别的模样,然后路由到对应的servlet车间,该servlet取下原材料加工出一个用户放回车上,车子再经过tomcat工厂大门离开。很显然,这里tomcat及servlet分工明确,前者要负责servlet的创建管理和销毁,如果请求过来要将请求包装成servlet能识别的request,并分发到指定的servlet;后者则是要负责完成请求的任务。

总结

servlet是一套规范,它定义了http的格式、请求处理方式等;tomcat是对servlet的具体实现,能够完成请求封装分发返回等功能。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值