将URL参数从JSP传递到Servlet,参数更改

将URL参数从JSP传递到Servlet,参数更改,jsp,servlets,url-parameters,Jsp,Servlets,Url Parameters,我对JSP/Servlets非常陌生,我一直在做一些事情,它已经工作了一段时间。我有一个名为“telGir.jsp”的jsp,我将URL参数从这个jsp传递给一个名为“telKayit”的servlet 在localhost上运行时JSP页面的URL示例: http://localhost:9081/Pol/telGir.jsp?token=3403123412340000 这是我的jsp代码: <%@ page language="java" contentType="text/htm

我对JSP/Servlets非常陌生,我一直在做一些事情,它已经工作了一段时间。我有一个名为“telGir.jsp”的jsp,我将URL参数从这个jsp传递给一个名为“telKayit”的servlet

在localhost上运行时JSP页面的URL示例:

http://localhost:9081/Pol/telGir.jsp?token=3403123412340000
这是我的jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title>

</head>
<body

<p align="center"><font size="14"><b>TEXT</b></font></p>
<p align="center"><font size="14">MORE TEXT</font></p>
<table align="center" size="800">
<form name="Police" id="Police" action="telKayit?token=${param.token}" method="post">

</table>
<table align="center" size="800">
<tr><td align="center"><input type="submit" value="Tamam" style="height:2.5em; width:7.5em;font-size: 51px "></td></tr>

</table></form>

</body>
</html>
最后,在我的servlet中,我使用这行代码从上面的链接获取令牌:

String token = request.getParameter("token");
到目前为止,这对我很有效,因为代币是由数字组成的。最近,我被要求为令牌输入编码文本,因此jsp的新URL类似于:

http://localhost:9081/Pol/telGir.jsp?token=6amyutm%2F%2BhZeXxJonjEBqduaQVlXuO3%2FUAffs2MSyBs%3D
问题是:当令牌参数由于某种原因从JSP传递到Servlet时,“%”会导致它发生更改。当我按下按钮时,会出现下面的链接,该链接具有不同的“令牌”值

http://localhost:9081/Pol/telKayit?token=6amyutm/+hZeXxJonjEBqduaQVlXuO3/UAffs2MSyBs=

当我在servlet中接收到参数时,由于参数发生了变化,我无法正确地对其进行解码并得到结果。根据我的研究,我意识到“%”符号使我的代码将以下两个字符解释为ASCII。因此:2F变为“/”,2B变为“+”等等。我如何停止此操作,让它只将“token”作为常规字符串变量传递而不更改它?

而不是将参数放在动作url中,您应该将其作为表单中的隐藏输入传递,如下所示:

<form name="Police" id="Police" action="telKayit" method="post">
<input type="hidden" name="token" value="${param.token}"
...
</form>

<form name="Police" id="Police" action="telKayit" method="post">
<input type="hidden" name="token" value="${param.token}"
...
</form>