用干净的URL编写应用程序

时间:2013-05-27 20:54:51

标签: java spring rest spring-mvc clean-urls

我想以下列方式在网站上展示文章

example.com/articles/23/thetitle

ie  example.com/articles/{id}/{title}

对于每个请求,实际上重要的是id。我将显示与id对应的文章,标题显示为可读性。现在问题是当用户在浏览器中编辑网址时,例如从example.com/articles/23/thetitleexample.com/articles/23/xyz并重新加载,相同的内容会加载新的网址。

我如何解决这个问题?如何让我的网址example.com/articles/23/thetitle显示为example.com/articles/23/{anything}

我看了URLrewriting。但它似乎不适合我。

我能想到的唯一解决办法就是从javascript中做到这一点,但是恕我直言。这是肮脏的。

我正在使用Spring MVC。提前致谢

PS: 用一句话来说,我希望它能以SO的方式工作。如果我们编辑问题编号并重新加载,则会加载新标题。

以下是我目前如何获取文章的代码示例

@RequestMapping(value = "/{id}/{title}", method = RequestMethod.GET)
public 
String loadArticle(HttpServletRequest request,
        @PathVariable Long id, Model model) {
    //get the article
    model.addAttribute("article", article);
    return "article";
    }

1 个答案:

答案 0 :(得分:2)

我会使用一个检查URL并发送HTTP重定向响应代码的servlet(方法sendRedirectHttpServletResponse