Как перехватить все запросы на favicon.ico в SpringMVC? - PullRequest
0 голосов
/ 02 октября 2011

У меня есть контроллер, который будет реагировать на /favicon.ico соответственно.

Но я только что понял, что когда вы находитесь на подстранице, такой как /subpage/index.html, браузер (по крайней мере, Chrome)request /subpage/favicon.ico.

Есть ли простой способ просто ответить на все запросы favicon.ico?Я бы предпочел не перенаправлять все запросы .ico, если это возможно, но, возможно, это лучшее решение.

1 Ответ

5 голосов
/ 02 октября 2011

Хорошо, один вариант, который я только что выбрал из своих пальцев, используя контроллер:

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

    // ...other stuff...
}

Обратите внимание на необходимость использовать имя файла fav.ico, если вы попробуете это с именем файла favicon.icoВы получите бесконечный цикл.

Ранее я использовал этот подход только для @RequestMapping("favicon.ico")

И это предполагает, что вы обслуживаете статический контент из /public примерно так:

<mvc:resources mapping="/public/**" location="/public/"/>
...