原理:web
Session實現有兩種方式:瀏覽器
一、使用Cookie來跟蹤session:Session經過SessionID來區分不一樣的客戶,session是以Cookie或RL重寫爲基礎的,默認使用Cookie來實現,系統會建立一個名爲JESSIONID的輸出cookie,這稱之爲session cookie,seesion cookie存儲於瀏覽器的內存中,並非寫在硬盤上,一般看不到JSESSIONID。cookie
二、URL重寫:response.encodeURL 或response.encodeRedirectURLsession
絕對路徑問題:app
一、開發時建議編寫「絕對路徑」,寫絕對路徑確定沒有問題,但寫相對路徑可能會有問題。spa
在由Servlet轉發到JSP頁面時,由此瀏覽器地址欄上顯示的是Servlet的路徑,而若JSP頁面的超連接仍是相對於該JSP頁面的地址,則可能出現路徑混亂的問題。code
而用絕對路徑能夠避免上訴問題:xml
①、什麼是絕對路徑內存
相對於當前WEB應用的根路徑的路徑。即任何的路徑都必須帶上contextPath。開發
②、如何編寫?
若「/」表明是站點的根目錄,則在其前面加上contextPath就能夠了,能夠有request.getContextPath()或application.getContextPath()獲取
2、JaveWeb中的「/」:
①、當前WEB應用的根路徑:http://localhost:8080/contextPath/(兩種狀況下表明是WEB應用的根路徑)
>請求轉發時:request.getRequestDispatcher().forward(request,response);
>web.xml文件中映射servlet訪問路徑:
②、WEB站點的根路徑:http://localhost:8080/(三種狀況下表明web站點的根路徑)
>超連接:< a href="/testServlet"></a>
>表單中的action
>請求重定向的時候
總結:若「/」須要交由Servlet容器處理,表明WEB應用根路徑,若交由瀏覽器處理,則表明站點根目錄。