我正在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)