如何制作像mywebsite.com/movie_title而不是mywebsitecom/movie这样的自定义URL



我正在使用java和谷歌应用程序引擎构建一个网站。我需要创建类似www.mywebsite.com/the_dark_knight_rises 的URL

当用户访问该url时,从我的数据库(mysql)中提取关于电影《黑暗骑士崛起》的信息,并显示

我的问题是

1) 我不知道如何制作这些动态url,因为我的数据库包含50万部电影,所以我认为我无法手动制作

2) 我该如何获取有关那张唱片的信息。我想出了一个主意,将url的/the_dark_knight_rises部分替换为空格,并尝试像select * from table where title like 'the dark knight rises'一样搜索我的数据库,但我不确定这是否是最好的解决方案,也不确定如何获得url的部分

欢迎任何帮助/指示

1)使用getPathInfo()或getRequestURI()从当前url 中提取路径

2) 从路径中删除下划线并构建电影标题

3) 使数据库调用

4) 显示movei(如果存在)或显示404(如果不存在)。

如果您的目的只是为了SEO或可读性,您可以始终将URL提供为www.website.com/movie_name_in_text?id=abc123

这允许您在数据库上执行get-by-id,但为人员和机器人显示文本信息。

您可能还应该考虑使用Web MVC框架,例如Spring、thundr或类似的框架。它们可以自动处理这种类型的数据绑定,而不需要对低级servlet api进行编程。


免责声明,我是thundr 的维护者

最新更新