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
浙公网安备 33010602011771号