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

时间:2011-10-01 07:53:27

标签: java url java-ee permalinks

我想在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&section=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的{​​{1}}注释。

1 个答案:

答案 0 :(得分:1)

Context Framework允许你这样做。例如,您提供的示例可以在视图中以这样的方式映射:

@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
  }
}