Servlet简介

目录

 

servlet是什么

servlet接口实现

servlet生命周期

servlet与URL关联

HTTPServlet使用


servlet是什么

  • servlet是运行在服务器上的程序
  • servlet的作用是处理请求,服务器会把接收的请求交给servlet处理
  • servlet需要接收数据,处理数据,完成响应

servlet接口实现

 

  • 实现javax.servlet.Servlet接口
  • 继承javax.servlet.GenericServlet类
  • 继承javax.servlet.HttpServlet类 

 

最基本的就是实现servlet接口

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;


public class ServletTest implements Servlet {

	@Override
	public void destroy() {
		System.out.println("1");
	}

	@Override
	public ServletConfig getServletConfig() {
		System.out.println("2");
		return null;
	}

	@Override
	public String getServletInfo() {
		System.out.println("3");
		return null;
	}

	@Override
	public void init(ServletConfig servletconfig) throws ServletException {
		
		System.out.println("4");
	}

	@Override
	public void service(ServletRequest request, ServletResponse response)
			throws ServletException, IOException {
		System.out.println("5");

	}

}

 

 


servlet生命周期

    servlet有三个方法用来定义servlet生命周期,servlet所实现的类的实例是由服务器创建的,这三个方法也是由服务器调用的

    (1)void init(ServletConfig servletconfig) :初始化方法,用于在创建servlet是初始化参数等 

    (2)void service(ServletRequest request, ServletResponse response) :service方法用于处理客户端请求,并将服务器返回的响  应交还给客户端,

    (3) void destroy() :destroy方法用于在服务器关闭servlet时回收一些非内存资源

 


servlet与URL关联

sevlet是一个类并不能在浏览器上直接访问,所以需要和URL关联在一起

需要在web.xml中配置

 
 	
 	aaa
 	Servlet.ServletTest
 
 
 	bbb
 	Servlet.ServletTest02
 
 
 	aaa
 	/ServletTest
 
 
 	bbb
 	/ServletTest02
 
 
 

HTTPServlet使用

请求过程

浏览器发出请求,服务器调用void service(ServletRequest request, ServletResponse response)生命周期方法,生命周期方法中调用void service(HttpServletRequest request, HttpServletResponse response)

void service(HttpServletRequest request, HttpServletResponse response)该方法与Http协议有关,它首先会自己判断请求方式是get/post,并根据请求方式调用doGet()或doPost()

 

所以直接重写doGet/doPost方法可以实现servlet的方法

示例

public class ServletTest02 extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp){
			System.out.println("02servlet");

	}
}

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(web)