保存登录状态和注销问题

用session保存登录状态

博主最近在做课设,所以用到了对登录状态的判断,顺路写下这一篇博客:

在用户登录后,后台根据用户的用户名在服务器为用户添加session,servlet文件代码如下

protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException,IOException {
request.setCharacterEncoding("utf-8");
//处理响应乱码
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
customer user = new customer();
//从前端获取用户名,处理中文乱码
user.setUsername(new String(request.getParameter("username").getBytes("iso-8859-1"),"utf-8"));
//将用户名保存在session中
request.getSession().setAttribute("user",user.getUsername());
//跳转前端页面
response.sendRedirect(request.getContextPath()+"/index.jsp");
}          

将用户名添加进session下面就是前端jsp文件的操作:

<!--  判断user是否存在  -->
 <% String user=(String)session.getAttribute("user") ;
        if(user==null||"".equals(user))
        {
      %>
      <!--  不存在显示用户名为游客  -->
      <div style="height: 40%;">
        <div style="margin: 10px 0; padding-left: 1ch; background-color: whitesmoke;">
        <p style="color: black">
          用户名:游客
        </p>
        </div>
      </div>
      
      <div style="height: 60%;">
        <button type="button" class="btn-info" style="width: 45%; float: left" onClick="window.location.href='Brothers/logon/login.jsp'">
          <a >登录</a>
        </button>
        <button type="button" class="btn-info" style="width: 45%; float: right;" onClick="window.location.href='Brothers/logon/logon.jsp'">
          <a >注册</a>
        </button> 
      </div>
      <!--  存在则显示用户名  -->
      <% }
      else {
      %>
      <div style="height: 40%;">
        <div style="margin: 10px 0; padding-left: 1ch;background-color: #FFE3C4;">
          <p>
            用户名:<%= user %>
          <!--注销进行的后台操作-->
            <a href="${pageContext.request.contextPath}/User?method=Cancellation">注销</a>
          </p>
        </div>
      </div>
      <% }%>

上面是用户的登录界面,现在我们实现用户的注销功能,注销和登录一样很简单,就是对session的杀死,下面是注销的后台代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//判断session是否存在,如果存在,则将其杀死
if(request.getSession(false)!=null&&request.getSession().getAttribute("user")!=null)
{
    request.getSession().invalidate();
}
//重定向到主页
response.sendRedirect(request.getContextPath()+"/index.jsp");
}

以上就是登录状态与注销的基本实现

这是未登录的状态
在这里插入图片描述
这是登陆的状态
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值