2010-07-26 63 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表中。