A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

5黑马币
求各位大神来个小例子,DEMO

最佳答案

查看完整内容

request和session区别,request是指一次用户请求,点击一个button或一个链接等等,服务器根据这次请求回显给用户一个页面,这就是响应,而这个就是一次完整的HTTP请求。存储在request中的一些信息,一旦超过对应请求而丢失。 session是指一次会话,这次会话以用户点击退出按钮(或链接)或关闭浏览器结束,在次期间用户可以完成很多次请求,而存储在session中的信息,在整个会话期间都不会丢失。 ...

14 个回复

倒序浏览
request和session区别,request是指一次用户请求,点击一个button或一个链接等等,服务器根据这次请求回显给用户一个页面,这就是响应,而这个就是一次完整的HTTP请求。存储在request中的一些信息,一旦超过对应请求而丢失。  
session是指一次会话,这次会话以用户点击退出按钮(或链接)或关闭浏览器结束,在次期间用户可以完成很多次请求,而存储在session中的信息,在整个会话期间都不会丢失。
回复 使用道具 举报
和重定向转发一起用
回复 使用道具 举报
request 请求,比如打开一个超链接也是一个请求,请求结束这个request也就结束了
session 会话, 当用户第一次和服务器建立连接时,服务器就会产生一个session直到用户离开或超时
回复 使用道具 举报
小白路过
回复 使用道具 举报
我是来学习的
回复 使用道具 举报
bjznh 中级黑马 2014-12-19 08:43:05
7#
request 是 用来接收从前台传过来的数据的,不管是表单提交还是AJAX提交的。
session :用于在服务器端保存数据使用,默认是保存在服务器端的辅助线程里面,也可以保存在一个独立的数据库里。默认存储时间是20分钟
回复 使用道具 举报
小平 中级黑马 2014-12-19 09:29:14
8#
1、session的用法

动手编写了一个简单的例子用于复习session的用法:
包括4个文件:
index.jsp
session.jsp
link.jsp
next.jsp

index.jsp文件:
<%@ page contentType="text/html;charset=gb2312" %>
<form method=post action=session.jsp>
姓名:
<input type=text name=name><br>
<input type=submit value="确定">
</form>
用于提交一个字符串.
session.jsp文件:
<%@ page contentType="text/html;charset=gb2312" %>
<%
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GBK");

session.setAttribute("yourname",name);
%>
你的名字:
<%
out.println(name);
%>
<a href=link.jsp>link</a>
用于接收并储存字符串变量的值.
link.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
String name=(String)session.getAttribute("yourname");

%>
你的名字:
<%
out.println(name);
%>
<a href=index.jsp>首页</a>
<a href=next.jsp>next</a>
next.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
String name=(String)session.getAttribute("yourname");

%>
你的名字2:
<%
out.println(name);
%>
<a href=index.jsp>首页</a>
<a href=next.jsp>next</a>



文章源自:http://www.zhuoda.org/lunzi/20090.html



2、JSP中request.getParameter()和session.getAttribute()的区别

JSP中request.getParameter()和session.getAttribute()有没有区别,它们各自适合那些场合
---------------------------------------------------------------  

request.get是从上一个页面用户提交的数据中取得,  

而session存在范围是用户这一次看你的网站。比如用,用户需要密码才能访问你的网站,用户初次登录时,你可以把变量设到SESSION里,以后只要检查SESSION里的变量就可以知道用户是否已经在登录状态。  
---------------------------------------------------------------  

request.getParameter()  
request  是请求,即把需要的参数得到,一般是从上一个页面用户提交的数据中得到  

session.getAttribute()  
session  是用来保持会话的连接,说明见楼上  
---------------------------------------------------------------  

1,request.getParameter()  得到客户端数据  
2,session.getAttribute()  存入变量以便让更多页面可以得到该变量,通过设置存在时间,可以用在是否在线,是否已登录等场合  

---------------------------------------------------------------  

request.getParameter()是从上一个页面用户提交的数据中取得,  

session.getAttribute()在整个会话期间都有效,这样可以方便的多次获得该变量  

---------------------------------------------------------------  

request.getParameter()上一个页面提交的。  
比如  form  里的  或者市  url  里的。  

session.getAttribute()是在用户的整个会话期有效。  
---------------------------------------------------------------  

这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。  
而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。
回复 使用道具 举报
request是转发。比如1个变量的生命周期是比如A页面的按钮转发到B页面再转发到C页面。必须是从上一个页面转发过来的。变量的值就一直存在。
sessionn是会话。打开这个页面就表示开始了一个会话,只要浏览器不关闭。默认是30分钟。也就是30分钟内,你可以从C页面访问A页面的值。 而不用像request一样,必须转发过来才能有值
回复 使用道具 举报
两个生命周期不一样,request的生命周期只在数据提交,提交以后即释放,session则是浏览器关闭才释放 所以一般一些用户信息类的内容都会存在session里,比如购物车内信息,或者用户登录的各种身份验证信息,这样不会因为跳转页面而丢失这些信息
回复 使用道具 举报
request跟session不是解决一类问题的,request对象是获取客户端请求的,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、客户端IP,客户端浏览器等等信息。如Request.Form,获取Form表单提交的内容。
session对象用于存储特定的用户会话所需的信息 。引用Session 则可以让一个用户访问多个页面之间的切换也会保留该用户的信息。
回复 使用道具 举报
给你文档,看了就懂了,文档内有例子

demo.zip

82.25 KB, 阅读权限: 10, 下载次数: 3

回复 使用道具 举报
看了UP的帖子后涨姿势了。。
回复 使用道具 举报
我觉得知识点在网上书上看到的基本的用法都是差不多的,希望你可以做几个案例就理解里面是则怎么用的
回复 使用道具 举报
要栗子干嘛。。request的生命周期是请求开始到请求结束,比如向页面发送一个对象在页面显示这个功能,发送万就可以不要了,那么你就可以放这个对象放在request中转发到页面。而session的生命周期是浏览器的关闭,当然他有默认的关闭时间,你也可以手动设置。一般想用户登录之后就把用户这个对象放入session,之后你在程序任何地方都能取到session中的用户对象,但是session比较耗内存,一般不会放太多东西进session。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马