一、<mvc:view-controller path=""/>标签的作用

       工程WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到。需要通过控制器转发映射的方式进行访问,对应一些我们不需要其他操作的JSP页面,我们可以使用<mvc:view-controller path=""/>来配置,这样就可以不用再控制器中再去做转发映射,从而减轻我们的部分开发工作量。

 SpringMVC配置文件 中 mvcview-controller 标签的使用 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

二、 没有使用<mvc:view-controller path=""/>

一般我们需要配置一个spring配置文件中配置一个视图解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="prefix" value="/WEB-INF/"/>
     <property name="suffix" value=".jsp"></property>
</bean>

  

然后在配置一个控制器

@Controller
 public class UserController {
     @RequestMapping("/toSuccess")
     public String update(){
         return "success";
     }
 }

  

使用http://localhost:8080/springmvc-1/toSuccess 可以正确得到页面

 SpringMVC配置文件 中 mvcview-controller 标签的使用 随笔 第2张

 

 

三、使用<mvc:view-controller path=""/>

springmvc配置文件中配置:

<mvc:view-controller path="/login/success"/>

 

注:

     pathJSP页面相对WEB-INF的路径。

 

我们使用http://localhost:8080/springmvc-1/login/success来访问,同样可以得到正确页面

 SpringMVC配置文件 中 mvcview-controller 标签的使用 随笔 第3张

 

 

也就是说当我们配置了<mvc:view-controller path="/login/success"/>后,原来通过控制器来转发映射的url就无法访问到页面了。通常我们在实际开发中会在配置文件中增加如下配置,解决这个问题。配置后就也可以通过控制器进行转发映射访问,这样就保证我们在开发过程中对出现的各种情况页面进行正常跳转。

 

 SpringMVC配置文件 中 mvcview-controller 标签的使用 随笔 第4张

 

原文来自 上海尚学堂java学员,转载请注明出处

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄