2010-07-26 39 views
1

忍受我,所以我可以解釋我的問題的佈局。我正在致力於一個涉及客戶搜索房地產信息的網站/ Web應用程序。網站上的一項功能涉及客戶在一頁上執行搜索(請撥打頁面A),接下來的頁面(頁面B)會返回代表房產信息(代理商,住宅等)的訂單項列表)。設計/實現問題 - Java/JSP/Servlets

繼客戶能夠查看該列表信息後,他們可以選擇「查看配置文件」查看房地產信息的這些行項目之一。然後這將使他們進入一個頁面查看所選信息的配置文件(Page C)。

我遇到的問題是設計/實現此功能的規範之一。要求規定,一旦客戶已經進入Page B他們正在查看信息。如果他們不選擇去Page C那麼需要發送一封電子郵件。他們可以根據需要多次在AB之間來回切換,但如果他們未能選擇進入下一步,則需要發送電子郵件。

我很抱歉,如果這是一個不好的描述,但我很遺憾無法給出更詳細的問題描述。我希望我能夠很好地解釋這一點,以便理解。

回答

1
  • 爲每個http會話維護一個狀態。有3個會話狀態 - '已訪問A','已訪問B''已訪問C'。用戶登陸PageA時的開始狀態是'已訪問A'。一旦用戶移動到PageB,將狀態更改爲'VisitedB'並且一旦用戶移動到PageC,將狀態更改爲'VisitedC'
  • 通過記錄 GET,POST或網站上其他 事件的時間戳,爲每個http會話維護上次活動的時間爲 。
  • 不活動的閾值持續時間決定 ,說「ThresholdTime」, 之後,用戶將 視爲放棄該網站。例如,如果'ThresholdTime'爲30分鐘,則如果http會話的上次活動時間超過30分鐘,則相關用戶將被視爲已放棄該站點。
  • 使用調度程序API例如Quartz 和安排的作業,將着眼於存儲數據 所有HTTP會話,並找出其 活動的週期是會話大於 「ThresholdTime」,其狀態是「VisitedB」。然後它會將電子郵件發送給與這些http會話相關聯的用戶。

請注意,您需要維護每個http會話的上次活動和狀態的時間。您將不得不尋找合適的地方來存儲這些數據,例如在HttpSession表中。