怎么改tomcat配置文件解决get传值乱码问题

怎么改tomcat配置文件解决get传值乱码问题,第1张

第一步:在tomcat 的serverxml文件中设置web服务器端口配制中加下面两句: useBodyEncodingForURI="true" URIEncoding="UTF-8" 第二步:JSP页面编码用UTF-8(也可以用“gb2312",第一步与解码要一至)传值时编码一下: 以传递的参数为strPar为例

form有2中方法把数据提交给服务器,get和post,分别说下吧。

(一)get提交

1首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧。

对于get方法来说,都是把数据串联在请求的url后面作为参数,如:>

如果在JSP页面以GET方式向Servlet发送请求时,这里在doGet()方法中用 requestgetParameter()方法取得参数值是乱码,如果你在调用 requestgetParameter()方法之前使用responsesetCharacterEncoding("utf-8");这种方式只是对页面发送POST请求有效,哪么如何对发送GET请求有效果呢,这时就需要在Tomcat的serverxml中配置

<Connector port="8080" protocol=">

哎,又是乱码问题,我不多说,直接上代码

if(!preg_match('/^$/u', $_REQUEST['word'])){

    $username=iconv('GB2312', 'UTF-8', $_REQUEST['word']);

}

上面的代码就是判断传来的是数据类型是不是UTF-8编码,如果不是就转成转UTF-8编码,当然只支持GB2313的,如果传递过来的编码是big5的话也还是出现乱码,但是一般浏览器中人用的大部默认是GB2312或是UTF8的,先用着再说

private static final String inCode = "ISO-8859-1";

private static final String outCode = "utf-8";

/

转换字符串编码ISO-8859-1为gb2312

<div>到数据库时用readString(String inputString)</div>

@param inputString 输入字符串

@return 转换后的字符串

/

public static String readString(String inputString){

try {

byte[] tempByte = inputStringgetBytes(inCode);

inputString = new String(tempByte,outCode);

}

catch (UnsupportedEncodingException ex) {

throw new RuntimeException("Unsupported encoding type");

}finally{

return inputString;

}

}

用我这个吧

以上就是关于怎么改tomcat配置文件解决get传值乱码问题全部的内容,包括:怎么改tomcat配置文件解决get传值乱码问题、get和post的区别并讲解到urlencode和乱码问题、Ajax使用GET发送中文请求JAVA-Servlet乱码问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10155872.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存