首页 > 其他分享 >Session基本使用

Session基本使用

时间:2023-04-23 12:15:02浏览次数:41  
标签:基本 username 浏览器 session 用户 Session 使用 return

介绍

  在WEB开发中,服务器为每个用户浏览器创建一个会话对象(session对象),一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
   
  Session,有始有终的一系列动作/消息的意思,举个栗子来说:比如我们一次打电话,从接起电话到你挂断电话的一系列过程可以称为一个Session。

与cookie区别

1.session是服务端存储,cookie是浏览器端存储

2.Cookie是把用户的数据写给用户的浏览器。

3.Session技术把用户的数据写到用户独占的session中。

4.Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。

常用方法

isNew():是否是新的Session,一般在第一次访问的时候出现

getid():拿到session,获取ID

getCreationTime():当前session创建的时间

getLastAccessedTime():最近的一次访问这个session的时间。

getRrquestedSessionid: 跟随上个网页cookies或者URL传过来的session

isRequestedSessionIdFromCookie():是否通过Cookies传过来的

isRequestedSessionIdFromURL():是否通过重写URL传过来的

isRequestedSessionIdValid():是不是有效的sessionID

使用

登录时保存用户登录信息


@Autowired

private HttpSession session;

/**

* 管理员登录验证

*

* @param username 管理员名称

* @param password 管理员密码

* @param model

* @return

*/

@RequestMapping(value = "/login")

public String login(String username, String password, Model model, HttpSession session, HttpServletRequest request) {

if (adminService.login(username, password) != null) {

request.getSession().setAttribute("userName", username);

Admin admin = adminService.findAdminByNameAndPwd(username, password);

if (admin != null) {

return "redirect:/admin/home";

}

}

model.addAttribute("error", "密码或名称错误");

return "login";

}

用户退出时间


/**

* 退出登录

*

* @return

*/

@RequestMapping(value = "/logout", method = RequestMethod.GET)

public ModelAndView logout() {

session.invalidate();

ModelAndView modelAndView = new ModelAndView("login");

return modelAndView;

}

设置失效时间

**Session对象末日30分钟没有使用,则服务器会自动销毁session,在web。xml文件中可以手工配置Session的失效时间。为0或负数时表示永不

失效。**


<!--设置session永不失效-->

<session-config>

<session-timeout>-1</session-timeout>

</session-config>

标签:基本,username,浏览器,session,用户,Session,使用,return
From: https://www.cnblogs.com/yzx-sir/p/17346139.html

相关文章

  • 01-Httprunner简介、安装及基本使用教程
     https://www.jb51.net/article/237541.htm httprunner是一款面向 HTTP(S) 协议的通用测试框架。只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求,本文给大家介绍Httprunner安装使用教程,感兴趣的朋友一起看看吧......
  • CODEQL使用简介
    codeqlcodeql是一个可以对代码进行分析的引擎,安全人员可以用它作为挖洞的辅助或者直接进行挖掘漏洞,节省进行重复操作的精力下载:解析引擎:https://github.com/github/codeql-cli-binaries/releasesSDK(规则库):https://github.com/github/codeql使用方式简介:1.解压解析引擎,......
  • 手把手教你使用Python网络爬虫获取菜谱信息
    今日鸡汤一腔热血勤珍重,洒去犹能化碧涛。/1前言/    在放假时,经常想尝试一下自己做饭,下厨房这个网址是个不错的选择。    下厨房是必选的网址之一,主要提供各种美食做法以及烹饪技巧。包含种类很多。    今天教大家去爬取下厨房的菜谱,保存在world文档,方便日后制作自......
  • 06期:使用 OPTIMIZER_TRACE 窥探 MySQL 索引选择的秘密
    这里记录的是学习分享内容,文章维护在Github:studeyang/leanrning-share。优化查询语句的性能是MySQL数据库管理中的一个重要方面。在优化查询性能时,选择正确的索引对于减少查询的响应时间和提高系统性能至关重要。但是,如何确定MySQL的索引选择策略?MySQL的优化器是如何选择索......
  • 手把手教你使用Python生成图灵智能小伙伴,实现工作助手/闲聊功能
    /1前言/在家闲着,做个小项目,基于Python,实现一个语聊小机器人,分享给大家。项目整体比较简单,官方文档介绍的非常详细,可快速上手。/2 目标/将图灵机器人放到桌面,实现工作助手/陪聊功能。/3 涉及的库/V1.0版本:requests、jsonV2.0版本:requests、json、selenium(实现功能:如图灵返回结果......
  • Cookie基本使用
    cookie是什么?是由服务器端生成,发送给User-Agent(一般指浏览器),浏览器将cookie以键值对的形式保存到某个目录下的文本文件内。下次请求该网站时就把cookie发送回服务器。(cookie就是一个小文件,浏览器对其大小一般限制在4k,用来记录一些信息(一般用作标识))为什么有cookie?web应用程......
  • 手把手教你使用Flask搭建ES搜索引擎(预备篇)
    今日鸡汤我死国生,我死犹荣,身虽死精神长生,成功成仁,实现大同。--赵博生/1前言/    Elasticsearch是一个开源的搜索引擎,建立在一个全文搜索引擎库ApacheLucene™基础之上。    那么如何实现 Elasticsearch和Python 的对接成为我们所关心的问题了(怎么什么都要和Pyt......
  • MAVEN使用技巧
    maven常用命令mvn-v//查看版本 mvnarchetype:create//创建Maven项目 mvncompile//编译源代码 mvntest-compile//编译测试代码 mvntest//运行应用程序中的单元测试 mvnsite//生成项目相关信息的网站 mvnpackage//依据项目生成jar文件 mvninstal......
  • 日志门面、实现框架和桥接器及实际使用
      之前总是在项目中使用现成的日志框架,用着方便就不会去思考它的框架、发展和组成,别人怎么用我也怎么用。感觉就是很模糊不清楚,说不知道也知道点,说知道又讲不明白,看了不少文章,决定把这一块梳理一下。1、现有日志的组成  可能说到日志,大家都知道一部分,什么slf4j、logback等等......
  • java使用数组实现队列
    1.1. 队列的数据结构队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。1.2. Java实现QueueTestpackagech04;publicclassQ......