先说说我的遭遇吧,环境为myeclipse2014 tomcat 7.0.0 前天写个小网站,登陆,注册,登陆成功后显示成员列 表。。。。。。
主要就是注册页面的乱码:
注册里面当然有中文了,为了解决??乱码问题写了个CharacterFilter 配置范围为/*,但是发现插入数据库异常,说是某个字段超长了,测试输出了一下发现是乱码没有解决,用的oracle我的性别设置number(3),乱码状态下一堆??长度是5。.为了测试,我在CharacterFilter里面的request.setCharacterEncoding("utf-8")后面输出中文字段,发现全是??乱码。而我的注册页面pageEncoding也是utf-8。很奇怪。我就新建了个项目复制过滤器和注册页面过去发现是没有乱码的。
持续了两天,今天试着新建了个工程,一点点把乱码工程复制过来。运行时侯突然发现doFilter()方法;报空指针异常,更奇怪了。这时奇怪的事情发生了,我现在正在CharacterFilter的编辑界面下,我点击了一下异常,突然界面跳到了另一个未知的同样名字为CharacterFilter的类里面,我以前的工程下确实有同名的过滤器,然后我就感觉是不是工程之间互相冲突了(虽然感觉很荒唐),我发现确实以前做的几个小项目还在tomcat下部署着,我就把他们取消了部署,然后又去tomcat work目录下删除了所有文件。重新运行,然后乱码解决。。。
个人感觉有可能是运行时对象调用互相冲突了,虽说他们的context容器是不一样的,,总之以后调试还是把其他工程先取消部署吧,以免出现这种难缠的问题。如果有懂得大神希望告知