码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet的优化.GenericServlet

时间:2017-05-14 19:41:47      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:package   介绍   row   cep   turn   nbsp   generic   names   text   

如何更好的使用servlet?GernericServlet可以由自己仿照一个出来,下面就是介绍了如何写这样的一个类

1.init方法 妥善的保存config对象
2.空参init方法,为了防止开发人员重写 原生init方法
3.service方法空实现=> 声明城抽象
4.destory方法空实现
5.实现getServletInfo,getServletConfig
6.实现了servletConfig接口. 接口中的方法直接调用config实现类实现.

代码实现

package ming.com.hello;

import java.io.IOException;
import java.util.Enumeration;

import javax.ejb.Init;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/*
* 模仿写一个GenericServlet类
*/
public abstract class GenericServlet implements Servlet,ServletConfig{

private ServletConfig config; //固定写法
@Override
public void destroy() {
}

@Override
public ServletConfig getServletConfig() {
return config;
}

@Override
public String getServletInfo() {
return null;
}

@Override
public void init(ServletConfig config) throws ServletException {
this.config=config;
this.init();
}

//添加一个空参应用方法,来避免用户调用的时候讲 有参引用方法覆盖,
//相当于用户重写空参init()方法即可完成初始化
public void init() throws ServletException{

}

//将此 方法声明为抽象方法,强迫用户去实现这个方法,因为这个方法是你调用这个类的目的,否则没有意义
@Override
public abstract void service(ServletRequest req, ServletResponse res) throws ServletException, IOException;

@Override
public String getInitParameter(String name) {
return config.getInitParameter(name);
}

@Override
public Enumeration<String> getInitParameterNames() {
return config.getInitParameterNames();
}

@Override
public ServletContext getServletContext() {
return config.getServletContext();
}

@Override
public String getServletName() {
return config.getServletName();
}

}

注意:1、加上一个无参构造方法,来避免用户调用的时候调用有参构造方法覆盖,
             相当于用户重写空参init()方法即可完成初始化

         2、将server()方法声明为抽象方法,强迫用户去实现这个方法,因为这个方法是你调用这个类的目的,否则没有意义

         3、为了让用户更加方便的使用ServletConfig的四个方法,在这个类中实现这个接口,完善这几个方法

 

Servlet的优化.GenericServlet

标签:package   介绍   row   cep   turn   nbsp   generic   names   text   

原文地址:http://www.cnblogs.com/liuzoudeshazi/p/6853405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!