一、问题
在web.xml中添加如下配置无效
index.html
访问http://localhost/KingWeixin/ 无作用
二、解决问题
2.1、问题分析
1.默认tomcat容器的默认页面。/index.html
这种方式适合访问静态的页面(也包括JSP)或者说是没有任何参数的页面。2.spirng mvc 默认index controller 方式
如果在tomcat容器没有配置默认页面,怎spring mvc 会主动去寻找/index的controller,如果有则会调用,没有则会显示404页面。
@RequestMapping(value=”/index”)publicModelAndView index(HttpServletRequest request, HttpServletResponse response){return newModelAndView(“index”);
}3.spirng mvc 配置根节点访问“/”方式
这种方法比较极端,就是配置一个名为“/”的controller,就是输入完网址之后就会调用。这种方法是前面两种方法都没有配置的时候。
@RequestMapping(value=”/”) public ModelAndView index(HttpServletRequest request, HttpServletResponse response){ return newModelAndView(“index”); }
三种方法的级别高低:1>>3>>2;因为tomcat的容器级别比spring要高,以上3钟配置都存在的情况,优先使用tomcat。因为配置了”/”的controller,所以会先匹配到相关的controller,而不会先寻找/index controller.
注意,即使web.xml没有添加,tomcat也会自动默认去寻找在webroot目录下面的index文件,如果要使用后面两种方法,则要保证webroot下面没有index相关的文件。
综合经验,第三种方法最方便 使用方法例如:
@RequestMapping("/")publicModelAndView index(ModelAndView modelAndView, HttpServletRequest request, String openId) {return new ModelAndView("redirect:/toLogin.do");
}
@RequestMapping("/toLogin.do")publicModelAndView toLogin(ModelAndView modelAndView,Model model, HttpServletRequest request) {
modelAndView.setViewName("index");returnmodelAndView;
}
Spring MVC中默认HTML为静态资源,所以我们可以通过设置我们静态资源映射的index.html为项目默认访问的页面
2.2: Spring 设置静态资源映射和目录(切记index.html要放到html目录下)
2.3:创建一个跳转到index对象的Controller
/****/
packagecom.king.weixin.controller;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.servlet.ModelAndView;/***@author@version创建时间:2018年6月13日 下午10:28:26
* @ClassName IndexController
* @Description Spring MVC 跳转到首页*/@Controllerpublic classIndexController {
@RequestMapping(value="/")publicModelAndView GoToIndex(HttpServletRequest request, HttpServletResponse response){return new ModelAndView("index");
}
}
2.3:测试localhost/项目名称-配置OK
原文:https://www.cnblogs.com/wxjnew/p/9180763.html