黑马程序员技术交流社区
标题:
关于servlet问题
[打印本页]
作者:
hsen
时间:
2014-4-18 15:46
标题:
关于servlet问题
像下面这句话: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");
作者:
hsen
时间:
2014-4-18 15:52
HttpServletRequest的实现类确实只有一个HttpServletRequestWrapper
作者:
吴莫
时间:
2014-4-19 15:11
HttpServletRequestWrapper类implements接口HttpServletRequest,接口HttpServletRequest又实现接口ServletRequest。setCharacterEncoding(String env);这个方法是在接口ServletRequest中定义的,说白了吧,孙子可以调用爷爷的方法吧。我觉得应该就是这样吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2