首先回答為什么分別是response和request這兩個內置對象。
你得先明白你通過獲取對象是做什么用的,是往哪用的。
第一個PrintWriter out=response.getWriter()
是想獲得一個輸出流,用來響應客戶端發出的請求。所以想響應客戶端必須用response
第二個HttpSession session=request.getSession()
是從客戶端獲得一個session的對象,這個對象包含客戶端持有的相關信息用來區別每個客戶端.既然是從客戶端就必須用請求對象來獲取,因為一般都是客戶端向服務器端發出的一個請求.所以用request對象。
Cookie和session這個得分開來說
兩個都可以用來存私密的東西,同樣也都有有效期的說法。
區別在於。
session是放在服務器上的,過期與否取決於服務期的設定,cookie是存在客戶端的,過去與否可以在cookie生成的時候設置進去。
1、cookie數據存放在客戶的瀏覽器上,
session數據放在服務器上
2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙
考慮到安全應當使用session
3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能
考慮到減輕服務器性能方面,應當使用COOKIE
4、單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能3K。
5、所以個人建議:
將登陸信息等重要信息存放為SESSION
其他信息如果需要保留,可以放在COOKIE中