我的认为Servlet在Java开发中属于最基础也是很重要的一个知识点了,今天就来简单谈谈servlet。java
1.如何开发一个servlet
步骤:web
1)编写java类,继承HttpServlet类tomcat
2)从新doGet和doPost方法服务器
3)Servlet程序交给tomcat服务器运行!!微信
3.1 servlet程序的class码拷贝到WEB-INF/classes目录spa
3.2 在web.xml文件中进行配置.net
Servlet生命周期
既然是说生命周期,那就有何时出生(类对象的建立),出生了干吗(调用什么方法),何时死亡(销毁)一说。之前的对象都是new Student(); stu.study(); stu=null;等等xml
Servlet生命周期由tomcat服务器控制。对象
Servlet四个重要的生命周期方法blog
构造方法:
建立servlet对象的时候调用。默认状况下,第一次访问servlet的时候建立servlet对象只调用1次。证实servlet对象在tomcat是单实例的。
init方法: 建立完servlet对象的时候调用。只调用1次。
service方法: 每次发出请求时调用。调用n次。
destroy方法: 销毁servlet对象的时候调用。中止服务器或者从新部署web应用时销毁servlet对象。只调用1次。
伪代码:
Tomtcat内部代码运行:
1)经过映射找到到servlet-class的内容,字符串: com.zqg.a_servlet.FirstServlet
2)经过反射构造FirstServlet对象
2.1 获得字节码对象
Class clazz = class.forName("com.zqg.a_servlet.FirstServlet");
2.2 调用无参数的构造方法来构造对象
Object obj = clazz.newInstance(); ---1.servlet的构造方法被调用
3)建立ServletConfig对象,经过反射调用init方法
3.1 获得方法对象
Method m = clazz.getDeclareMethod("init",ServletConfig.class);
3.2 调用方法
m.invoke(obj,config); --2.servlet的init方法被调用
4)建立request,response对象,经过反射调用service方法
4.1 获得方法对象
Methodm m =clazz.getDeclareMethod("service",HttpServletRequest.class,HttpServletResponse.class);
4.2 调用方法
m.invoke(obj,request,response); --3.servlet的service方法被调用
5)当tomcat服务器中止或web应用从新部署,经过反射调用destroy方法
5.1 获得方法对象
Method m = clazz.getDeclareMethod("destroy",null);
5.2 调用方法
m.invoke(obj,null); --4.servlet的destroy方法被调用
本文分享自微信公众号 - 微光点亮星辰(SandTower)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。