03javaweb (Servlet的生命周期)

Servlet技术

Servlet概述:

	   什么是servlet:它是运行在web服务器端的一个java小程序,简单来说,它就是一个java类
			 在使用servlet时,需要导入javax.servlet下的jar包。比如:tomcat服务器提供了
			 servlet的servlet-api.jar包,所以在开发时用tomcat服务器就不需要再导入servlet的jar包。
	   Servlet它是一个资源,是用来被用户访问的资源,同时是一个动态资源,它是由sun指定的servlet规范。
	   Servlet的作用:它是基于Http协议的,主要是用来接收客户端发送的请求,处理请求,把数据响应给客户端。

Servlet的入门

Servlet的接口和实现类:

		>>>Servlet它是一个接口,在javax.servlet 包下面。
		    五个方法:
		* destroy():执行这个方法,销毁了servlet对象
		* init(ServletConfig config):在web服务器创建servlet对象以后,执行这个初始化方法。
		* service(ServletRequest req, ServletResponse res) :服务方法,用来接收客户端发送的请求,并且响应数据到客户端
		* getServletConfig():现在不讲
		* getServletInfo():servlet 的信息,比如作者、版本和版权,这个方法在开发中不用。
	    GenericServlet,它是一个类,实现了Servlet接口
	    HttpServlet,它是一个类,实现了Servlet接口,同时继承了GenerciServlet
	     创建servlet三种方式
		   直接实现Servlet接口。
		     继承GenericServlet类
		     继承HttpServlet类。
		      一般在开发中,创建servlet,通常去继承这个HttpServlet.
		      比如:class MyServlet extends HttpServlet{ 重写咱们所需要的方法}

实现第一个Servlet程序

1.自己手动创建Servlet,通过Dos命令窗口编译Servlet,把编译好的class文件部署到tomcat服务器运行。
2.通过Eclipse创建Servlet,部署到tomcat服务器,然后就可以访问咱们所需要的Servlet。

步骤:

			1.创建HelloWordServlet,继承GenericServlet
			2.重写父类GenerciServlet的service方法。
			3.在服务方法里面,处理客户端的请求后,把数据响应给客户端。
	     比如:

public class HelloWordServlet extends GenericServlet{

					@Override
					public void service(ServletRequest arg0, ServletResponse response)
							throws ServletException, IOException {
						// 处理客户端发送的请求,并且把数据响应给客户端
						 System.out.println("接收了客户端的请求-------------------");
						 //把数据响应给客户端,与浏览器绑定的输出流,作用向浏览器输出数据
						  PrintWriter pw = response.getWriter();
						  pw.print("Hello World");
					}
				}

访问Servlet,提供servlet的访问路径:
比如:

helloWorld
cn.itcast.firstmyapp.servlet.HelloWordServlet



helloWorld
/hello

通过浏览器访问:http://localhost:9999/webFirst/hello
就找到对应的HelloWorldServlet,把数据响应给浏览器。

	 导入jar包:先拷贝对应的jar包,放到WebContent下面的WEB-INF下面的lib文件夹下面。  jar的图标就变成小奶瓶。

Servlet的生命周期:

	      生命周期:自然界人从出生到最终走向西方极乐世界,这个周期过程就是人的生命周期,
		     其实servlet的生命周期和人的一样,从servlet对象被创建,经过使用servlet对象,
		     到最终servlet对象被销毁,整个过程就是servlet的生命周期。
与生命周期相关的三个方法:
初始化阶段:
		init(ServletConfig config) 初始化方法:首次访问这个Servlet,servlet对象会被创建,执行初始化方法,执行一次。
运行阶段:
		service(ServletRequest req, ServletResponse res) 服务方法:每次访问servlet时,服务方法都会被执行,执行多次。。
销毁阶段:
		destroy()销毁方法:在服务器正常关闭时。会执行销毁方法,执行一次。
	  比如:
 public class LifeServlet extends GenericServlet {
				/**
				 * 初始化方法
				 */
				@Override
				public void init(ServletConfig config) throws ServletException {
					System.out.println("首次访问LifeServlet时,会执行这个初始化方法-------------");
				}
				/**
				 * servlet的服务方法
				 */

				@Override
				public void service(ServletRequest arg0, ServletResponse arg1)
						throws ServletException, IOException {
					System.out.println("每次访问lifeservlet,都会执行这个服务方法--------");
					
				}
				/**
				 * 销毁方法
				 */
				@Override
				public void destroy() {
					System.out.println("在服务器关闭时,会执行销毁方法----------");
				}
			}
			在web.xml文件上面配置访问路径:
				  <servlet>
					    <servlet-name>lifeServlet</servlet-name>
					    <servlet-class>cn.itcast.firstmyapp.servlet.LifeServlet</servlet-class>
				  </servlet>
				  <servlet-mapping>
					    <servlet-name>lifeServlet</servlet-name>
					    <url-pattern>/life</url-pattern>
				  </servlet-mapping>

大数据2005 周敏 2020080605048

Guess you like

Origin blog.csdn.net/qq_54262540/article/details/121357295