【问题标题】:What Strategys are there for URL building with dynamic jsp's or servlets?使用动态 jsps 和 servlet 构建 URL 有哪些策略?
【发布时间】:2014-09-25 11:26:24
【问题描述】:

我有一个网站,可以生成许多动态的公司简介。 这些都由一个带有标识公司参数的 jsp 页面显示。

我不是 SEO 实践方面的专家,但我确信用户友好的 url 对于搜索引擎来说会比一个晦涩的参数更好。

所以而不是

site.com/company.jsp?id=21312

应该是这样的

site.com/Country/State/Company_Name 

或类似的东西。

是否有任何现有的策略或最佳实践来生成这些网址? 我的环境是一个 jsp/servlet tomcat 容器,如果有什么不同的话,我正在使用前视图控制器模式。

这是我关于如何解决它的两个想法。

1) 保存公司资料时(后端)生成一个 html 页面,并重定向到参数化的 jsp。此页面将保存在与我上面给出的示例匹配的目录结构中。 /CountryName/StateName/CompanyName.html

我不知道搜索引擎是否会忽略它,因为它会重定向到另一个页面。我还预测,当公司名称发生变化或地点发生变化时,内务管理可能会成为一个问题。所以我不知道这是否是最好的选择。

2) 不知何故有一个 servlet 可以解释 url 并相应地重定向。

换句话说,有一个名为 Map 的 servlet(例如)和一个 url,如:site.com/Map/Country/State/CompanyName 将被 Map servlet 提取并分解 url 以找到有问题的页面。

我不知道 servlet 是否可以做到这一点。 (编辑:可以用 Map/* 完成)

如果我缺少任何其他选项,请告诉我,或者我是否可以改进我现有的想法之一。

非常感谢。

【问题讨论】:

    标签: java jsp tomcat servlets seo


    【解决方案1】:

    REST 为您提供了 Web URL 的最佳实践。您可以查看this section 了解更多详细信息。

    您还可以从一些著名的 REST API 中学习,例如Twitter REST API,谷歌数据API(以Google Contacts API为例)。

    在Java实现方面,JAX-RS是RESTful Web Services的Java API。有很多实现,例如CXFRESTEasyJersey

    下面的示例代码让您快速了解 JAX-RS 的外观:

    // Root resource class
    @Path("/employeeinfo")
    public class EmployeeInfo {
    
        // Subresource locator: obtains the subresource Employee
        // from the path /employeeinfo/employees/{empid}
        @Path("/employees/{empid}")
        public Employee getEmployee(@PathParam("empid") String id) {
            // Find the Employee based on the id path parameter
            Employee emp = ...;
            ...
            return emp;
        }
    }
    

    【讨论】:

    • 感谢您的回复。这似乎是从一开始就做事的正确方法。我只是有点犹豫要为这么小的任务实现一个 Web 服务框架。非常感谢您的回答。
    【解决方案2】:

    UrlRewriteFilter 来了!

    http://tuckey.org/urlrewrite/

    执行您所要求的配置将如下所示:

    <rule>
      <name>World Rule</name>
      <from>^/world/([a-z]+)/([a-z]+)$</from>
      <to>/world.jsp?country=$1&amp;city=$2</to>
    </rule>
    

    http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html

    【讨论】:

    • 这太棒了。我已经为子域重定向实现了 urlRewriteFilter。但是,您知道与将 servlet 映射到 World/* 相比,然后使用请求 URI 来分解它的来源有什么好处吗?主要是方便?
    • 对 servlet 绑定的模式支持非常有限,例如您不能将 servet 绑定到 url 并提取部分 url 路径作为参数来模拟 RESTful url。以下是有关您可以使用 url-pattern roguewave.com/portals/0/products/hydraexpress/docs/3.5.0/html/…stackoverflow.com/questions/8570805/… 做什么的简要信息
    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2021-10-21
    • 2012-01-26
    • 2011-02-26
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多