J2EE之Servlet

我的认为ServletJava开发中属于最基础也是很重要的一个知识点了今天就来简单谈谈servletjava

1.如何开发一个servlet

步骤:web

1)编写java类,继承HttpServlettomcat

2)从新doGetdoPost方法服务器

3Servlet程序交给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.servletinit方法被调用

4)建立requestresponse对象,经过反射调用service方法

4.1 获得方法对象

Methodm m =clazz.getDeclareMethod("service",HttpServletRequest.class,HttpServletResponse.class);

4.2 调用方法

m.invoke(obj,request,response);  --3.servletservice方法被调用

5)当tomcat服务器中止或web应用从新部署,经过反射调用destroy方法

5.1 获得方法对象

Method m = clazz.getDeclareMethod("destroy",null);

5.2 调用方法

m.invoke(obj,null);            --4.servletdestroy方法被调用


本文分享自微信公众号 - 微光点亮星辰(SandTower)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索