jsp乱码解决(get和post请求情况不同)

当输入中文时method=get时显示乱码 

 

当输入中文时method=post时中文正常显示 

 

 原因:就是当请求方式是GET时,并不把表单数据封装在请求信息的正文中,请求的只是简单的想获取 并不发送信息给服务器, 
*并没有将(表单等)信息 传递给HTTP服务器,所以服务器在通过HttpServletRequest检索不到客户端在页面上输入的信息。 
         通过POST时,除了请求外,还外加发送信息给服务器,所以服务器可以通过HttpServletRequest检索到客户端在页面上输入的信息 
       (POST方式将页面上的表单数据封装在HttpServletRequest中作为请求信息发给了服务器程序)

解决办法:

接受参数时进行编码转换

String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") 

或者修改tomcat的配置文件server.xml

Xml代码 
<Connector     
           port="8080"   
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"   
           enableLookups="false" redirectPort="8443" acceptCount="100"   
           debug="0" connectionTimeout="20000"     
           disableUploadTimeout="true" useBodyEncodingForURI="true"  />   

其中  useBodyEncodingForURI="true"为添加的内容!

也可以加上:URIEncoding="UTF-8"(有可能影响其他应用,所以不推荐)。 

 

后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

 

转载于:https://my.oschina.net/baishi/blog/201508

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值