1.什么是Servlet
如果说JaveWeb程序是一块手表,那么Servlet就是其中齿轮。一个个Servlet实现程序中的不同功能,最终构成整个程序。在MVC设计模式中,Model是JavaBean,View是Jsp页面,而Controller就是Servlet。同时,Jsp的前身就是Servlet。Jsp页面是通过Servlet的“制作”出来的。
可以说,Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的驻留在服务器内存里的Servlet程序。
2.Servlet的生命周期
1.加载和实例化;在第一次请求Servlet时,Servlet容器将会创建Servlet实例;
2. 初始化;Servlet容器加载完成Servlet之后,必须进行初始化,此时,init方法将被调用;
3. Servlet初始化之后,就处于响应请求的就绪状态,此时如有客户端请求发送,就会调用Servlet实例的 service()方法,并且根据用户的请求方式,调用doPost或者doGet方法;
4. 最后,Servlet容器负责将Servlet实例进行销毁,调用destroy方法实现;
对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作 为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。
一般Servlet只初始化一次(只有一个对象),当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。
3.Servlet的运行过程
⒈ 客户端发送请求至服务器端;
⒉服务器端根据web.xml文件中的Servlet相关配置信息,将客户端请求转发到相应的Servlet
⒊ Servlet引擎调用Service()方法,根据request对象中封装的用户请求与数据库进行交互,返回数据之后,Servlet会将返回的数据封装到response对象中。
⒋ Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求。
⒌ 服务器将响应返回给客户端。
4.如何编写一个Servlet
1.继承HttpServlet
2.重写doGet()或者doPost()方法
3.在web.xml中注册Servlet
4.初始化Servlet参数