javascript
JSP的概念||原理||JSP的脚本||JSP的内置对象||response.getWriter()和out.write()的区别||案例:改造Cookie案例
1. 概念
* Java Server Pages: java服務器端頁面
?? ??? ?* 可以理解為:一個特殊的頁面,其中既可以指定定義html標簽,又可以定義java代碼
?? ??? ?* 用于簡化書寫!!!
2. 原理
?* JSP本質上就是一個Servlet
3. JSP的腳本:JSP定義Java代碼的方式
? ? 1. <% ?代碼 %>:定義的java代碼,在service方法中。service方法中可以定義什么,該腳本中就可以定義什么。
?? ?2. <%! 代碼 %>:定義的java代碼,在jsp轉換后的java類的成員位置。
?? ?3. <%= 代碼 %>:定義的java代碼,會輸出到頁面上。輸出語句中可以定義什么,該腳本中就可以定義什么。
JSP的內置對象
* 在jsp頁面中不需要獲取和創建,可以直接使用的對象
?? ?* jsp一共有9個內置對象
?? ??? ?* request
?? ??? ?* response
?? ??? ?* out:字符輸出流對象。可以將數據輸出到頁面上。和response.getWriter()類似
response.getWriter()和out.write()的區別:
? ? ? ? ? ?* 在tomcat服務器真正給客戶端做出響應之前,會先找response緩沖區數據,再找out緩沖區數據。
?? ?? ? ? ?* response.getWriter()數據輸出永遠在out.write()之前
<%@ 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.獲取所有CookieCookie[] 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,時間String value = cookie.getValue();System.out.println("解碼前:"+value);//URL解碼:value = URLDecoder.decode(value,"utf-8");System.out.println("解碼后:"+value); %> <h1>歡迎回來,您上次訪問時間為:<%=value%></h1> <%//設置Cookie的value//獲取當前時間的字符串,重新設置Cookie的值,重新發送cookieDate 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); %><input><%break;}}}if(cookies == null || cookies.length == 0 || flag == false){//沒有,第一次訪問//設置Cookie的value//獲取當前時間的字符串,重新設置Cookie的值,重新發送cookieDate 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>
總結
以上是生活随笔為你收集整理的JSP的概念||原理||JSP的脚本||JSP的内置对象||response.getWriter()和out.write()的区别||案例:改造Cookie案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cookie的特点和作用|| 案例:记
- 下一篇: 三层架构:软件设计架构