同一用戶的不同頁面的共享數據
1.1 cookie技術
1.2 sendRedirect()轉向
1.3 隱藏表單
1.4 session技術
session技術:
當用戶打開瀏覽器,訪問某個網站是服務器就在服務器內存中外該瀏覽器分配一個空間,該空間被這個瀏覽器獨佔
//得到session
HttpSession hs = request.getSession(true);
//向session中添加屬性
hs.setAttrubute(String name, Object obj);
//從session得到某個屬性
String name = hs.getAttribute(String name);
//從session刪除某個屬性
hs.removeAttribute(String name);
- session中屬性存在的默認時間是30分鐘(間隔時間,即所謂的發呆時間),你也可以在web.xml中修改(tomcat中的web.xml文件),或者是在程序中修改
- 當某個瀏覽器訪問網站時,服務器會給瀏覽器分配一個唯一的session id並以此來區分不同的瀏覽器
- session的各個屬性都會吃服務器的內存的
sendRedirect()轉向
引用塊內容
隱藏表單
<input type = "hidden" name="sex" value="1" />
servlet中顯示圖片
//在項目目錄下放圖片
PrintWriter out = response.getWriter();
out.println("<img src='???' >);"
Servlet操作數據庫
特別要注意sql注入漏洞
select * from member where name='admin' and password='admin' or 1='1';
這樣查出來的就是數據庫中所有的信息在寫登錄驗證時,使用jdbc連接數據庫,查詢語句如果是使用的sql語言拼接的方式,在輸入框中輸入 aaa’ or 1=’1’ 時,就會跳過登錄界面
分頁技術
首先需要定義四個變量
int pageSize //每頁顯示多少條記錄
int pageNow //希望顯示第幾頁
int pageCount //一共有多少頁
int rowCount //一共有多少條記錄
說明:
pageSize // 是程序員設定
pageNow //用戶選擇
rowCount //是從表中查詢得到的
pageCount //計算出來的`
if(rowCount % pageSize == 0)
pageCount = rowCount%pageSize;
else
pageCount = rowCount%pageSize + 1;
實際利用數據庫查詢的操作實現分頁
//分頁數據庫查詢核心代碼
select top ? * form table where id not in (select top ? id from table)
//第一個問號的值是每頁顯示的條數,第二個問號的值是 (希望顯示頁數-1)的值
//利用頁面的跳轉,每跳轉一次就執行一次查詢語句,顯示當前查詢的內容
cookie技術
cookie是在服務端生成,然後寫回到客戶端
cookie類似於Java中的Map集合(鍵值對),其名字就是Map的鍵,其值就是Map的值
cookie的名字和值的類型都是String類型
創建cookie
//在服務器端創建一個cookie
Cookie cookie = new Cookie("name", name);
//該cookie的生存時間, 計時爲 秒
//如果不設置生存時間,該cookie是不會被保存的
cookie.setMaxAge(30);
//將該cookie寫回到客戶端,通過response對象來完成
response.addCookie(cookie);
在客戶端讀取cookie
//從客戶端得到所有的cookie信息
Cookie[] allCookie = req.getCookie();
int i=0;
if(allCookie!=null){
//遍歷該Cookie數組
for(i=0; i<allCookie.length;i++){
//依次取出
Cookie temp = allCookie[i];
//判斷是否是需要的Cookie(通過cookie名稱來識別)
if(temp.getName().equals("name")){
//取出該cookie的值
String val = temp.getValue();
}
}
}
cookie和session的比較
- cookie保存在客戶端,session保存在服務器端
- cookie的安全性比session要弱
- cookie通過網絡在客戶端與服務器端傳輸,而session保存在服務器端,不需要傳輸
- 加粗
Ctrl + B
- 斜體
Ctrl + I
- 引用
Ctrl + Q
- 插入鏈接
Ctrl + L
- 插入代碼
Ctrl + K
- 插入圖片
Ctrl + G
- 提升標題
Ctrl + H
- 有序列表
Ctrl + O
- 無序列表
Ctrl + U
- 橫線
Ctrl + R
- 撤銷
Ctrl + Z
- 重做
Ctrl + Y
可以使用冒號來定義對齊方式:
項目 | 價格 | 數量 |
---|---|---|
Computer | 1600 元 | 5 |
Phone | 12 元 | 12 |
Pipe | 1 元 | 234 |