重定向到同一页面,但其中包含一条消息

Redirect to the same page but with a message in it

本文关键字:包含 一条 消息 一页 重定向      更新时间:2023-09-26

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

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

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

您可以在此处使用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还有其他更简单的方法,但这只是一个起点。

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

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