深入理解Servlet [转]
2016-04-19 22:13
302 查看
servlet是位于J2EE表示层的应用服务器。
![](https://img-blog.csdn.net/20131228001756078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzaHVhbmd6aGU3MDQ3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2) servlet的程序则有两个Java包组成,javax.servlet、
javax.servlet.http。其中javax.servlet中定义类和接口,javax.servlet.http定义了采用HTTP协议通信的HttpServlet类
3)所有的servlet程序都必须实现servlet接口,实现过程如下图所示:
![](https://img-blog.csdn.net/20131228131313203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzaHVhbmd6aGU3MDQ3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
1,servlet实例化到内存,调用init方法 ;
2,客户端请求和相应调用init方法;
3,释放内存,关闭服务。
![](https://img-blog.csdn.net/20131228123021593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzaHVhbmd6aGU3MDQ3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
初始化目的:Servlet对象在处理客户端请求前完成一些初始化的工作,建立数据库连接,获取配置信息等。
细节注意:1,Servlet容器复杂加载和实例化Servlet;2,创建一个Servlet对象,init()方法只被调用一次;3,初始化阶段会抛出ServletException异常,发生异常servlet不在被执行。
细节注意:1,service()方法调用之前,init()方法必须成功执行即初始化成功;2,通过ServletRequest对象得到客户端的相关请求信息,ServletResponse设置相应信息。
细节注意:1,当Servlet容器终止运行,或重新加载新实例时,调用destroy()方法。
转自:http://blog.csdn.net/lishuangzhe7047/article/details/17622461
servlet理解篇
1)首先,servlet是一段程序,其次,是运行在服务器上的程序,再次,是处理客户端请求的运行在服务器上程序。主要功能在于交互式地浏览和修改数据,生成动态Web内容。2) servlet的程序则有两个Java包组成,javax.servlet、
javax.servlet.http。其中javax.servlet中定义类和接口,javax.servlet.http定义了采用HTTP协议通信的HttpServlet类
3)所有的servlet程序都必须实现servlet接口,实现过程如下图所示:
1,servlet实例化到内存,调用init方法 ;
2,客户端请求和相应调用init方法;
3,释放内存,关闭服务。
servlet生命周期
Servlet程序执行过程就是一个生命周期即初始化阶段、运行阶段、销毁阶段。1)初始化阶段
Servlet容器创建Servlet实例,并调用init()方法进行初始化。初始化目的:Servlet对象在处理客户端请求前完成一些初始化的工作,建立数据库连接,获取配置信息等。
细节注意:1,Servlet容器复杂加载和实例化Servlet;2,创建一个Servlet对象,init()方法只被调用一次;3,初始化阶段会抛出ServletException异常,发生异常servlet不在被执行。
2)运行阶段
servlet对象接受请求,创建ServletRequest和ServletResponse对象,然后调用service方法。细节注意:1,service()方法调用之前,init()方法必须成功执行即初始化成功;2,通过ServletRequest对象得到客户端的相关请求信息,ServletResponse设置相应信息。
3)销毁阶段
Servlet容器调用destroy()方法后,容器释放Servlet实例,垃圾回收机制处理。细节注意:1,当Servlet容器终止运行,或重新加载新实例时,调用destroy()方法。
总结
在servlet生命周期中,servlet的初始化和销毁只发生一次,即init()方法和destroy()方法执行一次,servlet()方法被执行的次数取决于被访问的次数。整个过程就涉及到这三个方法。转自:http://blog.csdn.net/lishuangzhe7047/article/details/17622461
相关文章推荐
- 跨域资源共享 CORS 详解
- ZOJ 3607 Lazier Salesgirl
- 关于类模板语法的极简示例
- centos 添加用户
- 递归算法的解析
- 用windeployqt打包Release版本后提示错误
- js动画效果
- 第五次作业
- 常用的几种编程语言的介绍
- 练习-购物车功能实现
- UserAction extends ActionSupport implements ModelDriven<User> .tmp 上传图片文件
- ZOJ 3605 Find the Marble
- Java代码规范和一些常见问题
- 你是被别人整还是整别人
- Android入门篇(一)Android工程的搭建,导入与导出,图标的修改
- Java代码规范和一些常见问题
- Java代码规范和一些常见问题
- Fragment
- java中如何将char数组转化为String?
- 微软面试100题 - 53