zoukankan      html  css  js  c++  java
  • spring mvc 中自定义404页面在IE中无法显示favicon.ico问题的解决方法。

    此处用的是jsp,控制层用的是ModelAndView,

    具体解决方法如下:

     @RequestMapping(value = "notfound", method = RequestMethod.GET)
        public ModelAndView notfound() {
    
            ModelAndView modelAndView = new ModelAndView();
            String viewName = "error";
    
            modelAndView.setViewName(viewName);
            String useragent = servletRequest.getHeader("user-agent");
            if (StringUtils.isNotBlank(useragent)) {
                boolean isMobile = CheckMobile.check(useragent);
                if (isMobile) {
                    viewName = "errormobile";
                    modelAndView.setViewName(viewName);
                }
            }
            //解决favicon.ico在IE下无法显示的问题。
            modelAndView.setStatus(HttpStatus.PERMANENT_REDIRECT);
            return modelAndView;
        }

    web.xml

      <error-page>
        <error-code>404</error-code>
        <location>/notfound</location>
      </error-page>

    因为有手机和PC2套不同的模板,所以要进行判断,为什么要加modelAndView.setStatus(HttpStatus.PERMANENT_REDIRECT);这句话呢?因为ModelAndView如果遇到了404等错误页面,是不会跳转的,就算你在JS里面加了window.location.href也不行,我猜测这是model的一个状态问题,因为本身你到的就是一个404,不可达的页面,它怎么跳?唯一的办法就是设置modelaAndView的状态,模拟重定向跳转。只要把ModalAndView设置成跳转,就OK了。此问题只存在于IE,其他浏览器不受影响。另外别忘了在link里面加上通用的ico标签哦。

  • 相关阅读:
    (二)Spark
    (一)Spark
    (一)Scala
    (三)Kafka
    (二)kafka
    四、(项目架构的过去与现在)亿级用户行为之大数据实时分析
    (一)kafka
    三、(项目架构的过去与现在)亿级用户行为之大数据实时分析
    SpringBoot+Elasticsearch7.7.0实战
    springboot2.2.2企业级项目整合redis与redis 工具类大全
  • 原文地址:https://www.cnblogs.com/kmsfan/p/spring_ico_ie_not_display.html
Copyright © 2011-2022 走看看