SpringMVC-mvc:view-controller+mvc:annotation-driven

SpringMVC-mvc:view-controller+mvc:annotation-driven

在springmvc中通过前端jsp发送一个action可以不经过前端控制器,直接转发到对应的界面。设置方法为:只是需要在springmvc.xml中添加mvc:view-controller的配置即可。但是设置了这个配置之后,在前前端控制器中将不能再使用@requestMapping。解决方法为:再在springmvc.xml中添加mvc:annotation-driven。其内部原理为:添加了mvc:view-controller后前端控制器内部会减少创建一个对应的类。添加mvc:view-controller后其内部会继续生成原来三个类。

代码示例:

前端发送请求jsp:

<a href="${pageContext.request.contextPath}/testView">测试testView</a>

前端跳转jsp(result.jsp):

<h1>结果页jsp</h1>

springmvc.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context.xsd
	http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop.xsd
	http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
	http://www.springframework.org/schema/tx
	http://www.springframework.org/schema/tx/spring-tx.xsd">
    
    <!--开启注解扫描-->
    <context:component-scan base-package="com.helong"/>


    <!--
    mvc:view-controller
    当发送一个请求时,如果没有找到对应的mapping
    则会在配置文件中匹配mvc:view-controller
    注意:配置了这个方式跳转界面之后,在前端控制器中的requestMapping就不能再使用了。
    解决方法:添加<mvc:annotation-driven/>
    -->
    <mvc:view-controller path="testView" view-name="/result.jsp"/>

    <!--解决方法:添加mvc:view-controller-->
    <mvc:annotation-driven/>


</beans>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值