路徑URL問題

來源:互聯網
上載者:User

標籤:jsp   路徑   方法   定義   標識   lang   div   跟蹤   組件   

 1. Java Servlet API 中引用 Session 機制來追蹤客戶的狀態。Servlet API 中定義了 javax.servlet.http.HttpSession 介面,Servlet 容器必須實現這個介面。2.當一個 Session 開始時,Servlet 容器將建立一個 HttpSession 對象,Servlet 容器為 HttpSession 分配一個唯一識別碼,稱為 Session ID。Servlet 容器將 Session ID 作為 Cookie 儲存在客戶的瀏覽器中。每次客戶發出 HTTP 要求時,Servlet 容器可以從 HttpRequest 對象中讀取 Session ID,然後根據 Session ID 找到相應的 HttpSession 對象,從而擷取客戶的狀態資訊。3.當用戶端瀏覽器中禁止 Cookie,Servlet 容器無法從用戶端瀏覽器中取得作為 Cookie 的 Session ID,也就無法跟蹤客戶狀態。  Java Servlet API 中提出了跟蹤 Session 的另一種機制,如果用戶端瀏覽器不支援 Cookie,Servlet 容器可以重寫客戶請求的 URL,把 Session ID 添加到 URL 資訊中。  4. HttpServletResponse 介面提供了重寫 URL 的方法:public java.lang.String encodeURL(java.lang.String url)  

該方法的實現機製為:   
● 先判斷當前的 Web 元件是否啟用 Session,如果沒有啟用 Session,直接返回參數 url。   
● 再判斷用戶端瀏覽器是否支援 Cookie,如果支援 Cookie,直接返回參數 url;如果不支援 Cookie,就在參數 url 中加入 Session ID 資訊,然後返回修改後的 url。   

我們可以對網頁中的連結稍作修改,解決以上問題:

修改前:

<a href=“maillogin.jsp“>   
修改後:  

<a href=“<%=response.encodeURL(“maillogin.jsp“)%>“>    

路徑URL問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.