Web applications 面向公众的网站设计

Web applications 面向公众的网站设计,web-applications,playframework,Web Applications,Playframework,我正在使用PlayWebFramework 1.2.4 我的应用程序中有用户配置文件,希望向未登录的用户打开它 如果我的网站是 我想要htp://www.testsite.com/user1 要显示user1的配置文件,htp://www.testsite.com/user2 为所有用户显示user2的配置文件等。比如facebook是如何做到这一点的 你能建议什么是最好的方式做这件事,然后我如何让谷歌和其他搜索引擎索引的个人资料页面 url中上面的“htp”实际上是http。它不会让我提交问题

我正在使用PlayWebFramework 1.2.4

我的应用程序中有用户配置文件,希望向未登录的用户打开它

如果我的网站是

我想要htp://www.testsite.com/user1 要显示user1的配置文件,htp://www.testsite.com/user2 为所有用户显示user2的配置文件等。比如facebook是如何做到这一点的

你能建议什么是最好的方式做这件事,然后我如何让谷歌和其他搜索引擎索引的个人资料页面

url中上面的“htp”实际上是http。它不会让我提交问题,如果我有超过2个网址

谢谢,
Sawan

首先,当用户访问www.testsite.com/user1时,创建一个控制器方法,为您希望看到的站点提供服务。假设这是
Foo
controller中的
bar(字符串用户名)
方法。所以你有这样的想法:

public class Foo extends Controller {

    public static void bar(String username) {
        // Do something in here and render the response. I will just render a sample text here.
        renderText("Hello " + username + "!");
    }

}
现在你只需要设置路线。所以在routes文件中,放入如下内容:

GET     /{username}         Foo.bar(username)
请记住,路由文件中的路由顺序很重要,因此请确保此路由位于底部,以便在此路由之前定义类似于
/edit/{id}
的路由。否则play可能会将对
site.com/edit/123
的请求解析为调用
Foo.bar(“edit/123”)
,而不是调用一些
Foo2.edit(123)
方法,这在大多数情况下可能不是您想要的

当您尝试此操作并转到
http://localhost:9000/sawan
现在,这应该显示
你好,萨万。
添加适当的模型和代码,您现在可以在该页面上显示您想要的任何内容


至于谷歌索引,爬虫需要能够发现这些用户页面。您可以创建站点地图并将其添加到google()。要使其动态更新,您可能需要创建这些用户页面的索引,并使其可供google访问,例如通过网站地图或主页上的链接等。但我不是SEO专家,因此您最好自己搜索更多信息。

正是我需要的。我会玩好搜索引擎索引。谢谢