日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

JavaEE学习笔记之Servlet

發布時間:2023/11/28 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaEE学习笔记之Servlet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

同一用戶的不同頁面的共享數據

1.1 cookie技術

1.2 sendRedirect()轉向

1.3 隱藏表單

1.4 session技術


###session技術:

當用戶打開瀏覽器,訪問某個網站是服務器就在服務器內存中外該瀏覽器分配一個空間,該空間被這個瀏覽器獨占

 //得到sessionHttpSession hs = request.getSession(true);//向session中添加屬性hs.setAttrubute(String name, Object obj);//從session得到某個屬性String name = hs.getAttribute(String name);//從session刪除某個屬性hs.removeAttribute(String name);
  1. session中屬性存在的默認時間是30分鐘(間隔時間,即所謂的發呆時間),你也可以在web.xml中修改(tomcat中的web.xml文件),或者是在程序中修改
  2. 當某個瀏覽器訪問網站時,服務器會給瀏覽器分配一個唯一的session id并以此來區分不同的瀏覽器
  3. 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;
elsepageCount = 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保存在服務器端,不需要傳輸

總結

以上是生活随笔為你收集整理的JavaEE学习笔记之Servlet的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。