zoukankan      html  css  js  c++  java
  • SpringMVC默认访问首页配置及web.xml配置

    以前在使用SpringMVC时一直没注意到在web.xml中默认首页直接转到controller的问题,这两天在进行配置时才发现没我想的那么简单,不过其实也不难,查的各种资料因为不合适傻乎乎的绕了点弯路,但也算是解决了,所以记录下来,留个备忘。

    之前访问主页地址为:http://xxxxxxx/xxxx/index.htm 但由于要求,需要去掉index.htm,直接访问地址就转到主页(index.htm是配置的controller地址)

    <!--web.xml默认配置-->
    <welcome-file-list>  
       <welcome-file>/index.html</welcome-file>  
    </welcome-file-list>
    • 1
    • 2
    • 3
    • 4
    //controller配置
    @RequestMapping({"/index.htm"})
    public ModelAndView  indexCore(HttpServletRequest request, HttpServletResponse response){
        ModelAndView mv = new JModelAndView("/core/index.html", request, response);
        return mv;  
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    开始想着这不简单嘛,,直接把web.xml的默认主页写为controller访问地址不就行了,所以就改成了这样:

    <!--web.xml默认配置-->
    <welcome-file-list>
       <welcome-file>/index.htm</welcome-file>  
    </welcome-file-list>
    • 1
    • 2
    • 3
    • 4

    访问后果然报了404。o(╯□╰)o 
    查资料才知道<welcome-file>标签内不能写有后缀名!!!不然就会当做普通的静态页面文件去访问,所以就不会找到相应的controller。(谁把controller访问地址写成/index.htm的,粗来我不打死你╭∩╮(︶︿︶)╭∩╮)

    所以修改如下:

    <!--web.xml默认配置-->
    <welcome-file-list>  
       <welcome-file>index</welcome-file>  
    </welcome-file-list>
    
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/index</url-pattern>
    </servlet-mapping>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    //controller配置
    @RequestMapping({"/index"})
    public ModelAndView  indexCore(HttpServletRequest request, HttpServletResponse response){
        ModelAndView mv = new JModelAndView("/core/index.html", request, response);
        return mv;  
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    然后直接输入http://xxxxxxx/xxxx 访问成功。

    不过还有一种简单直接粗暴的:

    <!--web.xml默认配置-->
    <welcome-file-list>  
       <welcome-file>/</welcome-file>  
    </welcome-file-list>
    • 1
    • 2
    • 3
    • 4
    //controller配置
    @RequestMapping({"/"})
    public ModelAndView  indexCore(HttpServletRequest request, HttpServletResponse response){
        ModelAndView mv = new JModelAndView("/core/index.html", request, response);
        return mv;  
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    直接都使用,这样也能达到目的。

  • 相关阅读:
    游戏开发人员眼中的Unity 3D网页游戏測评报告
    MQTT---HiveMQ源代码具体解释(八)Netty-WebSocket
    RGB 与 (RGB转 YCbCr再转为 RGB)的图像
    Shader的语法
    10种软件开发中 over-engineering 的错误套路
    LeetCode——Min Stack
    nyist 82迷宫寻宝(一)(BFS)
    云计算生态系统
    Linux 查看CPU信息、机器型号等硬件信息
    学习新技术的10个建议
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317640.html
Copyright © 2011-2022 走看看