2013-06-27 77 views
-3

我有一個簡單的用SpringMVC V3.2.2控制器,執行以下操作:會用SpringMVC managament

@RequestMapping(value = { "/login" }, method = RequestMethod.GET) 
    public String login(WebRequest request) { 
     request.setAttribute("myattr", "myvalue", SCOPE_SESSION); 
} 

我使用WebRequest對象,以保存屬性在會話範圍。 SCOPE_SESSION是一個整數,指出我想在會話範圍中使用它。 API的更多信息在這裏: WebRequest API

我認爲這意味着我添加了一些屬性,將保存在會話範圍內。我假設會話會在服務器重新啓動時被刪除,在我的測試中,因爲我不想在本地保留任何會話。除非某些默認配置保持它持久。

由於某些原因,即使在tomcat重新啓動(我使用Tomcat V7,默認配置)之後,會話也不會被刪除,這意味着它由於某種原因而被保留。試圖找到更多的文件解釋如何禁用它,但不能。

我失蹤了什麼?如果該屬性保存在會話作用域中,如API所示,如果我重新啓動Tomcat服務器,它是否應該被刪除?

在此先感謝, Elad。 我編輯了原來的問題,但問題並不那麼清楚。抱歉。

+0

這是什麼類型的請求對象? – acdcjunior

+1

你的問題有點混亂。你在談論使用請求屬性,然後抱怨會議永遠不會結束......你究竟在哪裏與會話進行交互? –

回答

0

問題解決了。我完全錯過了會話​​管理由Tomcat控制。 解決方案是編輯Tomcat 7 context.xml配置文件並確保其具有以下元素:

這會禁用會話持久性。沒有真正認爲這是默認情況下的工作方式。不管怎樣,謝謝你。