Tomcat9 Get请求中含有汉字中文 |
您所在的位置:网站首页 › get请求传递中文 › Tomcat9 Get请求中含有汉字中文 |
网上的教程都是以Tomcat以前版本为例子的! 下面说的是::最新版的Tomcat 9.0.27 在Java Web项目中: JSP客户端网页需要给Tomcat服务器传递Get请求(参数中有中文): 有俩中情况: 一是: 其余省略! 而是:在浏览器栏里直接输入:http://localhost:8080/day21_5/AServlet?name=张三你好
由于最新版本的Tomcat严格遵循《 RFC 7230 and RFC 3986》这两个标准! Get请求时,get的URL参数中不能有:中文,或者其他不被允许的字符! 但是我们为了方便,硬是要传递中文get参数!那么怎么解决乱码问题??
客户端JSP页面最好使用 UTF-8 编码格式! Tomcat服务器上的后台代码的Java源文件,也要使用UTF-8格式! 而且已经知道了:最新版本的Tomcat的URI传输的格式也是UTF-8哦!
那么:在客户端的JSP页面中,把get请求参数中的中文汉字,使用URLEncoder.encode(“张三你好”,”UTF-8”);把这几个汉字强制编码成为UTF-8编码!
在Tomcat服务器后台的代码中:再使用URLDecoder.decode(“”,”UTF-8”);即可! String value=request.getParameter(user); try { value=URLDecoder.decode(value, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } System.out.println("乱码解决后用户名:" + value);
即可解决乱码问题! Tomcat越来越方便啦! 注意:URLEncoder类与URLDecoder类都在java.net包中! 强烈建议:要在编程中使用英文! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |