0

我正在 JSP 中创建一个登录页面。我有一个index.jsp页面,其中存在表单和一些 javascript 脚本。连接到 oracle 数据库并检查数据库中的用户名和密码是在check1.jsp文件中完成的

我的问题是在输入用户名和密码后,当我按下登录按钮时,我已将表单链接到check1.jsp,如果用户名和密码匹配并存在,它会重定向到welcome.jsp,但如果用户名不存在或密码不匹配,我必须返回index.jsp 在框下方显示一条小消息,提示用户名不存在或密码不匹配,目前我只是重定向到index.jsp

index.jsp我应该如何在同一页面的登录框下方显示适当的小消息?

4

2 回答 2

3

您可以session在此处使用对象:

check1.jsp

if (loginSuccess) {
    //redirect to welcome.jsp
}
else {
    session.setAttribute("error", "Username or Password is incorrect");
    //redirect to index.jsp
}

index.jsp

String msg = session.getAttribute("error");
if (msg != null) {
    %><p style="color:red"><%= msg %></p><%
}

EL 和 JSTL 还有其他更简单的方法,但这只是一个入门技巧。

于 2012-07-12T11:53:35.797 回答
1

在这种情况下,您不应重定向到 index.jsp,而应转发到 index.jsp。将消息存储在某个请求属性中,转发到 index.jsp,如果消息存在于请求属性中,则显示该消息。

您应该使用 MVC 框架,以便始终使您的 URL 指向用 Java 实现的操作(控制器),使这些操作调用业务逻辑(此处为用户登录)并将这些操作转发或重定向到适当的视图(index.jsp 或welcome.jsp)。

于 2012-07-12T11:40:16.383 回答