Servlet之Session處理,servletsession

來源:互聯網
上載者:User

Servlet之Session處理,servletsession

HttpSession 對象中可用的幾個重要的方法:

 

1    public Object getAttribute(String name)

該方法返回在該 session 會話中具有指定名稱的對象,如果沒有指定名稱的對象,則返回 null。

2    public Enumeration getAttributeNames()

該方法返回 String 對象的枚舉,String 對象包含所有綁定到該session 會話的對象的名稱。

3    public long getCreationTime()

該方法返回該 session 會話被建立的時間,自格林尼治標準時間 1970 年 1 月 1 日午夜算起,以毫秒為單位。

4    public String getId()

該方法返回一個包含分配給該 session會話的唯一識別碼的字串。

5    public long getLastAccessedTime()

該方法返回用戶端最後一次發送與該session 會話相關的請求的時間自格林尼治標準時間 1970 年 1 月 1 日午夜算起,以毫秒為單位。

6    public int getMaxInactiveInterval()

該方法返回 Servlet 容器在用戶端訪問時保持session 會話開啟的最大時間間隔,以秒為單位。

7    public void invalidate()

該方法指示該 session 會話無效,並解除綁定到它上面的任何對象。

8    public boolean isNew(

如果用戶端還不知道該 session 會話,或者如果客戶選擇不參入該 session 會話,則該方法返回 true。

9    public void removeAttribute(String name)

該方法將從該 session 會話移除指定名稱的對象。

10  public void setAttribute(String name, Object value)

該方法使用指定的名稱綁定一個對象到該session 會話。

11  public void setMaxInactiveInterval(int interval)

該方法在 Servlet 容器指示該 session會話無效之前,指定用戶端請求之間的時間,以秒為單位。

 

Tomcat中Session的預設逾時時間為20分鐘,可以在web.xml中配置

<session-config>      <session-timeout>60</session-timeout>  <!-- 以分鐘為單位--></session-config>
 

用request.getSession(booleancreate)擷取Session時,如果該客戶的Session不存在,會先建立一個Session再返回

注意,只有訪問Servlet、JSP等程式時才會建立Session,只訪問HTML等靜態資源時並不會建立

Session還可以儲存java bea乃至任何java類和對象

URL地址修正

URL地址修正是對用戶端不支援Cookie的解決方案

URL地址修正的原理是將該使用者Session的id資訊重寫到URL地址中,伺服器能夠解析重寫後的URL擷取Session的id,這樣即使用戶端不支援Cookie,也可以使用Session來記錄使用者狀態

HttpServletResponse類提供了encodeURL(Stringurl)實現URL地址修正

<a href=”<%=response.endodeURL(“index.jsp?wd=java”)%>”>

該方法會自動判斷用戶端是否支援Cookie,如果不支援,則會將使用者Session的id重寫到URL中,重寫後的輸出類似於

<a href=”<%= response.endodeURL(“index.jsp;jsessionid=0CCD096E7F8A123E345EF77?wd=java”)%>”>


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.