Web应用程序最多应该有多少状态?

Mah*_*oni 1 java servlets web-applications stateless

我听说网络应用程序应尽可能无状态.但在我看来,经常很难意识到这一点.例如,如果我:

  1. 处理请求
  2. 将用户重定向到起始页面
  3. 想要显示请求的结果?

如果结果有点复杂,那么只是一个可以作为参数传递的字符串(或者我不希望通过URL包含该信息),那么我就无法将2和3结合起来.

我能想到的唯一解决方案是将信息保存为Java程序中的状态.

但这会破坏状态网络应用程序的规则,不是吗?

hvg*_*des 6

我听说网络应用程序应尽可能无状态

什么? 有状态无处不在的网络应用程序,无论是在客户端和服务器上.像Sproutcore/Ember这样的框架甚至还有称为状态管理器的组件来管理,嗯,状态.

服务器在用户的会话中维护某些状态(通常).

您是否听说过HTTP是无状态的?这是另一个故事,完全正确.此外,由于线程问题,编写不共享状态的服务器端组件也是一个好主意.但这两点都不应被视为暗示您的申请没有州.