url 转码 java_java中URL转码[通俗易懂]

url 转码 java_java中URL转码[通俗易懂]在传递参数的时候,如果有中文,那么可以先转码再转,之后再解码。URLEncoder.encode与URLDecoder.docode传递中文参数编码与解码使用java.net.URLEncoder.encode()可以对要传递的中文进行编码a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);取值时用语句java.net.URLDecoder.dec…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

在传递参数的时候,如果有中文,那么可以先转码再转,之后再解码。URLEncoder.encode与URLDecoder.docode传递中文参数编码与解码

使用java.net.URLEncoder.encode()可以对要传递的中文进行编码

a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);

取值时用语句java.net.URLDecoder.decode(param);再转回中文

b.在你的Tomcat目录–>conf目录–>server.xml里找出这段:

port=”8080″ maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″enableLookups=”false” redirectPort=”8443″ acceptCount=”100″debug=”0″ connectionTimeout=”20000″disableUploadTimeout=”true”

URIEncoding=”gb2312″

/>

前端的写法:

在传参的时候编码:

String urls = “http://api.simsimi.com/request.p?key=”+key+”&lc=”+lc+”&ft=1.0&text=”+java.net.URLEncoder.encode(text,”utf-8”);

response.sendRedirect(“talk.jsp?ans=”+java.net.URLEncoder.encode(ans)+”&text=”+java.net.URLEncoder.encode(text) );

%>

在获取的时候解码:

request.setCharacterEncoding(“utf-8”);

String ans=new String(request.getParameter(“ans”).getBytes(“8859_1”));

String text=new String(request.getParameter(“text”).getBytes(“8859_1”));

%>

或者

“>点击这里使用java.net.URLDecoder.decode()在后面对传递的参数进行解码,一定要搭配使用哦

if(request.getParameter(“url”)!=null)

{

str=request.getParameter(“url”);

str=java.net.URLDecoder.decode(str,”GB2312″);

str=new String(str.getBytes(“ISO-8859-1”));

out.print(str);

}

%>

若,字符编码为utf-8也可以实现.或者在此段代码中,不写出字符编码也可以(只写一个参数)。

在jsp中对中文进行了编码的时候用的是UTF-8的编码方式,而在servlet中调用request.getParameter();方法的时候使用服务器指定的编码格式自动解码一次,所以前台编码一次后台解码一次而解码和编码的方式不同可能会造成乱码的出现。

ajax写法:

$.ajax({

url:’/cargroup-ajax/searchCargroupName.action’,async:false,

data:{

cargroupName:encodeURI(cargroupName)//中文

},

type:’post’,

dataType:’json’,

success:function(data){if(data==”true”){if(flag!=”form”){

alert(“该名称可用!”);

}

checkRepeat= true;

}else{if(flag!=”form”){

alert(“该名称不可用!”);

}

}

}

});

后台java:

cargroupName = URLDecoder.decode(request.getParameter(“cargroupName”), “utf-8”);

参考资料:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206675.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • opencv跟踪视频上的目标(理论分析框架)

    出处:http://hi.baidu.com/icekeydnet/blog/item/965b25154a19f3dea6ef3ffe.html如前面说到的,OpenCVVS提供了6组算法的接口,分别是:前景检测、新目标检测、目标跟踪、轨迹生成、跟踪后处理、轨迹分析,除了轨迹生成用于轨迹数据的保存以外,其他5个部分都是标准的视频监控算法体系中不可或缺的部分。      OpenC

    2022年4月16日
    32
  • C# 连接本地数据库

    C# 连接本地数据库C#VSCodeM1C#如何连接本地数据库?1.安装MySQL下载MySQL软件,傻瓜式安装即可,安装完之后,在系统偏好号设置里会出现一个MySQL的图标。在安装的时候会让用户输入密码,这个自己看着输就行了,但是别忘记了。建议别用终端命令行安装了,对初学者来说学习成本比较大。2.连接本地MySQL安装完MySQL之后,点击MySQL图标,开启MySQL,如下我已开启我本地已安装了Navicate,我就使用Navicate对本地数据库进行连接,验证是否能连接成功打开Nvi.

    2022年5月31日
    40
  • 美军打掉德国炮兵阵地的电影_英雄连2怎么找炮兵阵地

    美军打掉德国炮兵阵地的电影_英雄连2怎么找炮兵阵地司令部的将军们打算在 N×M 的网格地图上部署他们的炮兵部队。一个 N×M 的地图由 N 行 M 列组成,地图的每一格可能是山地(用 H 表示),也可能是平原(用 P 表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响

    2022年8月9日
    1
  • jdk阅读xml文件

    jdk阅读xml文件

    2022年1月3日
    154
  • 全球首款AI芯片_全球AI五强

    全球首款AI芯片_全球AI五强前言你一定听说过CPU、GPU,但是TPU、VPU、NPU、XPU…等等其他字母开头的“xPU”呢?AI概念在几年前火爆全球,科技巨头们纷纷投入AI芯片的研发,小公司也致力于提出概念靠AI浪潮融资,为了快速在AI市场上立足,也为了让市场和用户能记住自家的产品,各家在芯片命名方面都下了点功夫,既要独特,又要和公司产品契合,还要朗朗上口,也要容易让人记住。前文所提到的“xPU”的命名方式就深受各大厂商的喜爱。本文就从字母A到Z来盘点一下目前各种“xPU”命名AI芯片,以及芯片行业里的各种“xPU

    2025年7月10日
    0
  • kl散度和交叉熵的区别_散度的概念

    kl散度和交叉熵的区别_散度的概念通用的说,熵(Entropy)被用于描述一个系统中的不确定性(theuncertaintyofasystem)。在不同领域熵有不同的解释,比如热力学的定义和信息论也不大相同。要想明白交叉熵(CrossEntropy)的意义,可以从熵(Entropy)->KL散度(Kullback-LeiblerDivergence)->交叉熵这个顺序入手。当然,也有多种解释方法…

    2022年10月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号