您的位置:首页 > Web前端 > JavaScript

jsp页面之间请求传输参数的乱码问题

2017-09-29 16:37 423 查看
今天在处理jsp页面传输信息的时候遇到了出现乱码的问题,现在分享一下解决方案:

首先如果是POST请求的话,在接受数据时应该先声明

request.setCharacterEncoding("utf-8");

然后再获取另一个页面传过来的参数,比如

String id=request.getParameter("id");

String type=request.getParameter("type");等。

但是如果是GET请求的话就不能再用这个方法了。用两种方法可以处理这种情况。

第一种是:

String type=request.getParameter("type");//先获取到目标数据

type= new String(type.getBytes("iso-8859-1"),"utf-8");//把目标数据以iso-8859-1的编码形式把一个字符串分解成一个字符数组,然后再以utf-8的格式new一个新的字符串

这样就不会再出现中文乱码的情况了,但是这种情况比较麻烦,因为要对每一个中文数据都要进行处理。那么还有一种更为简单的方法

第二种方法是:

修改Tomcat中配置文件的参数,一半Tomcat8.0以上的版本不会出现这种情况,只有8.0以下的按本会出现这种情况。

在Tomcat下conf文件夹下的server.xml文件中把 <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

修改成<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" URIEncoding="utf-8"/>

就可以了一劳永逸!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java jsp 乱码 解决方案