建议:对于javaEE,在如何学习jsp和servlet时,初学者往往是一头雾水。我当时就被jsp的各种标签、内置对象和servlet整的很惨。所以,学习方法变得特别特别重要;而且,随着技术的更新和发展,有些内容是没有必要花时间的,所以学习的时候要学会舍得,有舍便有得嘛。(这里针对jsp和servlet的学习)。无论是什么学习方法,掌握原理最重要,掌握原理则掌握天下,而且原理就那么一点,一下子就学完了。至于学习jsp和servlet的方法,那就是先学servlet,再学jsp。等学完servlet和jsp时,噢,原来这两个技术最终差不多一样的。
1.servlet的技术发展
a.刚开始,CGI:Common Gateway Interface
1) 以进程方式运行,对每一个客户端的请求都要启动一个进程来运行程序,导致用户数目增加时,服务器端资源被大量占用;
2) 由于对操作系统和进程的不深刻理解,使得开发人员开发的CGI程序经常遇到莫名其妙的错误;
3) 不同的CGI之间不能共享资源。
b.后来,采用了Pooling技术,一定程度上改善了性能
但还是属于进程方式。
c.最后,出现servlet技术
1) 在Java世界中,为了避免CGI的缺点,出现了servlet技术,给web开发人员构建了一个更强大的服务器端环境;
2) 使用单独一个进程来响应所有的请求;
3) 使得多个servlet和请求间可以共享资源,多个servlet对应多个线程。
2.servlet的特点
a. servlet的运行需要依赖于服务器(web容器|javaEE容器);
b. servelt的调用需要依赖于用户的请求(客户端浏览器---(请求)-->服务器---(做servlet调用)--->调用servlet);
c. servlet不是一个普通的javaBean。由容器创建servlet实例;
d. servlet生命周期是由容器来控制的。