我已经直通的URLEncoder和URLDecoder的javadoc文档。 然后得到了更多的好奇。 考虑服务器tomcat.In任何web应用时我们提交表单,服务器领域的形式转换成url编码领域,当我们做request.getParamter(“字段名”)。 服务器再次将其与URLDecoder解码。 那是对的吗? 服务器是否做或浏览器? 当我们键入地址栏中同样的事情发生的任何URL Simlary? 如果服务器或浏览器确实,当我们需要进行编码或类URLEncoder和URLDecoder的帮助下明确对请求进行解码放慢参数? 虽然这些都是基本的问题,但无法清楚地找到这些anwers。
Answer 1:
在当我们提交表单的任何web应用,服务器表格字段转换成url编码领域,当我们做request.getParamter(“字段名”)。
第浏览器做到这一点。
服务器再次将其与URLDecoder解码。 那是对的吗?
是。
服务器是否做或浏览器?
该浏览器。
如果服务器或浏览器确实,当我们需要进行编码或类URLEncoder和URLDecoder的帮助下明确解码请求参数?
我不知道这意味着什么,但它仍然是浏览器。 你只需要如果您要发送从应用程序代码的请求编码请求参数。 你并不需要,如果你在servlet容器中运行他们的所有解码:它会为你做的。
Answer 2:
虽然这是事实,浏览器其传递到Web服务器之前编码的URL,但可能没有浏览器参与所有的时间。
例如,您的服务器应用程序可能是使基于REST调用并通过一些数据在一个简单的GET请求。 然后,如果你不进行编码,您的服务器上,当接收器解码,它可能会变成乱码。
因此,强烈建议在您的服务器代码发送其关闭之前,总是编码的URL。
文章来源: Some questions about URLEncoder and URLDecoder?