【问题标题】:Getting wildcard subdomain with Spring @RequestMapping使用 Spring @RequestMapping 获取通配符子域
【发布时间】:2017-01-16 00:35:27
【问题描述】:

我想知道当子域是通配符时,是否可以使用 Spring 的 @RequestMapping 访问子域。

例如,我想编写一种方法,当请求任意数量的子域时将调用该方法,并且还能够获取用户请求的实际子域。

因此,如果他们访问 sub1.example.com,它会找到一个方法,我可以将“sub1”映射到字符串变量。

如果他们访问 sub2.example.com,它将使用与上一个示例相同的方法,并且我还可以将“sub2”映射到字符串变量。

这可能吗?

【问题讨论】:

    标签: spring-mvc wildcard-subdomain


    【解决方案1】:

    我最终决定采用 Spring MVC 的这种方法:

    @RequestMapping(value="/someUrl")
    public String someControllerMethod(ModelMap model, HttpServletRequest request)
    {
      String subdomain = request.getServerName().split("\\.")[0];
    
      log.info("subdomain is: " + subdomain);
    
      // more code here
    }
    

    我只是确保将 HttpServletRequest 传递给该方法,然后从请求中提取子域。此代码的唯一问题是您的子域中不能有点 (.)(否则它只会获取子域的第一部分)。

    这个解决方案满足了我的需求。但是,如果您有更好的解决方案,请随时发布,如果更好,我会将其作为正确答案。

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2011-08-15
      • 1970-01-01
      相关资源
      最近更新 更多