JSP-入門學習、案例-改造Cookie案例
阿新 • • 發佈:2022-12-03
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.判斷名稱是否是:lastTimeif("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>