Java 参数管理完整的网站!

Java 参数管理完整的网站!,java,search,coldfusion,parameters,Java,Search,Coldfusion,Parameters,在我的网站的起始页上,我有一个搜索掩码,用户可以在其中设置并选择不同的搜索条件。如果用户没有,则将为搜索参数设置默认值 通过点击搜索按钮,用户将进入预览页面,在该页面中,用户可以再次优化其搜索参数。而且可以有许多不同类型的预览页面。例如,如果用户在中搜索 “汽车”类别,则预览页为“其他”,搜索掩码将为“其他”,因为已在“摩托车”类别中搜索 但是,对于所有类型的产品,详细信息页面都是单一的 现在我想编写一个组件,它可以保存起始页的搜索选项和所有不同类型的概述页面 我还想跟踪我在细节页面上登陆的预览

在我的网站的起始页上,我有一个搜索掩码,用户可以在其中设置并选择不同的搜索条件。如果用户没有,则将为搜索参数设置默认值

通过点击搜索按钮,用户将进入预览页面,在该页面中,用户可以再次优化其搜索参数。而且可以有许多不同类型的预览页面。例如,如果用户在中搜索 “汽车”类别,则预览页为“其他”,搜索掩码将为“其他”,因为已在“摩托车”类别中搜索

但是,对于所有类型的产品,详细信息页面都是单一的

现在我想编写一个组件,它可以保存起始页的搜索选项和所有不同类型的概述页面

我还想跟踪我在细节页面上登陆的预览页面的信息,当用户从细节页面返回到预览页面时,我将加载用户已经优化的值所需的掩码

解决此问题的最佳实践是什么?是否有任何设计模式可用于此类问题


非常感谢。

一般来说,您描述的特定问题没有设计模式。根据您想要对其建模的方式,您可以实现诸如和/或之类的模式。其中每一项都提供了封装状态(例如,什么类型的预览和标准)和一些相关行为的工具

使用不同的ColdFusion变量范围跟踪搜索条件的三个选项:

  • 会议
  • 饼干
  • 客户
  • 这是通过cookie链接到给定用户的服务器内存,开发人员可以将信息放入其中。它被设计为在一段时间不活动后过期,ColdFusion通过
    Application.cfc
    提供了初始化和过期期间的事件处理。如果决定将有状态对象附加到每个用户,则此选项非常有用。缺点是,如果将大量信息放在那里和/或使用长寿命会话,您可能会耗尽内存

    曲奇 设置客户端cookies。可以轻松捕获简单数据。无法捕获对象-您需要序列化和反序列化它们的状态。由于服务器只跟踪cookie,因此可以很好地扩展。容易被黑客攻击

    从持久性中读取和写入与用户会话关联的数据。默认情况下,这是Windows上的注册表-不要使用它,因为如果注册表损坏,它可能会使服务器崩溃,并带来可怕的后果。而是访问管理员并将其设置为使用数据库。当您希望在用户在站点上移动时跟踪有关用户的大量信息,但仅限于扩展和备份数据库时,此功能非常有用。需要使用cookie作用域序列化数据