Пожалуйста, прочитайте кодировку процентов в Википедии . #
и =
являются зарезервированными символами в URL. Только незарезервированные символы могут использоваться в URL в виде текста, все остальные символы должны кодироваться в URL . Значение #
в кодировке URL равно %23
, а =
равно %3D
. Так что это должно сделать:
code=askdfjlskdfslsjdflksfjl%23_%3D_
Если это на самом деле происходит от ссылки HTML <a>
в некоторых JSP, например:
<a href="servletUrl?code=askdfjlskdfslsjdflksfjl#_=_">some link</a>
тогда вы должны были изменить его на JSTL <c:url>
:
<c:url var="servletUrlWithParam" value="servletUrl">
<c:param name="code" value="askdfjlskdfslsjdflksfjl#_=_" />
</c:url>
<a href="${servletUrlWithParam}">some link</a>
, чтобы он генерировался как
<a href="servletUrl?code=askdfjlskdfslsjdflksfjl%23_%3D_">some link</a>
Обратите внимание, что это не относится к Java / Servlets per se, это относится ко всем веб-приложениям.