欢迎来到天天文库
浏览记录
ID:38179825
大小:134.07 KB
页数:3页
时间:2019-05-24
《黑马JavaEE 3G+Android就业班笔记第07天》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、黑马JavaEE3G+Android就业班第7天一、会话1.什么是会话:用户打开浏览器点了一系列的超链接,然后关闭浏览器,此过程称为一次会话2.会话过程中需要解决什么问题?不同用户来访问web应用时,我们需要将每个用户的信息分别存在各自的地方3.会话技术Cookie客户端技术Cookie是给服务器用的,服务器暂时存在客户端浏览器的数据Sesion服务器端技术二、Cookie1.怎么向客户端发送CookieCookiecookie=newCookie(name,value);response.addCookie(cookie);2.获得客户端发送的CookieCook
2、ie[]cookies=request.getCookies();//遍历找自己感兴趣的CookieStringvalue=null;for(inti=0;cookies!=null&&i3、秒)设置cookie的有效时间,如不设置,默认在当前浏览器进程有效,如果设置为0,则命令浏览器立即删除CookiesetPath()设置cookie的有效路径如不设置,默认只是在访问当前资源相同路径下的资源时才发送该cookiesetDomain()设置域http://www.sina.comhttp://mail.sina.comhttp://sports.sina.com应用:买机票,服务器会记住我们的搜索习惯购物,最近浏览的商品三、Session1.一个浏览器的进程独享一个Session2.用途用户登陆购物车3.实现购物案例ListBookServlet商品列4、表遍历所有的商品,提供购买的超链接,提交给BuyServlet,跟bookid过去BuyServlet处理用户的购买请求获得id根据id获得book获得购物车(List集合)从session中去获得首次访问需要创建购物车(List),存入Session请求重定向到ListCartServletListCartServlet显示购物车列表从Session中取出购物车遍历显示商品4.由于session被浏览独享,关闭浏览器,再次打开,访问不到之前的Session了5.Session原理session对象存在服务器的内存,每个浏览器对应一个Session每个Session5、对象都有一个唯一的标识sessionid,作为Cookie发给浏览器web容器默认发送的Cookie没有设置有效时间,所以浏览器一关闭,Cookie失效不发Cookie,服务器就拿不到sessionid,就会创建新的Session我们希望多个浏览器共享Session,自己发送Cookie(JSESSIONID=sessionid)6.session是基于Cookie实现的禁用Cookie,怎么办?在url地址的后面带上sessionidresponse对象提供了url重写的功能,就在url后面加上jsessionid注意:所有写了url地址的页面都要重写需要我们创建6、session,response才帮我们去加上jsessionid7.Session细节request.getSession(false);只获得不创建新的Session对象Session对象非常消耗内存,所以很多网站都放弃使用Session,改用CookieSession的管理session有失效时间,可以在web.xml中配置session的失效时间1session默认的失效时间是30分钟8.防止表单重复提交javacript可7、以防止,但是不能完全防止服务器端防止1)产生一个唯一的随机数(Token令牌)2)将Token作为表单的隐藏字段提交3)token存入Session域4)处理表单的Servlet中,取出用户提交的Token和Session中的Token比较,一样则同意提交5)提交成功一次,将session中的Token置为null9.用户登陆注册验证码
3、秒)设置cookie的有效时间,如不设置,默认在当前浏览器进程有效,如果设置为0,则命令浏览器立即删除CookiesetPath()设置cookie的有效路径如不设置,默认只是在访问当前资源相同路径下的资源时才发送该cookiesetDomain()设置域http://www.sina.comhttp://mail.sina.comhttp://sports.sina.com应用:买机票,服务器会记住我们的搜索习惯购物,最近浏览的商品三、Session1.一个浏览器的进程独享一个Session2.用途用户登陆购物车3.实现购物案例ListBookServlet商品列
4、表遍历所有的商品,提供购买的超链接,提交给BuyServlet,跟bookid过去BuyServlet处理用户的购买请求获得id根据id获得book获得购物车(List集合)从session中去获得首次访问需要创建购物车(List),存入Session请求重定向到ListCartServletListCartServlet显示购物车列表从Session中取出购物车遍历显示商品4.由于session被浏览独享,关闭浏览器,再次打开,访问不到之前的Session了5.Session原理session对象存在服务器的内存,每个浏览器对应一个Session每个Session
5、对象都有一个唯一的标识sessionid,作为Cookie发给浏览器web容器默认发送的Cookie没有设置有效时间,所以浏览器一关闭,Cookie失效不发Cookie,服务器就拿不到sessionid,就会创建新的Session我们希望多个浏览器共享Session,自己发送Cookie(JSESSIONID=sessionid)6.session是基于Cookie实现的禁用Cookie,怎么办?在url地址的后面带上sessionidresponse对象提供了url重写的功能,就在url后面加上jsessionid注意:所有写了url地址的页面都要重写需要我们创建
6、session,response才帮我们去加上jsessionid7.Session细节request.getSession(false);只获得不创建新的Session对象Session对象非常消耗内存,所以很多网站都放弃使用Session,改用CookieSession的管理session有失效时间,可以在web.xml中配置session的失效时间1session默认的失效时间是30分钟8.防止表单重复提交javacript可
7、以防止,但是不能完全防止服务器端防止1)产生一个唯一的随机数(Token令牌)2)将Token作为表单的隐藏字段提交3)token存入Session域4)处理表单的Servlet中,取出用户提交的Token和Session中的Token比较,一样则同意提交5)提交成功一次,将session中的Token置为null9.用户登陆注册验证码
此文档下载收益归作者所有