filter servlet是一个特殊的servlet,是j2ee实现的一个拦截器,他能在调用其他servlet之前调用他,用来做信息拦截、字符处理等事情。。。。
首先弄一个类,实现filter接口,然后实现dofilter方法,里面的对于request类型的参数,调用里面设置字符编码的方法,ide里都会有的。。。好像是setcharencoding什么的,具体不记得了。看api。。。。
然后在web。xml部署,<filter></filter>里面写上部署的filter,然后<filter mapping></....>里面写上/*表示对于所有的servlet都进行拦截。。。
filter是sun自己实现的web中的aop组件。。
##############
方法不对。而且你编码也设置错了。gb2312或者utf8才对。。。
解决方法是使用filter servlet。
在dofilter方法里面,设置request的charset为gb2312就行了。。。
不可能解决不了。。。
原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF- 8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。
解决办法: index页面out.print(request.getAttribute("name"))前加上
request.seCharacterEncoding("gb2312")
这段话
祝好运
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)