我正在使用spring MVC构建一个webapp,并且很好奇是否有任何干净的方式来制作SEO网址。
例如,代替http://mysite.com/articles/articleId等等,有:
答案 0 :(得分:6)
如果您正在使用新的Spring-MVC注释,则可以使用@RequestMapping和@PathVariable注释:
@RequestMapping("/articles/{subject}")
public ModelAndView findArticleBySubject(@PathVariable("subject") String subject)
{
// strip out the '-' character from the subject
// then the usual logic returning a ModelAndView or similar
}
我认为仍然需要删除 - 字符。
答案 1 :(得分:5)
答案 2 :(得分:1)
http://mysite.com/articles/my-article-subject是一个比http://mysite.com/articles/articleId更强大的网址 - 特别是如果标题和标题标记也与“我的文章主题”匹配,并且您有“我的”,“文章”和“主题”在页面的内容。
答案 3 :(得分:1)
例如,如果你想要网址
HTTP:///博客/ 11/12/2009 /我的问候 - 世界后/
然后配置servlet映射
< servlet的>
< servlet的类> com.blog.Blog< / servlet的类>
< servlet的名称>&博客LT; / servlet的名称>
< servlet的类> com.blog.Blog< / servlet的类>
< / servlet的>
< servlet的映射>
< servlet的名称>&博客LT; / servlet的名称>
< URL模式> /博客/ * LT; / url-pattern的>
< / servlet的映射>
并在servlet代码中
String url = request.getPathInfo();
StringTokenizer tokens = new StringTokenizer(url,“/”);
而(tokens.hasMoreTokens()){
通过out.println( “
” + tokens.nextToken());
}
使用这些参数从数据库中获取数据并显示给用户
答案 4 :(得分:0)
如果您只是寻找SEO优化,您可以这样设计您的网址:
http://mysite.com/articles/my-article-subject/articleId
或
http://mysite.com/articles/articleId/my-article-subject
在评估网址时忽略部分my-article-subject。
亚马逊用他们的网址做了类似的事情:
这里的文字“Dark-Crystal-Jean-Pierre-Amiel”完全无关紧要,因为这篇文章是由id B00000JPH6标识的。
编辑:事实上,我刚刚注意到,就在这里,这个确切的技术用于生成SEO友好的网址......
答案 5 :(得分:0)
标准的Java Web框架还没有为这种URL做好准备。
AFAIK,SpringMVC不支持这种URL。
我确信有两个框架支持这种URL:Mentawai和VRaptor。
答案 6 :(得分:0)
我在应用程序中使用了漂亮的面孔http://ocpsoft.org/prettyfaces/,因为它是基于JSF的。这是一个非常巧妙的解决方案。 不确定它是否适用于Spring MVC 看看我们的网址
http://www.skill-guru.com/cat/certification-mock-test
http://www.skill-guru.com/test/81/core-spring-3.0-certification-mock
http://www.skill-guru.com/tutor/Pro+ESL
早些时候我们有非SEO友好的URL,并附加了jsession Id。现在它在漂亮的过滤器的帮助下整洁干净。 这与wordpress网址非常一致。
答案 7 :(得分:-1)
生成包含ID和描述的网址,如此网址http://stackoverflow.com/questions/784891/java-and-seo-urls
。在servlet中解析url然后使用id从数据库中获取数据。相同的技术也适用于此stackoverflow页面。看看网址。它的http://stackoverflow.com/questions/784891/java-and-seo-urls
但是只考虑了QuestionId并且忽略了描述。试试http://stackoverflow.com/questions/784891
或http://stackoverflow.com/questions/784891/abcdxyz
。你会得到同一页。这是生成seo url的非常好的技巧