当前位置:首页 > 后端开发 > jsp中cookie与session等自己总结精华

jsp中cookie与session等自己总结精华

6个月前 (05-26)70

(1)  JSP中的九大内置对象 page  request session   application   pagecontext   response  config  out 

        exception(在编程中,并不是说没有创建对象,而是会帮我们创建)

      cookie不是内置对象,需要的时候去创建(作用:可以保存密码,记住你的密码,账户,下次不用输入了)
(2)  JSP中的四大作用域:
       page:当前页面,也就是只要跳到别的页面就失效了

       request:一次会话,简单的理解就是一次请求范围内有效。(如果href  action 把页面1的有用数据给传到下一

                     个servlet中,如果servlet使用重定向到其他的页面2,在重定向的过程中,传输的信息会被丢失,那么

                     上一个请求失效,会发送一个新的请求。(那么有人想了?如果在servlet使用了

                     req.setAttribute("44",  "55");结果就是页面2获取不到这个请求。那在页面2能获取到那些数据呢?

                      resp.sendRedirect("./jsp/manage/index.jsp?    44=55");out.println(request.getParameter("44"));就

                     能  获取到。如果使用转发,则上一个请求内的内容还可以使用。如果在本服务器内又想使用重定

                     向,又想传递数据,那就使用session

      session:浏览器进程,只要当前页面没有被关闭(没有被程序强制清除),不管怎么跳转都是有效的。session

                     作用域比较容易理解,同一浏览器对服务器进行多次访问,在这多次访问之间传递信息,就是session

                     作用域的体现,

     application:服务器,只要服务器没有重启(没有被程序强制清除),数据就有效(计算这个服务器运行

                          期间总共有多少人访问)

(3)JSP中三大组件 servlet   filter listener


(4) 过程1:http协议是无状态的,那么问题来了当一个请求发送到服务器,他能响应并操作。也就是任何

       人都能访问到自己写的地址,但是在实际中,有些页面操作是需要登陆才能操作的,这样我们就可以

         定义一个对象他是存在我们浏览器访问期间的,当每次访问一个页面时,我们都去判断 对象是否存在,

         存在才能访问。同样注销的时候,我们把这个对象销毁。那么jsp内置对象session就满足这个条件。

         (每一个页面都写一个判断的话,代码重复,于是可以在用Filter过滤器中设置一次就ok)

(5)cookie失效:如果你使给当前cookie设置了时间,那么它被保存到硬盘上,一直会到你的时间结束。

                          没有设置时间,则保存在内存上,生理周期在会话期间(浏览器开始访问服务器,到浏览

                          器关闭)。(在客户端)

(6)session失效:(生命周期):会话期间(浏览器开始访问服务器,到浏览器关闭)。设置的时间,是你

                       与服务器的链接不刷新时间就过期,你一直刷新,那么一直不会失效。

                       session销毁场景:1、服务器关闭 2、session过期 3、手动销毁 session.invalidate()
                                        HttpSession session = req.getSession();
                  session.setAttribute("username",name);

                  session.setMaxInactiveInterval(60*3);这个是如果当前存在session,则获得对象的引用,

                不存在,则告诉服务器创建一个(在服务器端)(服务器会在客户端第一次访问jsp,servlet,创建

                 一个session会话,使用html等静态的页面服务器不会自动创建session。使用谷歌浏览器,会

                看见当你访问一个jsp页面,就会在cookie里面找到JSESSIONID)

              
(7)虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然需要客户端浏览器的支持。这是因为Session需要使用Cookie作为识
    别标志。HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一客户,因此服务器向客户端浏览器发送一个名为JSESSIONID
    的Cookie,它的值为该Session的id(也就是HttpSession.getId()的返回值)。Session依据该Cookie来识别是否为同一用户。
    因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识
(8)发送一次请求。服务器带着cookie去找服物器,JSESSIONID能对上号,就是在同一个会话中,没有对上号,新建一个sesion(又是一个新的会话)
(9)思考1:我们现在设置只有登陆成功的的人才能访问到其他的界面,否则返回登陆界面?
    答:解决1:在servlet中,如果从数据库能返回真值,说明登陆成功,此时获取一个session,把name放到session.然后再每个页面 用session都获取一下这个值
        如果等于null,则转向登陆界面
        解决2:在servlet中,如果从数据库能返回真值,说明登陆成功,此时创建一个cookie,把name放到cookie.然后再每个页面 用cookie都获取一下这个值
        如果等于null,则转向登陆界面
   思考2:如果在登陆页面有,“免登陆一周”这个选项,怎么实现?
    答:此时你发会发现session的的能力是有限的,一我们这期间有可能会关掉浏览器,session设置的链接时间可能会失效(那么每次新登陆一下界面
        都会重新新建一个session,达不到这样的要求(除非有人不关掉浏览,设置session的过期为七天,也是能实现的)
        但是我们的cookie能在硬盘上保存7天啊! 因为我们没有禁止cookie的话,他会在请求服务器的时候带上cookie。如果有这个name值得cookie
        则直接转到首页。同样,每个页面也会放行。

作者:sky_sea_desert_me
来源链接:https://blog.csdn.net/sky_sea_desert_me/article/details/53142470

标签: CookieSession

“jsp中cookie与session等自己总结精华” 的相关文章

Node.JS学习——使用cookie 和 session

众所周知,HTTP 是一个无状态协议,所以客户端每次发出请求时,下一次请求无法得知上一次请求所包含的状态数据,如何能把一个用户的状态数据关联起来呢? cooki...

详解 Session 和 Cookie

详解 Session 和 Cookie

前提 51 也有个文章跟我一样,是我自己投的稿哈   为什么要用Session和Cookie? 简单一句话,因为 Session 和 Cookie 可以...

Session是什么?它与Cookie有什么区别?

Session是什么?它与Cookie有什么区别?

你好,是我琉忆。 今天我们讲一讲Session与Cookie的区别 1、Session对象 上一节简单介绍了Cookie,接下来简单介绍Session。Session和...

cookie与session的区别与联系

cookie与session的区别与联系

cookie是什么?     cookie是存在于客户端(浏览器)。   cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所...

cookie和session的区别,联系

cookie和session的区别,联系

一、cookie和session关系图: 二、Session的概念 Session 是存放在服务器端的,类似于Session结构来存放用户数据,当...

Java Web(三) 会话机制,Cookie和Session详解

Java Web(三) 会话机制,Cookie和Session详解

    很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二净,原因可能是没能好好理解这两种会话机制,所以会一直遗忘,一直重新回过头来...

Cookie与Session概念与区别

Cookie与Session概念与区别

Cookie 一、概述 HTTP 协议是无状态的,为了让 HTTP 协议尽可能简单,使得它能够处理大量事务。HTTP 引入 Cookie...

Java后台学习之---cookie和session学习

cookie和session对比 cookie特点: 1) 会话数据存放在浏览器 2) 数据类型只能...

接口测试——Cookie和Session

接口测试——Cookie和Session

什么是Cookie : Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端...

C#基础-->cookie和session

关于cookie和session         cookie         &n...