Servlet的生命周期:
所谓生命周期,指的是Servlet容器是如何创建Servlet实例、分配其资源,调用其方法,并销毁其实例的整个过程
1. 加载servlet
2. 实例化servlet
3. 调用init(),进行初始化
4. 调用service,派遣与请求相对应的doXXX方法,运行(以多线程的方式运行service() );
5. 服务终止,调用destory,将其销毁。
JSP sun公司定制的一种服务器端动态页面生成技术的规范,直接使用Servlet 生成页面比较繁琐复杂,为简化这个过程Jsp应运而生,使用jsp编写页面,使用简单方便而且易于维护。
1. 服务器端的应用,可以访问服务器端的资源;
2. 采用Java编写类XMl标记的脚本,封装动态网页的处理逻辑,简化了由Servlet来生成html文档的繁琐代码,并且降低了复杂度
3. 可以认为是包含Java代码的HTML文档;
4. JSP最终解释为Servlet并编译执行;
5. 将网页逻辑与界面的设计和显示分享,使得web应用的开发更加迅速和容易,使得后台程序员和前台设计人员可以并行工作。
运行机制:
1. 将jsp布置到web服务器上,首次载入时被翻译成Servlet文件,调用JVM编译Servlet文件得到相应的.class文件并执行
2. 将运行结果以html文件的形式行为响应返回给客户浏览器
jsp第一次访问时,历时会较长;当再次访问它时,由于对应的.class文件已经生成,此时将会很快。
当jsp再次被请求时,jsp引擎会比较其相应的Servlet,若jsp比Servlet新,说明jsp被修改,需要重新编译。
生命周期:
1. 将其翻译成 servlet;
2. 将servlet 编译成.class文件;
3. web加载生成的servlet,然后创建servlet实例;
5. 调用Jspinit(),加载需要的资源,等待请求;
6. 调用JspService();创建新线程,处理请求;
7. 调用JspDestory(),销毁加载的资源,销毁实例。