5

我正在使用 spring MVC 构建一个 webapp,并且很好奇是否有任何干净的方法来制作 SEO url。

例如,而不是http://mysite.com/articles/articleId等,有:

http://mysite.com/articles/my-article-subject

4

8 回答 8

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
}

我认为仍然有必要去掉 - 字符。

于 2010-03-17T22:14:01.773 回答
5

您可能会对此感兴趣:

http://tukey.org/urlrewrite/

如果您熟悉 Apache 服务器上的 mod_rewrite,这是一个类似的概念。

于 2009-04-24T08:10:31.803 回答
1

http://mysite.com/articles/my-article-subject是一个比http://mysite.com/articles/articleId更强大的 URL - 特别是如果标题和标题标签也匹配“my-article-subject”并且页面内容中有“我的”、“文章”和“主题”。

于 2009-04-24T08:20:34.773 回答
1

例如,如果您想要网址

http:///blog/11/12/2009/my-hello-world-post/

然后配置servlet映射

<servlet>
<servlet-class>com.blog.Blog</servlet-class>
<servlet-name>blog</servlet-name>
<servlet-class>com.blog.Blog</servlet-class>
</servlet >
<servlet-mapping>
<servlet-name>blog</servlet-name>
<url-pattern>/blog/*</url-pattern>
</servlet-mapping>

并在 servlet 代码中

字符串 url = request.getPathInfo();
StringTokenizer 令牌 = new StringTokenizer(url,"/");
while(tokens.hasMoreTokens()){
out.println("
"+tokens.nextToken());
}

使用这些参数从数据库中获取数据并显示给用户

于 2009-04-24T08:29:48.620 回答
1

标准的 Java Web 框架还没有为这些 URL 做好准备。

AFAIK,SpringMVC 不支持这种 URL。

我确信有两个框架支持这种 URL:Mentawai 和 VRaptor。

于 2009-04-27T18:49:07.623 回答
0

如果您只是在寻找 SEO 优化,您可以这样设计您的 URL:

http://mysite.com/articles/my-article-subject/articleId

或者

http://mysite.com/articles/articleId/my-article-subject

并在评估网址时忽略 my-article-subject 部分。

亚马逊对他们的 URL 做了类似的事情:

http://www.amazon.com/Dark-Crystal-Jean-Pierre-Amiel/dp/B00000JPH6/ref=sr_1_1?ie=UTF8&s=dvd&qid=1240561659&sr=8-1

这里的文本“Dark-Crystal-Jean-Pierre-Amiel”是完全不相关的,因为该文章由 id B00000JPH6 标识。

编辑:事实上,我刚刚注意到,就在这里,这种精确的技术用于生成对 SEO 友好的 URL...

于 2009-04-24T08:29:11.493 回答
0

我在我们的应用程序中使用了漂亮的面孔http://ocpsoft.org/prettyfaces/,因为它是基于 JSF 的。这是一个非常巧妙的解决方案。不确定它是否适用于 Spring MVC 看看我们的 URL

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 url。

于 2012-04-10T13:47:43.557 回答
-1

生成包含 id 和 description 的 url 像这个 url 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/784891http://stackoverflow.com/questions/784891/abcdxyz。你会得到相同的页面。这是生成 seo url 的非常好的技术

于 2010-12-31T18:34:34.677 回答