如何在Web应用程序中维护状态 - 因为HTTP是无状态的

时间:2009-11-04 17:49:40

标签: user-interface web-applications grails web

我是构建网络应用程序的新手,刚刚开始学习和设置Grails。我计划构建一个流量为4到5页的应用程序。由于HTTP是无状态协议,因此页面之间的状态通常如何维护。我很好奇这里接受的标准是什么,我应该创建会话范围的对象并在页面之间使用它们还是继续在页面之间传递值(如果我在页面上有大量项目,则不确定它是否有效)。或者,如果我只使用一个具有多个div的页面并根据用户点击显示/隐藏,而不是使用4到5页? 我认为在Grails中使用域对象会有所帮助,但我没有一个支持UI的数据库,只有一些web服务可以执行UI操作,所以我不能使用域对象。 Grails特定的解决方案会很好,但也想知道在Web开发中如何处理这个问题。

2 个答案:

答案 0 :(得分:7)

不使用数据库,您可以使用以下几个选项:

  1. 使用POST / GET变量将信息从一页传递到另一页。
  2. 使用会话存储信息。
  3. 使用Cookie存储信息。
  4. 如果您只有一个页面与另一个页面“交谈”(例如提交表单),则使用POST / GET通常是最佳选择。如果您有一堆将由多个页面共享的数据,那么最好的方法就是将它们放入会话中。如果您需要在用户离开您的网站并在稍后返回后继续使用这些值,那么您可能需要使用Cookie。

答案 1 :(得分:1)

您可能希望在Grails中查看WebFlow(Spring WebFlow)。我觉得它在向导或购物车中很有用,比如你想要在一组页面之间保持数据的应用程序(即:Page 1,Page 2 ... Page 4)然后最后在某处提交数据等

相关问题