我现在正在自学jsp,觉得有点盲目,可能是开发经验不足,一直弄不太明白cookie和session,我自己做项目时很少用到cookie,一般都是用session,当然也应该用session,但我发现我做的项目里甚至没有cookie的影子,cookie在现在的开发中到底有什么用呢,session我看书上说也不可滥用,会造成资源浪费,可我遇到页面和servlet进行值交互时,必须用到session,这样数据大了,还是会造成session的滥用,有什么经典的解决办法么
还有个问题,我html做的不是太好,是不是到了公司,一般都会有专业的美工,而程序员只需编写servlet?
给解答一下吧,谢了
还有个问题,我html做的不是太好,是不是到了公司,一般都会有专业的美工,而程序员只需编写servlet?
给解答一下吧,谢了
解决方案 »
- 再问个问题!关于ping的!!球代码!
- 关于BigDecimal
- 快死人了。。。。。。。。。。。
- 一个很简单的JAVA题目,也很重要,帮我看下怎么写,我只写了一部分!在线等~~
- Java实现文件的读取并初始化给数组
- 请问问题出在哪里?
- 将字符串数组转化成字符串,再进行串比较为什么不行?
- 一个ArrayList问题:对象中包含对象,包了两层,,最后一层是Integer,,,,,,,,,
- 求“正则表达式”的资料!谢谢
- 请教高手一个Java Swing的代码调试的基本功。
- HashMap可以这样遍历么?
- jdbc 连接sql2000提示java.lang.classnotfoundexception: com.microsoft.jdbc.sqlserver.
数据尽量放request域中cookie保存于客户端,很多浏览器都能直接看,可以看成是浏览器的一个记事本,随便放些东西,方便取用。session保存于服务器端,是针对没个用户的一块自留地,它比cookie安全
另,session可存任意数据类型的,cookie只能纯文本,
session的销毁,取决于web服务器,cookie销毁是浏览器行为,看待cookie生命周期不能太执著,现代浏览器都强调缓存,这个不好整。html总归慢慢学,就能学会的呀,其实不难,包括css,javascript,你精通于此,公司项目进展就顺利些
我没有看错的话,有些服务器可以选择以cookie的方式保存session.当然大部分服务器默认不是这样的。所以session还是安全些,有效率些,但不是绝对的
session 是服务端保存.你使用了 session, 客户端就一定会使用 cookie, 只是你不用操作这些 Web Service 和 IE 会做这些工作。
为何每个用户切换时,直接使用session都能获取到相同的对象呢?
原因是因为servlet运行环境保留啦类似这样HashMap<sessionId,session>的一个大Map。
每当创建一个session时,就会分配一个sessionId然后将sessionid和session加入到这个map中。而sessionid,在服务器端给响应的时候,会将他记录到cookies中(即http消息头有一个特殊的字段cookies,他用传递客户端和服务端的一些附加参数)
而客户端收到这个响应后,就会将这个cookies原封不动的保存到磁盘上(你先理解为一定会保存到磁盘上吧),等到下次再给这个服务器发送请求时,只要本地保存的cookies没有过期,他就一定会将保存的信息原封不动的上传回给服务器。
这样服务器收到请求后,会自动的检测消息中是否含有cookies字段、这个字段中是否含有sessionid字段。如果有,将其取出,然后用sessionid到HashMap<sessionid,session>中取会session对象。
明白否?
cookie用于保存一些不太重要的数据,重要的数据放在客户端不安全的,像用户的登录信息,购买物品的数量等,相比下session放的就是金额等重要数据。
其实session可以说是个特殊的cookie,看过http协议就清楚的理解了,http给session一个sessionId作为cookie的ID来存放的,session放的值作为cookie的值,不同的是消亡时间,session是半小时或关闭浏览器,而cookie可以自己设置多久都行。