个人java学习路线-Servlet适配器原理GenericServlet

个人java学习路线-Servlet适配器原理GenericServlet

介绍

Servlet类直接实现javax.servlet.Servlet接口时,很多方法是目前不需要的,我们可能只要编写service。
所以我们有必要在中间添加一个适配器,以后所有的Servlet类不再直接实现Servlet接口,应该去继承适配器
我们创建GenericServlet实现Servelt接口

public abstract class GenericServlet implements Servlet {
    
    
	private ServletConfig config;
	@Override
	public void init(ServletConfig config) throws ServletException {
    
    
		this.config=config;
		this.init();
	}
	public void init() {
    
    
	}
	@Override
	public abstract void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException;
	@Override
	public void destroy() {
    
    
	}
	@Override
	public ServletConfig getServletConfig() {
    
    
		return config;
	}
	@Override
	public String getServletInfo() {
    
    
		return "";
	}
	//---------------------下面是扩展方法---------------------------------
	public ServletContext getServletContext() {
    
    
		return getServletConfig().getServletContext();
	}	
	//------------------------------------------------------
}

那么我们以后就可以直接继承GenericServlet,从而减少不必要的代码

public class HelloServlet extends GenericServlet {
    
    	
	@Override
	public void init() {
    
    
		System.out.println("HelloServlet's init....");
	}
	@Override
	public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    
    
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out=response.getWriter();
		out.print("hello world");
		out.print("<br>");
		out.print(getServletContext());
	}		
}

GenericServlet当然是已有类,导入就行import javax.servlet.GenericServlet,这里只是模仿一下

猜你喜欢

转载自blog.csdn.net/youxizaixian123/article/details/119853795