如何在Java上为网站创建漂亮的URL(永久链接)?

Ale*_*sky 5 java url permalinks java-ee

我想在Java上为我的Web项目制作漂亮的URL.

例如,我有这样的网址:

  • www.mysite.com/web/controller?command=showNews&newsId=1
  • www.mysite.com/web/controller?command=showNews&newsId=2
  • www.mysite.com/web/controller?command=showNews&newsId=3

要么

  • www.mysite.com/web/user.do?action=start
  • www.mysite.com/web/user.do?action=showCategory&category=videoGames§ion=AboutGames

但它不是那么漂亮和用户友好...

我想制作这样的链接:

  • www.mysite.com/web/2011/10/04/Steve-Jobs-iPhone-5/
  • www.mysite.com/web/2011/10/23/Facebook-Timeline/
  • www.mysite.com/web/2012/05/25/Vladimir-Putin-Russian-President/

你帮我这个吗?我怎么才能得到它?

如果它有帮助,可以使用任何Java框架或库.

谢谢!

更新:我找到了解决方案- Spring MVC的Controller@RequestMapping("/Putin")注释为例.

M.L*_*.L. 1

上下文框架可以让您做到这一点。例如,您给出的示例可以在视图中像这样映射:

@View(url="regex:/web/<year:\\d{4}>/<month:\\d{2}>/<day:\\d{2}>/<specifier>")
@PageScoped
public class ArticleView extends Component implements ViewComponent {

  @PathParam
  private long year;

  @PathParam
  private long month;

  @PathParam
  private long day;

  @PathParam
  private String specifier;

  @Override
  public void initialize(ViewContext context) {
    System.out.println(year+"/"+month+"/"+day+"/"+specifier);
    // Then do something
  }
}
Run Code Online (Sandbox Code Playgroud)