servlet是什么?servlet到底是啥?
#说实话
这个鬼servlet我听说过它好多年了,但是我真的不知道它到底是干啥用的。内心里总觉得这是个很复杂的,绝对是让人难以理解的东西,我真的感觉自己很抗拒它,不想知道,不想去了解。可是我还是不得不去研究下它,因为我想知道Tomcat这个鬼东西,要想知道Tomcat的事,就必须要知道跟Tomcat缠绕在一起的servlet。
今天之前我总觉得这个servlet一定跟http协议 , TCP/IP ,什么应用层,传输层 等这些乱七八糟的,一辈子都搞不懂的破事儿有关系。总把Servlet和太多东西联系起来,以为它是个很复杂的东西。其实不是。
#servlet到底是啥?
既然上面说了servlet不复杂,那servlet到底是啥。 事实上,servlet就是一个Java接口。接口的作用是啥,是规范!
什么网络协议,什么http,什么传输层应用层这些牛鬼蛇神 servlet统统管不着。
servlet这个接口只有5个方法。
servlet接口定义的是一套处理网络请求的规范。
其中最主要的是两个生命周期方法init(),destroy(),还有一个处理请求的service().
所有想要处理网络请求的类,都要回答这3个问题:
1)你初始化时要做什么
2)你销毁时要做什么
3)你接受到请求时要做什么
这是Java给的一种规范
servlet是一个规范,那实现了servlet的类,就能处理请求了么?
不好意思,答案:不能
#是哪儿用到了servlet?
写一个servlet的时候,我没从来不会在servlet中写什么监听8080端口的代码,servlet不会直接和客户端打交道!那请求怎么来到servlet呢?答案是servlet容器,比如我们最常用的Tomcat ,
Tomcat才是与客户直接打交道的家伙,它监听端口,请求过来后,根据URL信息,确定要将请求交给哪个servlet去处理,然后调用那个servlet的service方法,service方法返回一个response对象,Tomcat再把这个response返回给客户端。
参考
https://www.zhihu.com/question/21416727
https://www.zhihu.com/question/21416727/answer/339012081
最新文章
- linux服务器TCP并发连接数优化
- Tomcat(JVM)性能监控方法
- VC++ 动态生成 成组的 RadioButton 按钮组
- getpid 与 gettid 与 pthread_self
- JavaScript常用代码段
- jQuery--隐藏事件
- JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符
- cocos2dx 制作单机麻将(二)
- VC中基于 Windows 的精确定时
- HAOI 2012 高速公路
- [csdn markdown]使用摘记三 简便快捷的流程图
- ECMA Script 6_异步编程之 Promise
- 编写SHELL脚本--判断用户的参数
- spark on yarn详解
- 3、pandas的loc和iloc数据筛选
- 点击input触发弹出框的bug
- Beta冲刺——day5
- python中的 小数据池 is 和 ==
- 利用CSS生成精美细线Table表格
- sailsjs 不用写代码就能生成rest api 代码
热门文章
- UML类图 入门 (转载)
- tp5 模型中配置数据库连接信息
- ORA-12514: 监听程序当前无法识别连接描述符中请求的服务
- 破解CentOS7的root及加密grub修复实战
- pt-online-schema-change 最佳实践(转)
- .NET CORE 升级3.0遇到的问题the project must provide a value for configuration
- The Preliminary Contest for ICPC Asia Nanjing 2019 H. Holy Grail
- 生产环境碰到系统CPU飙高和频繁GC系统反应慢,你要怎么排查?(转)
- package的xml格式的改变
- 【转】Linux下tcp连接断开后不释放的解决办法