像下面这句话:request.setCharacterEncoding("gbk");我查了一下API中HttpServletRequest这个接口,这个方法出现在 HttpServletRequest接口的父接口ServletRequest中.而且HttpServletRequest这个接口的实现类只有HttpServletRequestWrapper 这个一个类,但是这个类中并没有实现父接口中的setCharacterEncoding(String env);这个方法。
看下面的方法
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {
request.setCharacterEncoding("gbk");
}
在上面这个方法中request这个变量是接口HttpServletRequest的一个实例,我的想法是:它既然是HttpServletRequest的一个实例, 而HttpServletRequest的实现类就只有一个HttpServletRequestWrapper,那么这个request就是HttpServletRequestWrapper类的一 个对象了.但是HttpServletRequestWrapper这个类中并没有实现setCharacterEncoding(String env);这个方法,为什么上面的方法 中可以使用request.setCharacterEncoding("gbk");
|
|