首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户无法在JSP和Servlet中使用会话登录时出现错误消息

当用户无法在JSP和Servlet中使用会话登录时出现错误消息
EN

Stack Overflow用户
提问于 2013-12-26 02:02:21
回答 2查看 3.6K关注 0票数 0

我的目标是在用户无法登录到系统时创建错误消息。我成功地使用会话创建了一个错误消息。

但是,当我刷新浏览器时,错误消息仍然存在。它不应该出现。当用户刷新浏览器时,是否有一种使错误消息不可见的方法?

下面是我的密码。帮助是appreciate..Thanks!:)

login.jsp

代码语言:javascript
运行
复制
<div class="error">
<% String e = (String) session.getAttribute("error" );
if(e != null)
{
    out.print(e); 
}%>
</div>

Servlet

代码语言:javascript
运行
复制
HttpSession session = request.getSession(true);
session.setAttribute( "error", "Invalid username or password");
RequestDispatcher dispatcher = request.getRequestDispatcher("/login.jsp");
dispatcher.forward( request, response); 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-26 02:03:30

会话属性在HttpSession的持续时间内活动。尝试使用请求属性

代码语言:javascript
运行
复制
request.setAttribute( "error", "Invalid username or password");

它只在请求的持续时间内持续。

否则,您将不得不从HttpSession中删除该属性。

票数 1
EN

Stack Overflow用户

发布于 2013-12-26 03:16:29

您可以使用请求对象,也可以检查会话属性是否存在于会话中,如果存在,只需删除它。

即jsp

代码语言:javascript
运行
复制
<% String e = (String) session.getAttribute("error" );
if(e != null)
{
    out.print(e); 
}else{
  out.print("All Is Well");
}>

servlet

代码语言:javascript
运行
复制
HttpSession session = req.getSession(true);
    try{
        if(null != (session.getAttribute("error"))){
            session.removeAttribute("error");
        }else{
            session.setAttribute( "error", "Invalid username or password");
        }
    }catch(Exception er){
        er.printStackTrace();
    }

    RequestDispatcher dispatcher = req.getRequestDispatcher("/jsp/LoginTest.jsp");
    dispatcher.forward( req, res); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20778342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档