gpt4 book ai didi

java - Servlet中读取请求参数

转载 作者:行者123 更新时间:2023-12-01 21:26:56 25 4
gpt4 key购买 nike

我想从 HttpServletRequest 读取参数并检查它是否符合某些条件。所以这三个条件是

  1. 参数值只能包含字母数字(仅限 ASCII 字符)、下划线和破折号
  2. 不能以破折号开头。
  3. 长度最多可达 200 个字符。

所以我编写了以下代码来检查是否符合上述条件。

String tempParameter = request.getParameter("X");
if (tempParameter.matches("^[\\u0000-\\u007F]*$")
&& tempParameter.length() <= 200
&& !(tempParameter.substring(0, 1)).equals("-")) {
A = tempParameter;
}

因此,我运行 servlet 并将“X”的值作为请求中的“-sample”传递,变量“A”为 null(看起来正确)。然后我在请求中将“X”的值作为“样本”传递,变量“A”被分配为“样本”(仍然正确)。但如果我将“X”的值更改为“-sample”,变量“A”就会被分配“sample”(这不应该发生)。请求中似乎忽略了 Dash。我可以知道我的代码有什么问题吗?抱歉,如果我遗漏了一些明显的东西。谢谢。

更新:如果我重新启动网络应用程序,代码似乎运行良好,但在任何不带破折号的请求发出后,它会忽略破折号。

最佳答案

您在哪里声明了A

代码似乎是正确的,但您的变量保留了过去的结果。

尝试在else block 中设置A = null

关于java - Servlet中读取请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38023510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com