以前用任何一种技术,只是想着快速的入门,快速的使用,尽快完成功能.现在回过头来看看,实在惭愧.
最近疑问太多,我开始不停的问自己,这是什么?有什么优势,有什么劣势( 源于去年在腾华基金的一场笔试,人生的成长就得要是从失败中不停的总结经验 )...
言归正传:
什么是Servlet:
Servlet是一个基于Java技术的Web组件,用于动态生成内容(HTML、JS).提供Web Server与Web Application的桥梁( 桥梁模式 ).通过Web Client达到与Web Server之间的动态交互( Web Server动态加载符合 Servlet规范的Web Application )
Servlet有什么优势:
在Servlet还未出现之前,要完成Web动态交互,那就不得不提一下:CGI(公共网关接口).
CGI: 当Web Client发起请求时,CGI会启动一个进程调用,并把结果返回给Web Client(由于进程调用,进程之间实例是无法共享实例).
Servlet: 当Web Client发起请求时,Web Server( 符合Servlet规范的容器:Tomcat、Jetty)会启动一个线程调度( 根据请求的URL,Match到具体的的Servlet,并调用(委托)相应的Servlet的service方法.由于线程调度,线程之间的实例是可以共享的,所以Servlet是线程不安全的对象 ).