javascript - 如何在 html 中显示“登录失败”消息,具体取决于 servlet 响应
问题描述
简单的布局(将在一个复杂的项目中实现) 我有一个简单的用户密码登录页面。单击提交将带有这些参数的请求发送到 LoginServlet。此 servlet 检查数据库是否匹配——如果它以 positivley 结束,则用户将被重定向到下一页。
但是,如果结果很糟糕 - 用户将被重定向到同一页面 Login.html
我正在寻找一种方法来为这个重定向“添加”一些额外的权重,当用户多次访问登录页面时,表单上会出现一条警告,指出“登录详细信息错误”或其他内容...
我怎样才能做到这一点?从 servlet-response.SendRedirect? 或转发(请求,响应)?
在 html 上,如何使用 java 脚本实现这种行为?我尝试探索 XMLHttpRequest 对象,但他的方法似乎没有检索到我试图附加到响应标头的任何有用的东西。
附上我的 servlet 代码——只是为了给你一些参考——但我愿意接受建议,谢谢。
try {
AdminFacade af = (AdminFacade) CouponSystem.getInstance().login(name, password, type);
HttpSession session = request.getSession();
System.out.println("LOGIN SERVLET:session id: " + session.getId());
session.setAttribute("facade", af);
System.out.println("LOGIN SERVLET:facade id: " + af);
session.setAttribute("userType", "admin");
response.setHeader("test1", "this is a test header");
response.sendRedirect(response.encodeRedirectURL("login.html"));
解决方案
在 servlet 中,如果登录凭据错误,则执行以下操作:
request.setAttribute("messageResponse","Login failed: wrong login credentials");
您需要在页面中检查此值,如下所示:
if(request.getAttribute("messageResponse")!=null){
out.println(request.getAttribute("messageResponse"));
}
您需要在页面中编写上述 java 代码。
推荐阅读
- vb.net - 在 wordwrap 为真的 Richtextbox 中查找每一行的宽度
- python - 从 PHP 文件运行 python 脚本
- python - 使用命名正则表达式在 pyspark 中格式化结构化的 Kafka 流
- r - 按 r 中的月份名称对向量进行排序
- authentication - NestJs 使用 jwt 和私钥和公钥进行身份验证
- c# - System.Net.Http 缺少程序集、.NET 4.7.2 和 SharePoint CSOM
- android - 谷歌助理培训
- c++ - 有没有办法创建一个中央程序来处理我电脑的不同 RGB 组件?
- java - Apache Ignite 持久性问题/警告
- firebase-cloud-messaging - 订阅者离线时的 FCM 推送通知