代码之家  ›  专栏  ›  技术社区  ›  Matthew Stopa

有没有网站的路由模式?

  •  0
  • Matthew Stopa  · 技术社区  · 15 年前

    我查这个的时候没有找到任何关于搜索的信息。我已经做了很多关于设计模式的研究,但是我还没有看到路由方面的任何东西。我的意思是:回到我的PHP时代,我会在一个页面上编写代码,然后将其传递给下一个页面。这就创建了(虽然当时我还不知道)紧密耦合的代码,在这种情况下,更改路由需要我混乱地浏览一长串页面。

    我想知道是否有任何特定的模式或模式类处理将表单数据发送回一个中心对象并让它调用下一个表单。例如,我将返回routing.php而不是signuppage2.php。然后routing.php将数据传递到signuppage2.php。

    我知道这是php-cake和ror要做的,但是我特别想知道是否有一个模式可以实现这一点。这似乎不仅仅是MVC,我不在乎,但我可能错了。

    谢谢!

    编辑,有人对这些类型的模式有什么书的推荐吗?谢谢

    3 回复  |  直到 15 年前
        1
  •  1
  •   John Farrell    15 年前

    发布/获取/响应

    http://en.wikipedia.org/wiki/Post/Redirect/Get

    引用:

    当通过HTTP POST请求将Web表单提交到服务器时,尝试在某些用户代理中刷新服务器响应的Web用户可能会导致重新提交原始HTTP POST请求的内容,可能导致不需要的结果,例如重复的Web购买。

    为了避免这个问题,许多Web开发人员使用prg模式,而不是直接返回网页,post操作返回重定向命令(使用HTTP 303响应代码[有时302]和HTTP“location”响应头),指示浏览器使用HTTP GET请求加载不同的网页。然后,Web用户可以安全地刷新服务器响应,而不会导致重新提交初始HTTP POST请求。

        2
  •  1
  •   djna    15 年前

    您有页面(视图),它也决定路由(控制)。在最简单的层次上,我们将控制逻辑拉出来,将视图与控制分开——因此,模型视图控制器在Web应用程序中的流行。

    下一步是使用某种形式的调度表来实现控制器——在Java世界中,使用Struts和JSF之类的框架来完成。

        3
  •  0
  •   Tom Duckering Sorin Antohi    15 年前

    这听起来像ApacheStruts,您可以根据操作的结果指定转换。

    必须承认我不知道模式名叫什么。