spring mvc

SpringMVC进阶指南

1.关于spring mvc中 redirect 和 forward

 

  1. 可以使用RedirectView
  2. 还可以使用redirect: 前缀 和 forward:前缀
  3. 在redirect中传递参数,除了session中加以外还可以在modelredirectAttributesflashMap中添加
  4. 在flashMap中添加方法如下,RequestContextUtils 获取 flashMapManager, 此对象可以save flashMap, 在下个请求的controller 中调用flashMapManager的outFlashMap获取参数
  5. redirectAttributes中添加参数,@RequestMapping 注释的方法中支持参数 RedirectAttributes,在此对象中添加参数会以url pathVariable形式传递给目标url的controller
  6. model中传递参数,当controller的处理方法中不含有redirectAttributes时,model充当传递介质,model中的key-value都会以url PathVariable形式传递

2.关于Exception

 

  1. @ExceptionHandler用于处理该方法所在的controller里抛出的exception
  2. HandlerExceptionResolver用户拦截controller的exception, 默认情况下spring注册defaultHandlerExceptionResolver来处理异常,不过可以注册spring的另外一个handlerExceptionResolver来处理抛出的exception,SimpleMappingExceptionResolver是用来将不一样的exception映射到各个error page
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
	<property name="exceptionMappings">
		<props>
			<prop key="Exception">error/error</prop>
		</props>
	</property>
</bean>

 

3.新的RequestMapping的支持类:RequestMappingHandlerMapping

 

    有点绕口的类名,在早期的(3.1之前)的springmvc中都是走DefaultAnnotationHandlerMapping来确定哪个controller然后再走AnnotationMethodHandlerAdapter来确定是哪个method进行处理,所以在HandlerInterceptor中传入的参数是classObject而不是methodObject所以非常的不方便(某土公司居然封装了这个类,而没有封装新的类)。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值