Servlet是什么?

什么是servlet?

servlet本质是一个接口。但是通常来说servlet是指所有实现了servlet接口的实现类

 

每一个实现了servlet接口的类都需要实现这五个方法。其中最主要的三个方法是init() service()destroy()。init destroy是生命周期方法,service是处理请求时的方法。所有实现了servlet接口的类,或者说想处理网络请求的类都需要实现这三个方法,初始化时干什么,接收到服务干什么,销毁时干什么。servlet作为接口(规范),即使实现了它的类也并不能处理网络请求。因为servlet并没有main方法所以不能独立运行。

什么是servlet容器?

因为没有main,所以需要部署到servlet容器中,容器实例化和调用servlet方法。servlet接收网络请求并返回一个响应,容器把servlet挂载到http服务器上,生成动态网页

 

servlet的请求会先被http服务器(Apache)获取生成静态资源HTML,然后会被servlet容器捕获,servlet根据web.XML映射关系调用对应的servlet实现类,servlet将处理结果返回给容器,容器再通过http服务器响应给客户端。Tomcat Jetty JBoos都是容器

什么是web服务器?

Apache NGINX IIS 都是web服务器,这里的http服务器和web服务器应该是一回事。

 可以看出web服务器是包含servlet容器的,容器内有servlet。

上述三者是如何配合工作的? 也就是说Servlet容器和Web服务器如何处理一个请求?

1,web服务器接收http请求。2,服务器转发给容器。3,容器去调用servlet,如果不存在就会检索所有的servlet,把对应的加载到容器内的地址空间中。4,容器初始化servlet。5,servlet的service()处理请求并生成响应。6,web服务器返回响应

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值