request与session的区别

request对象和session对象的最大区别是生命周期与范围。

request

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

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

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

例如:js

function goback(){
    var jfssq = $("#jfssq").val();
    var qxdm = $("#qxdm").val();
    window.location.href=‘/GHGL/shuiwu_sys/tjbb-cjbbgoback?sjq=‘+jfssq+‘&qxdm=‘+qxdm;

}

java

@RequestMapping("shuiwu_sys/tjbb-cjbbgoback")
    public String toTjbbcjbbgoback(HttpServletRequest request) {
        String sjq = request.getParameter("sjq");
        request.setAttribute("sjq", sjq);
        return "shuiwu_sys/tjbb-cjbb";
    }

a.jsp

<input type="hidden" value="<%= request.getAttribute("sjq")%>" id="sjq" />    

如上第一次返回到 a.jsp 是可以获得参数值的,当再次刷新这个页面就没有这个参数了。

session

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

@RequestMapping("shuiwu_sys/tjbb-cjbbgoback")
    public String toTjbbcjbbgoback(HttpServletRequest request) {
        String sjq = request.getsession.getParameter("sjq");
        request.getSession.setAttribute("sjq", sjq);     return "shuiwu_sys/tjbb-cjbb";
    }

b.jsp

<input type="hidden" value="<%= request.getSession.getAttribute("sjq")%>" id="sjq" />    

当请求后多次请求 b.jsp页面还是可以得到这个参数值

总结

1、资源

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

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

2、生命周期

当连接超时或浏览器关闭时session才销毁。

所以说作用的范围是不一样,session也就可以跟踪用户的状态。login的变量应该放在session中

session相当于是一个客户端的全局变量,生命周期是一次会话连接,request是某一次访问的局域变量,生命周期只是一次请求。

3、作用范围

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

request仅限于2个相邻的页面

原文地址:https://www.cnblogs.com/ssbydk/p/10237398.html

时间: 2024-10-13 00:37:35

request与session的区别的相关文章

page、request、session和application有什么区别?

1.简单说 page指当前页面.在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程.在这个过程中使用forward方式跳转多个jsp.在这些页面里你都可以使用这个变量. 3.Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程. 4.application它的有效范围是整个应用. 作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用 page里的变量没法从index.jsp传递到test.jsp.只要页面跳转了

page、request、session、application区别【转载】

(1)直接在web contain中进行对象的实例化. 内置对象 类型 作用域 pageContext javax.servlet.jsp.pageContext page request javax.servlet.http.HttpServletRequest request response javax.servlet.http.HttpServletResponse page session javax.servlet.http.HttpSession session applicati

pageContext、request、session和application区别

pageContext,request,session,application是指变量(对象)的生命周期,它们都可以通过setAttribute()和getAttribute()来设定或读取属性. pageContext对象的范围只适用于当前页面范围,即超过这个页面就不能够使用了.所以使用pageContext对象向其它页面传递参数是不可能的. request对象的范围是指在一JSP网页发出请求到另一个JSP网页之间,随后这个属性就失效. session的作用范围为一段用户持续和服务器所连接的时

目的:熟悉session的两个函数,区别request和session的使用范围

创建登录页面login.html 提供用户名输入框.以及登录按钮 创建登录处理页面login.jsp 如果用户名为admin,把用户名存储在session中,并跳转进入index.jsp中 否则跳转进入login.html页面 创建页面index.jsp 如果session中没有该用户信息,跳转进入login.html中 否则显示欢迎信息 先写servlet页面,也是最重要的页面 package net.wanho.servlet; import java.io.IOException; imp

web初学之request,session与application

request (1)request的setAttribute()与getAttribute()方法一般都是成对出现,首先通过setAttribute()方法设置属性与属性值,然后通过getAttribute()方法根据属性获取到与该属性对应的对象值.setAttribute()与getAttribute()方法都是在服务器端内部执行,客户端并不清楚.(注意:getAttribute()之后需要进行向下类型转换,将属性值转换为真正的对象) (2)request的getParameter()方法是

使用Struts框架的Java Web项目中的两个Session的区别和常见的Session取值为空的错误

我的百度知道回答,感觉这个知识很有意义,专门贴出来. 不过还有待验证的地方,就是 ActionContext.getContext().getSession("name", "Tom"); //如果在JSP中通过 EL 或者 Struts2 标签怎么显示? 以下是回答正文. 很多初学Java Web的同学因为使用 Strut2框架而分不清两个 Session的区别. 1.   JSP/Servlety有个原生的 session 对象,这是9大内置对象中的一个,书上写

【转】Cookie和Session的区别详解

转载地址:http://www.phperzone.cn/portal.php?aid=541&mod=view 一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session 机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 二.会话cookie和持久cookie的区别 如果不设置

cookie和session的区别,session的生命周期,

这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来.当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你. Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie 来辨认使用者,以方便送出使用者量身定做的内容

JSP作用域之pageContext,request,session,application

作用域的作用是用来绑定数据.属性   pageContext          页面           javax.servlet.jsp.PageContext pageContext 当前页面范围,pageContext对象不能向其它页面传递参数据   request                 页面跳转     javax.servlet.http.HttpServletRequest request 范围在一个页面到另一个页面的一个请求,请求转发中可以使用request     s