如何拦截SpringMVC中对favicon.ico的所有请求?

Dav*_*rks 0 java favicon spring web-applications spring-mvc

我有一个/favicon.ico适当的响应控制器.

但我刚刚意识到当你在/subpage/index.html浏览器(至少是chrome)这样的子页面中请求时/subpage/favicon.ico.

是否有一种干净的方式来回应所有favicon.ico请求?如果可能的话,我宁愿不重定向所有.ico请求,但如果这是最好的解决方案,也许.

Dav*_*rks 5

好吧,我只是用控制器从我的手指中掏出了一个选项:

@Controller
@RequestMapping("/")
public class PublicPagesController extends BaseController {
    @RequestMapping("**/favicon.ico")
    public String favIconForward(){
        return "forward:/public/img/fav.ico";
    }

    // ...other stuff...
}
Run Code Online (Sandbox Code Playgroud)

请注意需要使用文件名fav.ico,如果您使用文件名favicon.ico尝试此操作,您将获得无限循环.

我以前只使用这种方法 @RequestMapping("favicon.ico")

这假设您使用以下内容提供静态内容/public:

<mvc:resources mapping="/public/**" location="/public/"/>
Run Code Online (Sandbox Code Playgroud)