Java 如何向servlet发送请求中的特殊字符
我使用的是jQuery ajax命令,该命令包含以下数据:Java 如何向servlet发送请求中的特殊字符,java,javascript,jakarta-ee,servlets,http-request-parameters,Java,Javascript,Jakarta Ee,Servlets,Http Request Parameters,我使用的是jQuery ajax命令,该命令包含以下数据: $.ajax({ type:"POST", ... data:"e=f_s&es="+JSON.stringify(email)+"&fr="+str ... }) 其中(电子邮件)可以包含特殊字符,例如,它可以是字符串: !#$%'&+-/=?^`*{|}~ch!#$%'/=?*^`{|}@mail.com 我之所以允许使用这些字符,是基于以
$.ajax({
type:"POST",
...
data:"e=f_s&es="+JSON.stringify(email)+"&fr="+str
...
})
其中(电子邮件)可以包含特殊字符,例如,它可以是字符串:
!#$%'&+-/=?^`*{|}~ch!#$%'/=?*^`{|}@mail.com
我之所以允许使用这些字符,是基于以下原因
问题是,在服务器(JavaEE应用程序)上的某个点上,它正在混乱。特殊字符没有显示不同请求参数的边界。例如,它将“/”视为一个参数。我想我需要逃避角色?(如果是,怎么做?) 我应该怎么做才能将这样的字符串从javascript发送到java?使用: 返回:
"!%23%24%25'%26%2B-%2F%3D%3F%5E%60*%7B%7C%7D~ch!%23%24%25'%2F%3D%3F*%5E%60%7B%7C%7D%40mail.com"
我遇到了一个类似的问题,请看我的答案:同样在未来,java和javascript是非常不同的;这个问题与java无关。只是需要记住的东西;很高兴你得到了答案
"!%23%24%25'%26%2B-%2F%3D%3F%5E%60*%7B%7C%7D~ch!%23%24%25'%2F%3D%3F*%5E%60%7B%7C%7D%40mail.com"