Tomcat9 Get请求中含有汉字中文

您所在的位置:网站首页 get请求传递中文 Tomcat9 Get请求中含有汉字中文

Tomcat9 Get请求中含有汉字中文

2023-08-21 19:56| 来源: 网络整理| 查看: 265

网上的教程都是以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