1. 程式人生 > 其它 >JSP-入門學習、案例-改造Cookie案例

JSP-入門學習、案例-改造Cookie案例

JSP-入門學習

  4. JSP的內建物件:

    在jsp頁面中不需要獲取和建立,可以直接使用的物件

    jsp一共有9個內建物件。

    今天學習3個:

      request

      response

      out:字元輸出流物件。可以將資料輸出到頁面上。和response.getWriter()類似

        response.getWriter()和out.write()的區別:

          在tomcat伺服器真正給客戶端做出響應之前,會先找response緩衝區資料,再找out緩衝區資料。

          response.getWriter()資料輸出永遠在out.write()之前

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>itcast</title>
</head>
<body>

<%

    //
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 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); //響應資料 //獲取Cookie的value,時間 String value = cookie.getValue(); System.out.println("解碼前:"+value); //URL解碼: 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 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的存活時間 cookie.setMaxAge(60 * 60 * 24 * 30);//一個月 response.addCookie(cookie); %> <h1>您好,歡迎您首次訪問</h1> <span></span> <% } %> <input> </body> </html>