首页 > 其他分享 >JSP_案例_改造Cookie案例与会话技术_Session_快速入门

JSP_案例_改造Cookie案例与会话技术_Session_快速入门

时间:2023-02-10 11:24:22浏览次数:40  
标签:String format value 案例 Session cookie Cookie name

 

JSP_案例_改造Cookie案例

  

<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%//设置响应的消息体的数据格式以及编码
        response.setContentType("text/html;charset=utf-8");

        //1.获取所有Cookie
        Cookie[] cookies = request.getCookies();
        boolean flag = false; //没有Cookie为lastTime
        //2.遍历Cookie数组
        if (cookies != null && cookies.length >0){
            for (Cookie cookie : cookies) {
                //3.获取Cookie的名称
                String name = cookie.getName();
                //4.判断名称是否是:lastTime
                if ("lastTime".equals(name)){
                    //有该Cookie,不是第一次访问

                    flag = true; //有lastTime的Cookie

                    //设置Cookie的value
                    //获取当前时间的字符串,重新设置Cookie的值,重写发送Cookie
                    Date date = new Date();
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                    String format = simpleDateFormat.format(date);
                    System.out.println("编码前:"+format);
                    //URL编码
                    format = URLEncoder.encode(format, "utf-8");
                    System.out.println("编码后:"+format);
                    cookie.setValue(format);
                    //设置Cookie的存活时间
                    cookie.setMaxAge(60 * 60 * 24 * 30);//一个月
                    response.addCookie(cookie);

                    //响应数据
                    //获取Cookie的value,时间
                    String value = cookie.getValue();
                    System.out.println("解码前:"+value);
                    value = URLDecoder.decode(value,"UTF-8");
                    System.out.println("解码后:"+value);
    %>
                         <h1>欢迎回来,您上次访问的时间为:<%=value%></h1>
                        <input>
<%
                    break;
                }
            }
        }
        if (cookies == null || cookies.length == 0 || flag == false){
            //没有,第一次访问

            //设置Cookie的value
            //获取当前时间的字符串,重新设置Cookie的值,重写发送Cookie
            Date date = new Date();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
            String format = simpleDateFormat.format(date);
            System.out.println("编码前:"+format);
            //URL编码
            format = URLEncoder.encode(format, "utf-8");
            System.out.println("编码后:"+format);
            Cookie cookie = new Cookie("lastTime",format);
            //设置Cookie的存活时间
            cookie.setMaxAge(60 * 60 * 24 * 30);//一个月
            response.addCookie(cookie);
%>



            <h1>欢迎您首次访问</h1>
        <span></span>
         <%
        }
         %>


                <input>
</body>
</html>

 

会话技术_Session_快速入门

    1.概念:服务器端会话技术,在一次会话的多次请求见共享数据,将数据保存在服务器端的对象中。HttpSession

     2.快速入门         1.获取HttpSession对象             
            HttpSession session = request.getSession();
        2.使用HttpSession对象                      Object   getAttribute(String name) 
                    void  setAttribute(Stringname, Object value)                                    void      removeValue(String  name) 

 

 

 

 

 

                                                                                                                                                       

      

 

标签:String,format,value,案例,Session,cookie,Cookie,name
From: https://www.cnblogs.com/x3449/p/17108188.html

相关文章