servlet中Tomcat下处理以get方式提交的中文参数
??? 昨天在工作中同事遇到一个问题,直接在浏览器中传输中文参数,如:“http://localhost:8080/test_code/test.do?name=测试”在后台servlet中处理时出现了????乱码问题。
??? 通过查阅资料,发现大部分的回答都是以post提交的处理,就是直接以
?
request.setCharacterEncoding("gb2312");
?
?解决,get方式无效。由此自己测试了几次,得以解决,步骤如下:
?
首先在tomcat目录下的conf/server.xml中找到所属监听端口<Connector>节点,设置URIEncoding="gbk"或"gb2312",保存退出。
然后在servlet中设置
?
String name = request.getParameter("name");name = new String(name.getBytes("gb2312"),"gb2312");?
输出正确。