servlet

在网上看了很多关于servlet的文章,记录下自己的理解,如有不对还请大家指出。

1.Servlet是什么?

Servlet是sun公司提供的一门用于开发动态web资源的技术。
Sun公司在其API中提供了一个servlet接口,用户若想开发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

1.编写一个Java类,实现servlet接口。
2.把开发好的Java类部署到web服务器中。
按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet。

Servlet是运行在一个Web服务器(如:tomcat)里的一个小型Java程序。Servlets通常通过HTTP(超文本传输协议)接收并响应来自Web客户端的请求。
要实现这个接口,您可以编写一个继承了javax.servlet.GenericServlet的一般的servlet,或者继承了javax.servlet.http.HttpServlet的HTTP servlet。

2.Servlet运行过程

Servlet程序是由web服务器调用,web服务器收到客户端的Servlet访问请求后:
①web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
⑤web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

一道面试题:请说出servlet的生命周期。
答:servlet对象是用户第一次访问时创建,对象创建之后就驻留在内存里面了,响应后续的请求。servlet对象一旦被创建,init()就会被执行,客户端的每次请求导致service()方法被执行,servlet对象被摧毁时(web服务器停止后或者web应用从服务器里删除时),destory()方法就会被执行。

---------------------

参考资料如下:
作者:李阿昀
来源:CSDN
原文:https://blog.csdn.net/yerenyuan_pku/article/details/51852086

posted on 2019-02-12 17:01  minkey  阅读(109)  评论(0)    收藏  举报

导航