您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

OA系统十四:注销功能;

注销:就是把登录时所保留的信息全部给清除掉;其本质就是清除保存在Session中的数据,让session回到初始的状态;

至于为什么只需要手动清除session对象中的数据,而request对象中的数据不用手动清除,这是因为request对象的生命周期的缘故;具体可以参考:Servlet与JSP进阶六:ServletContext全局对象;Java Web三大作用域对象总结;这篇博客。


开始:

Logout.html:

package com.imooc.oa.controller;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "LogoutServlet",urlPatterns = "/logout")
public class LogoutServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //request.getSession().removeAttribute("login_user");
        request.getSession().invalidate();//invalidate()方法是将当前的会话彻底清除掉;
        response.sendRedirect("/login.html");
    }
}

说明:

(1)注销,不涉及参数传递,自然使用get方法即可。

(2)具体有关,invalidata()方法和Session的有关内容可以参考:

(3)

然后,演示:

如果不点击【注销】按钮,而知直接在一个新的网页直接访问:localhost/index:其实可以访问的

但是,如果点击了【注销】:返回了登录页

然后,再访问localhost/index:

即,注销后,如果要再次使用系统,必须要在登录页登录才行。

 


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进