Servlet會話技術基礎解析
一、cookie
1、設置cookie,內容為時間
Cookie cookie = new Cookie("LastAccessTime",System.currentTimeMillis()+"");
cookie.setMaxAge(1*30*24*3600);//設置有效期1個月
cookie.setPath("/項目名稱");//訪問整個項目都帶cookie
2、獲得cookie信息
Cookie cookies[] = request.getCookies();
for(int i = 0;cookie!=null&&i<cookies.length;i++){
if(cookies[i].getName().equals("LastAccessTime")){
long cookieValues = Long.parseLong(cookies[i].getVlues());//將String轉化為10進制Long型
Date date = new Date(cookieValues);
response.getWrite().print(date);
}
}
二、session(getSession()——>session30分鐘未使用)
1、設置session
HttpSession session = request.getSession();
session.setAttribute("name","哈哈哈哈");
2、得到session
HttpSession session = request.getSession();
//HttpSession session = request.getSession(false);//只獲取不創(chuàng)建
String str = (String)session.getAttribute("name");
3、session配置,配置時間
<seeeion-config> <session-timeout>20</session-timeout> </session-config>
4、session摧毀
HttpSession session = request.getSession();
session.invalidate();
//session.removeAttribute("XXX");//移除某個session
5、使用地址重寫方式獲得session,只有在cookie禁用下會重寫
request.getSession();
String url1 = response.encodingURL("需要重寫的地址1");
String url2 = response.encodingURL("需要重寫的地址2");
PrintWriter out = response.getWriter;
out.print("<a href = '"+url1+"'>XXXX</a>");
out.print("<a href = '"+url2+"'>YYYY</a>");
三、客戶端表單提交問題
1、防止提交空密碼
<form action="/項目/xxx" method ="post" onsubmit="return dosubmit(this)">
用戶名:<input type="text" name="username"><br/>
密碼:<input type="password" name = "password"><br/>
<input type="submit" value="提交">
</form>
<script>
function dosubmit(obj){
if(obj.category.value==''){
alter("請輸入");
return false;
}
}
</script>
2、防止重復提交
<form action="/項目/xxx" method ="post" onsubmit="return dosubmit()">
用戶名:<input type="text" name="username"><br/>
密碼:<input type="password" name = "password"><br/>
<input type="submit" value="提交">
</form>
<script>
function dosubmit(){
var iscommitted = false;
if(!iscommitted){
iscommitted = true;
return true;
}else{
return false;
}
}
</script>
總結
以上就是本文關于Servlet會話技術基礎解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關文章
springboot使用log4j2異步日志提升性能的實現方式
這篇文章主要介紹了springboot使用log4j2異步日志提升性能,異步日志實現方式:將日志存入一個單獨的隊列中,有一個單獨的線程從隊列中獲取日志并寫入磁盤文件,需要的朋友可以參考下2022-05-05
SpringBoot集成Flyway進行數據庫版本遷移管理的步驟
這篇文章主要介紹了SpringBoot集成Flyway進行數據庫版本遷移管理的步驟,幫助大家更好的理解和學習使用SpringBoot框架,感興趣的朋友可以了解下2021-03-03
SpringBoot+Mybatis plus實現多數據源整合的實踐
本文主要介紹了SpringBoot+Mybatis plus實現多數據源整合的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10
Spring Boot 中的自動配置autoconfigure詳解
這篇文章主要介紹了Spring Boot 中的自動配置autoconfigure詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
使用dubbo+zookeeper+spring boot構建服務的方法詳解
這篇文章主要給大家介紹了關于如何使用dubbo+zookeeper+spring boot構建服務的相關資料,文中通過示例代碼及圖片介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧2018-05-05

