首页 > 其他分享 >JSP案列_改造Cookie案例

JSP案列_改造Cookie案例

时间:2023-01-30 13:44:37浏览次数:42  
标签:cookie 案列 value System println Cookie str date JSP

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

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

                //先获取前一次访问的cookie的value值
                //响应数据
                //获取cookie的value值,时间
                String value = cookie.getValue();

                System.out.println("解码前:" + value);
                //URL解码
                value = URLDecoder.decode(value, "utf-8");
                System.out.println("解码后:" + value);
%>
<%--out.write("<h1>欢迎回来,你上次访问时间为:" + value + "</h1>");--%>
<%-- 阶段代码片面段 --%>
<h1>欢迎回来,你上次访问时间为::<%= value%> </h1>
<form action="#" method="post">
    <table   border="1" width="250">
        <tr>
            <td><label for="username">用户名</label></td>
            <td><input type="text" name="username" id="username" ></td>
        </tr>

        <tr>
            <td><label for="password">密码</label></td>
            <td><input type="text" name="username" id="password" ></td>
        </tr>

        <tr>
            <td colspan="2" align="center"><input type="submit" name="登录" value="登录"></td>
        </tr>
    </table>
</form>
<%

                //再设置cookie的value值
                //获取当前时间的字符串,重新设置cookie的值,重新发送cookie
                Date date = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                String str_date = sdf.format(date); //解析时间格式

                System.out.println("编码前:" + str_date);
                //URL编码
                str_date = URLEncoder.encode(str_date, "utf-8");
                System.out.println("编码后:" + str_date);

                cookie.setValue(str_date);
                //设置cookie的存活时间;
                cookie.setMaxAge(60 * 60 * 24 * 30); //一个月
                response.addCookie(cookie);



                break;
            }


        }
    }
    if (cookies == null || cookies.length == 0 || flag == false) {
        //没有lastTime 表示第一次访问


        //设置cookie的value值
        //获取当前时间的字符串,重新设置cookie的值,重新发送cookie
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String str_date = sdf.format(date); //解析时间格式

        System.out.println("编码前:" + str_date);
        //URL编码
        str_date = URLEncoder.encode(str_date, "utf-8");
        System.out.println("编码后:" + str_date);

        Cookie cookie = new Cookie("lastTime", str_date);
        cookie.setValue(str_date);
        //设置cookie的存活时间;
        cookie.setMaxAge(60 * 60 * 24 * 30); //一个月

        response.addCookie(cookie);
%>

<%-- out.write("<h1>您好,欢迎您是首次访问 </h1>");--%>
<%-- 在这里使用html标签可以 新的JSP写法 ——截断  --%>
<h1>您好,欢迎您是首次访问 </h1>
<span></span>
<%
    }

%>

</body>
</html>

 

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

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

//先获取前一次访问的cookie的value值
//响应数据
//获取cookie的value值,时间
String value = cookie.getValue();

System.out.println("解码前:" + value);
//URL解码
value = URLDecoder.decode(value, "utf-8");
System.out.println("解码后:" + value);
%>
<%--out.write("<h1>欢迎回来,你上次访问时间为:" + value + "</h1>");--%>
<%-- 阶段代码片面段 --%>
<h1>欢迎回来,你上次访问时间为::<%= value%></h1>
<form action="#" method="post">
<table border="1" width="250">
<tr>
<td><label for="username">用户名</label></td>
<td><input type="text" name="username" id="username" ></td>
</tr>

<tr>
<td><label for="password">密码</label></td>
<td><input type="text" name="username" id="password" ></td>
</tr>

<tr>
<td colspan="2" align="center"><input type="submit" name="登录" value="登录"></td>
</tr>
</table>
</form>
<%

//再设置cookie的value值
//获取当前时间的字符串,重新设置cookie的值,重新发送cookie
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = sdf.format(date); //解析时间格式

System.out.println("编码前:" + str_date);
//URL编码
str_date = URLEncoder.encode(str_date, "utf-8");
System.out.println("编码后:" + str_date);

cookie.setValue(str_date);
//设置cookie的存活时间;
cookie.setMaxAge(60 * 60 * 24 * 30); //一个月
response.addCookie(cookie);



break;
}


}
}
if (cookies == null || cookies.length == 0 || flag == false) {
//没有lastTime 表示第一次访问


//设置cookie的value值
//获取当前时间的字符串,重新设置cookie的值,重新发送cookie
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = sdf.format(date); //解析时间格式

System.out.println("编码前:" + str_date);
//URL编码
str_date = URLEncoder.encode(str_date, "utf-8");
System.out.println("编码后:" + str_date);

Cookie cookie = new Cookie("lastTime", str_date);
cookie.setValue(str_date);
//设置cookie的存活时间;
cookie.setMaxAge(60 * 60 * 24 * 30); //一个月

response.addCookie(cookie);
%>

<%-- out.write("<h1>您好,欢迎您是首次访问 </h1>");--%>
<%-- 在这里使用html标签可以 新的JSP写法 ——截断 --%>
<h1>您好,欢迎您是首次访问 </h1>
<span></span>
<%
}

%>

</body>
</html>

标签:cookie,案列,value,System,println,Cookie,str,date,JSP
From: https://www.cnblogs.com/xuche/p/17075640.html

相关文章

  • JSP脚本和JSP入门学习
    JSP的脚本:JSP定义java代码的方式1.<%代码%>:定义的java代码,在service方法中。Service方法可以定义什么,该脚本中就可以定义什么。2.<%!代码%>:定义的java代......
  • cookie的简单介绍
    什么是CookieCookie是存储在用户浏览器中的一段不超过4KB的字符串。它由一个名称(Name)、一个值(Vaue)和其它几个用于控制Cookie有效期、安全性、使用范围的可选......
  • CookieUtil
    constCookieUtil={get(name){letcookieName=`${encodeURIComponent(name)}=`letcookieStart=document.cookie.indexOf(cookieName)......
  • 登录案列 需求 分析
    登录案列需求1编写登录页面用户名和密码两个输入框2使用Druid数据库连接池技术,操作mysql数据库中的用户表3使用JdbcTemplate技术封装JDBC4登录成功......
  • Servlet和JSP之间的区别
    Servlet和JSP之间的区别简单来说,Servlet是Java中的Html,JSP是Html中的Java。JSP和Servlet的主要目的是相同的,但是两者还是有些重要的区别。 1、Servlet和JSP之间的区别......
  • 微信小程序与微信内置浏览器共享cookie
    遇到奇怪现象:用户系统身份保存在cookie中,用户通过微信授权登录可以绑定(或注册)系统身份和微信小程序身份(openid)但是用户在未经微信授权登录的情况下却获取到了用户......
  • JSP概念和JSP原理
    JSP概念1.概念:Java Server Pages:java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写JS......
  • 互联网大厂(字节、华为)Java EE面试题:Servlet/JSP 部分解析+答案,最强八股文
    文章目录​​1.请列举至少6种javaEE技术,并简述其作用。​​​​解析:​​​​参考答案:​​​​2.在web.xml文件中配置Servlet时,主要配置哪些信息?​​​​解析:​​​​参考答......
  • cookie和session的区别
    <转>cookie和session的区别 看到一篇讲cookie和session的文章,觉得蛮不错的,转载分享下。。。原地址:http://www.lai18.com/content/407204.html?from=cancel  ......
  • cookie、session、localStorage、sessionStorage区别
    cookie和session参与服务器通信,而localStorage和sessionStorage不参与服务器通信。cookie和session的区别数据存储位置有区别:cookie保存在浏览器端,session保存在服务器......