mvc:view-controller标签
如果发送的请求不想通过controller,只想直接地跳转到目标页面,这时候就可以使用mvc:view-controller标签
在配置文件中配置:
<mvc:view-controller path="/hello" view-name="hello"></mvc:view-controller>
- path=”/hello” 就是你访问的路径(相当于RequestMapping(“/hello”))
- view-name=”hello”是你所要的视图(如hello.jsp,相当于return “hello”)配置了这个后对于/hello请求,就会直接交给dispatcherServlet,然后使用ViewResolver进行解析。
相当于以下代码:
@RequestMapping(value="/hello")
public String hello(){
System.out.println("hello");
return "hello";
}
也可以配置成重定向或者转发:
<mvc:view-controller path="/index" view-name="redirect:hello"></mvc:view-controller>
相当于
@RequestMapping("/index")
public String index(){
return "redirect:hello";
}
注意:
- 使用了这个标签后必须配置
<mvc:annotation-driven />
否则会造成所有的@Controller注解无法解析,导致404错误。 - 如果请求存在处理器,则这个标签对应的请求处理将不起作用。因为请求是先去找处理器处理,如果找不到才会去找这个标签配置。
注意:即使页面请求的是不通过控制器,而是通过配置mvc:view-controller直接跳转到页面,SpringMVC里面的拦截器也会捕获到请求。