zoukankan      html  css  js  c++  java
  • JSP四大作用域和Cookie

    一:JSP中的四大作用域

      域对象的作用:保存数据,获取数据,共享数据.

    1. page:      jsp页面被执行,生命周期开始,jsp页面执行完毕,生命周期结束(jsp当前页面有效)
    2. request:       用户发送一个请求,生命周期开始,服务器返回响应,请求结束,生命周期结束(一次请求)
    3. session:       用户打开浏览器访问,创建session(生命周期开始),session超时或被声明失效,该对象生命周期结束(一次会话)
    4. application:  web应用加载的时候创建,web应用移除或服务器关闭,生命周期结束(当前web应用)

    二:Cookie

      Cookie对象用于保存客户端浏览器请求的服务器页面,也可用于存放非敏感性的用户信息,信息保存的时间可以根据用户的需要进行设置。并非所有的浏览器都支持Cookie,并且数据信息是以文本的形式保存在客户端计算机中的。

      例子:通过Cookie实现用户登录成功之后规定时间内再次访问该页面时无需登录

      登录页面Login.jsp

    <form action="Verification.jsp" method="post">
        用户名:<input type="text" name="username" id="user" /><br>&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" id="pwd" style=" 158px" /><br> 
            <input type="submit" value="提交" />    <!-- 当用户点击提交按钮时将网页信息提交给Verification.jsp验证页面-->
    </form>    

     <%

        Cookie[] cookies = request.getCookies();  //获取所有的Cookie对象
        if (cookies != null) {
        for (int i = 0; i < cookies.length; i++) {    //利用循环判断用户是否登录过
          if ("admin".equals(cookies[i].getName())) {
          response.sendRedirect("Welcome.jsp");    //登录成功重定向到欢迎页面
          }

           }

            }  

    %>

        验证页面 Verification.jsp

    <%
        String name=request.getParameter("username");  //获取表单信息
        String pwd=request.getParameter("password");
        
             if("admin".equals(name)&&"123456".equals(pwd)){      //判断用户名和密码是否匹配
                 Cookie newCookie=new Cookie("admin",name);       //创建cookie对象保存用户
                 newCookie.setMaxAge(5*60);                 //设置cookie的有效时间(单位/秒)
                 response.addCookie(newCookie);                
                 response.sendRedirect("Welcome.jsp");                  //保存完信息跳转到欢迎页面,表示登录成功
             }else{
                 request.getRequestDispatcher("Login.jsp").forward(request, response);  //验证失败的情况下,转发到登录页面
             }
    
    %>

       Cookie常用的方法

    • Cookie[] getCookies()          HttpServletRequest      返回一个数组,其中包含客户端通过此请求发送的所有Cookie对象
    • void addCookie(Cookie cookie)   HttpServletResponse    通过cookie把这个值返回到浏览器的内存中(回写)  向响应添加指定的cookie。可以多次调用此方法来设置多个cookie。
    • Cookie(String name ,String value)  使用cookie的构造函数
    • getName()             获取cookie名称
  • 相关阅读:
    如何吸引小白用户爱上你的游戏?
    产品经理应聘之感受漫谈
    罗永浩Vs王自如:浮躁的世界该如何降温?!
    从锤子手机谈产品的逼格
    博客园与51CTO博客之产品用户体验分析
    web网站 Vs 移动App 谁更能打动你?之 产品经理篇
    不要只甘于做一个程序员
    我的程序员工作经历(二) 之 谈合作
    OpenCV 之 神经网络 (一)
    Qt 之 QtConcurrent
  • 原文地址:https://www.cnblogs.com/yjc1605961523/p/11138541.html
Copyright © 2011-2022 走看看