JSP(4)—Cookie创建及简单案例(自动登录)

来源:互联网 发布:淘宝零食加盟 编辑:程序博客网 时间:2024/05/14 16:31

Cookie的创建:
创建一个JSP页面,第一次访问时显示没有Cookie,正在创建,再次访问就会自动显示cookie的名称,并设置cookie过期时间

    <%        //在javaweb规范中使用Cookie类代表Cookie        //获取cookie        Cookie[] cookies = request.getCookies();        if(cookies != null && cookies.length > 0){            for(Cookie cookie : cookies){                out.println(cookie.getName()+" : "+cookie.getValue());                out.println("<br>");            }        }else{            out.println("没有一个Cookie,正在创建并返回...");            //1.创建一个Cookie对象            Cookie cookie =new Cookie("name","Test");            //2.setMaxAge:设置Cookie的最大时效,以秒为单位,若为0,表示立即删除该Cookie,为负数,表示不存储,为正数,表示存储时间            cookie.setMaxAge(30);            //调用response的一个方法把Cookie传给客户端            response.addCookie(cookie);        }    %>

demo1:自动登录

JSP页面:login.jsp、index.jsp

其中login.jsp登陆,index.jsp显示登录信息

第一次访问index.jsp页面时,会自动跳转到login.jsp页面,再次访问时自会自动显示登陆信息,不需要再次登录
login.jsp

<body>    <form action="index.jsp" method="post">         name:<input type="text" name="name"/>        <input type="submit" value="Submit"/>    </form></body>

index.jsp

<body>        <!-- 自动登录 -->        <!-- 此服务端 -->    <%        //若可以获取到请求参数name,则打印出欢迎信息,把登录信息存储到Cookie中,并设置Cookie的最大时效为30S        String name = request.getParameter("name");        //输入账号提交表单,获取到name字段,创建Cookie并发送到客户端中        if(name != null && !name.trim().equals("")){            //创建一个Cookie,name为login.jsp页面传进来的账号            Cookie cookie = new Cookie("name",name);            cookie.setMaxAge(30);            response.addCookie(cookie);        }else{        //没有输入账号,自动登录,账号从Cookie中获取到            //从Cookieh中获取用户信息,若存在则打印欢迎信息            Cookie[] cookies = request.getCookies();            if(cookies != null && cookies.length > 0){                for(Cookie cookie : cookies){                    String cookieName = cookie.getName();                    if("name".equals(cookieName)){                        String val = cookie.getValue();                        name = val;                    }                }            }        }        if(name != null && !name.trim().equals("")){            //显示欢迎信息            out.println("Hello:"+name);        }else{            out.println("Hello");            //既没有表单提交,又没有Cookie,则重定向到index.jsp            response.sendRedirect("login.jsp");        }    %></body>
阅读全文
0 0
原创粉丝点击