mvc:view-controller标签
如果发送的请求不想通过controller,只想直接地跳转到目标页面,这时候就可以使用mvc:view-controller标签
在配置文件中配置:
<!-- 定义默认跳转不经过controller -->
<mvc:view-controller path="/1" view-name="index" />
<mvc:annotation-driven />
path=”/1” 就是你访问的路径(相当于RequestMapping(“/1”))
view-name=”index”是你所要的视图(如index.jsp,相当于return “index”) 配置了这个后对于/index请求,就会直接交给dispatcherServlet,然后使用ViewResolver进行解析。
相当于一下代码:
@Controller
public class indexController {
@RequestMapping(value="/index")
public String index() {
return "index";
}
}
启动项目访问:127.0.0.1/sonweb001/1
这里sonweb001为项目名称,回车,如下
访问:127.0.0.1/sonweb001/index
这里可看到两个页面一样。
但是使用mvc:view-controller标签不经过Controller层代码
view-name也可以配置成重定向或者转发:
<!-- 定义默认跳转不经过controller -->
<mvc:view-controller path="/1" view-name="redirect:index" />
<mvc:annotation-driven />
这样访问:127.0.0.1/sonweb001/1 时候路径会自动重定向,相当于访问127.0.0.1/sonweb001/index 且经过Controller层代码
关于<mvc:annotation-driven /> 标签,测试发现如果写<mvc:annotation-driven /> 标签则mvc:view-controller无效
springmvc标签之mvc:annotation-driven