说简单点 request对象和session对象的最大区别是生命周期。

request

request范围较小一些,只是一个请求。

request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点 。

简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、form中获取参数。

但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute()。

但是当结果输出之后,request就结束了。

session

session可以跨越很多页面。

而session的生命周期也是针对一个客户端,但是却是在别人设置的会话周期内(一般是20-30分钟),session里边的内容将一直存在,即便关闭了这个客户端浏览器 session也不一定会马上释放掉的。

可以理解是客户端同一个IE窗口发出的多个请求。

这之间都可以传递参数,比如很多网站的用户登录都用到了。

比较

request占用资源比较少,安全性也比较高,可是相对来说缺乏持续性。

session则相对来说对资源的消耗会大点,安全性相对来说也会稍微低点,可是它能实现比如会话跟踪技术。

如果可以使用request的情况下,尽量使用request 因为相对于服务器来说资源的消耗还是比较重要的。

在传递页面过程中request传递到下一页面就不能再传递了,而sesison却不如此,即request仅限于2个相邻的页面

每按一个网页上的一个链接就是一个新的request,当服务器返回给浏览器一个response时,request就结束了,此时保存在request中的对象就不存在了,

但是当你用一个浏器连到服务器上时application-server会新开一个session给你,当连接超时或浏览器关闭时session才销毁。

所以说作用的范围是不一样,session也就可以跟踪用户的状态。

session相当于是一个客户端的全局变量,

比如A机与服务器第一次访问时设置session.setAttribute("aaa")="ComputerA".则在A机访问继续访问的任意一个页面都可以取的session.getAttribute("aaa")的值是ComputerA;  
    
request是某一次访问的局域变量,

生命周期只是一次请求。因此login的变量应该放在session中

request和session获取参数的区别的更多相关文章

  1. request.getParameter("name")获取参数为null和空字符串的区别

    1.获取到的值为空字符串 当url里有name属性,但是没有值的时候,后台用request.getParameter("name")获取到的是空字符串 2.获取到的值为null 当 ...

  2. Request与session与application的区别

    (1)request的setAttribute与getAttribute方法一般都是成对出现的,首先通过setAttribute方法设置属性与属性值,然后通过getAttribute方法根据属性获取到 ...

  3. Jsp四个作用域page、request、session和application的区别

    1.简单说 page指当前页面.在一个jsp页面里有效  2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可 ...

  4. jsp 的四个作用域 :page、request、session和application的区别 (转)

    1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以 ...

  5. servlet request.getParamter 有时获取参数为null

    他妈的,参数有时可以获取,有时又不行,折腾了好久,把tomcat换成8.0的,之前用apache-tomcat-7.0.67

  6. [Asp.Net] MVC 和Web API Action 获取参数的区别

    Asp.net MVC 和web api 的action 在获取从前台传入的数据是有很大不同 前台使用ajax的方式向后台发起post的请求 Content-Type:application/json ...

  7. Servlet获取参数

    package action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Servlet ...

  8. Asp.Net Mvc4 Webapi Request获取参数

    最近用mvc4中的WEBAPI,发现接收参数不是很方便,跟传统的request.querystring和request.form有很大区别,在网上搜了一大圈,各种方案都有,但不是太详细,于是跟踪Act ...

  9. Struts2中的session、request、respsonse获取方法

    个人对于struts有一种复杂的心情,平心而论,struts2是个人最早接触到的的框架,在学校的时候就已经开始学习了,大四毕业设计,无疑用的还是struct,那时候SSH还是很流行的,后来出来实习,直 ...

随机推荐

  1. 编写Java程序,实现字符串统计和处理

    返回本章节 返回作业目录 需求说明: 在控制台输入纯字符的字符串,输出当前字符串的长度. 统计出该字符串中出现相同字母次数最多的字母(不考虑不同字母出现次数相同的情况). 将出现最多次数的字母字母替换 ...

  2. Java高效开发-fiddler抓包工具

    1.简介 Fiddler是最常用的抓包工具之一,只要打开之后就能够实现数据包抓取,关闭之后会自动取消代理,非常方便本地调试 2.下载 阿里云盘地址:https://www.aliyundrive.co ...

  3. Office - 0x4004F00C解决方法

    之前用HEU_KMS激活了180天的office 2013(专业版),今天打开突然报错0x4004F00C 大致意思就是提示你:office还有几天将要过期,到时候只能查看文档.表格.ppt,而不能编 ...

  4. SpringBoot 原理分析、监控、项目部署

    目录 SpringBoot 监控 概述 使用 SpringBoot Admin 概述 使用 SpringBoot 项目部署 SpringBoot 监控 概述 SpringBoot 自带监控功能 Act ...

  5. vue再页面渲染json数据时没有显示

    对象点属性不能获取数据. 原因: 在创建数据对象时我使用了k,v方式:tempMap['category '] = this.category[i].label 如果在创建数据时使用的k,v方式,那么 ...

  6. go 使用 sort 对切片进行排序

    golang对slice的排序 golang里面需要使用sort包,并且实现几个接口Len, Swap, Less sort 包排序demo 假如现在有个slice 叫做 ids 里面保存的数据类型是 ...

  7. Python 国内镜像源

    让 python pip 使用国内镜像源 国内镜像源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.co ...

  8. x86-3-段式管理(segmentation)

    x86-3-段式管理(segmentation) 3.1 段式管理概述: 从8086CPU开始,为了让程序在内存中能自由浮动而又不影响它的正常执行,CPU将内存划分成逻辑上的段来给程序使用. x86继 ...

  9. 关于CKCsec安全研究院

    关于CKCsec安全研究院 CKCsec安全研究院所有文档开源于语雀,会源源不断更新. 部分内容 微信公众号 知识星球 使用需知 由于传播.利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均 ...

  10. Bootstrap实战 - 注册和登录

    一.介绍 注册和登录在社交和商业网站中是必不可少的一个部分. 二.知识点 2.1 标签页 2.1.1 基础标签页 标签页的使用与导航栏类似,同时都依赖于基础样式 nav,不同的是附加样式变成了 nav ...