Servlet:java服务器端小程序。
Servlet网络拓扑图 :
sevlet生命周期:
1、servlet容器创建servlet的一个实例
2、容器调用该实例的init()方法
3、如果容器对该servlet有请求,则调用此实例的service()方法
4、容器在销毁本实例前调用它的destroy()方法
一旦请求了一个servlet,就没有办法阻止容器执行一个完整的生命周期。
一、通过实现Servlet接口开发Servlet程序
/**
*使用实现Servlet接口的方式来开发Servlet程序
*/
package com.test;
import javax.servlet.Servlet;
import javax.servlet.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
import java.io.*;
public class HelloServletInterface implements Servlet {
//该函数用于初始化该Servlet(类似于类的构造函数)
//该函数只会被调用一次(当用户第一次访问该Servlet时调用)
public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println("inti()");
}
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}
//用于处理业务逻辑,当用户每访问该Servlet时都会被调用。
//req:用于获得客户端信息
//res:用于向客户端(浏览器)返回信息
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code here
System.out.println("service()");
PrintWriter pw = res.getWriter();
pw.println("Hello Servlet Interface");
}
public String getServletInfo() {
// TODO: Add your code here
return null;
}
//销毁Servlet实例(释放内存)
//1、reload该servlet(webApps) 2、关闭tomcat;
public void destroy() {
// TODO: Add your code here
System.out.println("destory()");
}
}
Note:每编写一个servlet程序都要进行部署,在web.xml中添加以下信息, 当然如果用myEclipse等集成开发工具就不需要手写了,开发工具会自动添加相关信息。
<servlet> <!-- servlet名 可以任意--> <servlet-name>helloServletInterface</servlet-name> <!-- 指明servlet的路径,(包名+类名) --> <servlet-class>com.test.HelloServletInterface</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloServletInterface</servlet-name> <!--这是在浏览器中输入的访问该servlet的url, 任意的 --> <url-pattern>/helloServletInterface</url-pattern> </servlet-mapping>