【问题标题】:Passing URL parameter from JSP to Servlet, parameter changes将 URL 参数从 JSP 传递到 Servlet,参数更改
【发布时间】:2014-09-14 18:47:53
【问题描述】:

我对 JSP/Servlets 还是很陌生,我一直在做一些事情,而且它已经工作了一段时间。我有一个名为“telGir.jsp”的 jsp,我将此 JSP 中的 URL 参数传递给名为“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>

当按下按钮时,表单会将我带到这个 URL:

http://localhost:9081/Pol/telKayit?token=3403123412340000

最后在我的 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' 作为常规字符串变量传递而不更改它?

【问题讨论】:

    标签: jsp servlets url-parameters


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多