Servlet接口

Servlet接口

Servlet接口定义了5个方法:

Void init ( ServletConfigconfig )

Void servlet( ServletRequestrequest , ServletResponse response )

Void destroy(  )

Java.lang.StringgetServletInfo( )

ServletConfiggetServletConfig( )

注意:编写JAVA方法签名的规则是:与包含该方法的类型不在同一个包中的类型,要使用全类名。

Init service destroy这三个方法属于Servlet生命周期方法。Servlet容器将根据一定的原则对这三个方法进行调用:

      Init:在第一次请求Servlet时,Servlet容器就会调用这个方法。在后续的请求中,将不再调用该方法。可以利用这个方法来编写一些应用程序初始化的相关代码。在调用这个方法时,Servlet会传递一个ServletConfig 。 一般来说会将ServletConfig 赋给一个类级变量。以便Servlet类中的其他方法也可以使用这个对象。

      Service 。 每次请求Servlet时,Servlet容器都会调用这个方法。必须在这里编写要Servlet完成的相应代码。第一次请求Servlet时,Servlet容器会调用init方法和Service方法,对于后续的请求,只调用Service方法。

      Destroy 要销毁Servlet时,Servlet容器会调用这个方法。它通常在卸载应用程序或者关闭Servlet容器的时候,一般来说,可以在这个方法中编写一些资源请求的相关代码。

      Servlet 中另外两个方法是非生命周期方法:getServletInfo  和 getServletConfig 。

      getServletinfo  该方法返回Servlet的描述。可以返回可能有用的任意字符串,甚至是NULL

      getServletConfig 该方法返回由Servlet容器传递给init方法的ServletConfig。但是,为了让getServletCofig返回值非NULL。你肯定给它传递过去了一个数值。

      下面的代码是Servlet的实现类:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyServlet  implements Servlet{
	private transient ServletConfig servletConfig;
	public void init(ServletConfig config) throws ServletException {
		System.out.println("*************init()***************");
		this.servletConfig = config;
		
	}
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return servletConfig;
	}
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return "My Servlet";
	}
	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		String servletName = servletConfig.getServletName();
		res.setContentType("text/html");
		PrintWriter writer = res.getWriter();
		writer.print("<html><head></head>"+
						"<body>Hello from " + "</body></html>");	
		System.out.println("**********service()**************");
		
	}
	
	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("**********destroy()**************");
		
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值