Servlet生命周期
2016-03-18 16:08
176 查看
Servlet也是一个普通的Java类,所以其一样具有生命周期。
Servlet从生成到销毁必须经过如下几个步骤:
1、生成Servlet,加载到Servlet Engine中,并通过调用其init()方法来进行初始化;
2、通过提供的响应方法来处理客户端的请求;
3、调用destroy()方法进行销毁,并通过垃圾收集器进行收集清理。
演示Servlet生命周期的示例:
新建Servlet01.java:
配置web.xml文件:
打开浏览器调用:
http://localhost:8080/web_project/Servlet01
Servlet从生成到销毁必须经过如下几个步骤:
1、生成Servlet,加载到Servlet Engine中,并通过调用其init()方法来进行初始化;
2、通过提供的响应方法来处理客户端的请求;
3、调用destroy()方法进行销毁,并通过垃圾收集器进行收集清理。
演示Servlet生命周期的示例:
新建Servlet01.java:
package web_project; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Servlet01 extends HttpServlet{ //init方法 public void init() throws ServletException{ System.out.println("Servlet初始化,生命周期开始"); } //doGet方法 public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ //获得输出流out PrintWriter out=response.getWriter(); //输出到网页上 out.println("This is my first Servlet Application!"); System.out.println("doGet执行"); } //destory方法 public void destory(){ System.out.println("Servlet销毁,生命周期结束!"); } }
配置web.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <servlet> <servlet-name>Servlet01</servlet-name> <servlet-class>web_project.Servlet01</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet01</servlet-name> <url-pattern>/Servlet01</url-pattern> </servlet-mapping> </web-app>
打开浏览器调用:
http://localhost:8080/web_project/Servlet01
相关文章推荐
- Android开源项目分类汇总
- [疯狂Java]多线程:线程通信(监控器信号、Condition信号、阻塞队列)
- 试用cmd markdown
- 欲善其事,必利其器---页面开发基础知识整理
- template 不能分别在.h和.cpp中定义模板
- java 事件通告写法
- MyBatis深入理解一
- QQ发送位置(高德地图)
- jquery插件学习
- Light烘培原理
- Node.js初体验
- Matlab中K-means聚类算法的使用(K-均值聚类)
- WAS部署 -- SRVE0255E: 尚未定义要处理 /snoop 的 Web 组/虚拟主机
- Unity shader 实现圆角矩形和圆形区域
- Oracle connect by..start with/level
- VMware Workstation导出的ovf格式虚拟机 不能用VirtualBox导入
- Mac安装AndroidStudio小结
- ActiveMQ实现负载均衡+高可用部署方案
- [Java代码] 分享代码片段:将指定位置的war包加入classpath的classloader实现
- Spark安装和配置