【发布时间】:2021-03-04 16:06:34
【问题描述】:
我在 index.jsp 文件中有一个表单,它允许登录我的应用程序。我需要捕获插入的登录信息,以便使用 Java 代码在另一个名为 mainPage.jsp 的文件中使用它。当我这样做时:
String login = request.getParameter("login");
这个字符串有空值。如何捕捉插入的值?
这是我来自 index.jsp 的代码,其中包含可用于登录我的应用程序的表单:
<body>
<form id="log" method="post" onsubmit="return check()" action="mainPage.jsp">
<div align="center">
Login: <input type="text" id="login" name="login"/>
<br/></br>
Password: <input type="password" id="password"/>
<br/></br>
<button name="login" type="submit">Log in!</button>
</div>
</form>
<script type="text/javascript">
function check() {
var login = document.getElementById("login").value;
var password = document.getElementById("password").value;
var flag = false;
var _users = JSON.parse(users);
for (var i = 0; i < _users.length; i++) {
if (_users[i].login == login && _users[i].password == password) {
flag = true;
}
}
if (flag == false) {
document.getElementById('info').innerHTML = "Wrong login or password!";
}
return flag;
}
</script>
</body>
【问题讨论】:
-
你想在你的检查方法中做什么?如果要检查登录名和密码,则必须在服务器端进行。在您的代码中,您似乎将所有用户加载到客户端大小并检查它。在这种情况下,您只需将所有未加密的数据提供给用户,任何人都可以找到任何密码。关于您问题的要点 - 为什么 get 参数不起作用。简而言之 - 此方法用于获取查询(如 google.com/search?q=abc 和 getParameter("q") 返回 abc。您发送 POST 方法 - 这意味着您的参数在 request.getBody() 中。您可以使用 spring 之类的库更简单地解析它
-
好的,但是没有 Spring 怎么办呢?你能帮我做这件事吗,@DmitryNazarenko?
标签: javascript java html jsp