- (1)springMVC默认不支持页面上的日期字符串到后台的Date的转换
url?date=2020-02-02 方法(Date date)
- (2)可以有两种方式
》》配置全局日期转换器
》》配置日期转换注解
StringToDateConverter
public class StringToDateConverter implements Converter<String,Date>{
@Override
public Date convert(String source) {
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
spring/springmvc.xml
<bean id="stringToDateConverter" class="com.wzx.web.converter.StringToDateConverter"/>
<bean id="conversionServiceFactory" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<ref bean="stringToDateConverter"/>
</set>
</property>
</bean>
<mvc:annotation-driven conversion-service="conversionServiceFactory" />
测试CompanyController
@RequestMapping(path="/testDate.do",method = RequestMethod.GET)
public String testDate(Date date){
l.info("testDate date="+date);
return "result";
}
统一异常处理
- (1)在Java代码中,如何处理异常?
try-catch
public class TestTryCatch {
@Test
public void test01(){
try {
int num = 0;
System.out.println("Hello");
System.out.println(1/num);
System.out.println("World");
} catch (Exception e) {
e.printStackTrace();
}
}
}
- (2)HandlerExceptionResolver是什么?
spring-mvc中的统一异常处理器
如果控制器方法中有未捕获的异常抛出,可能导致程序将异常抛给用户 此时,此时可以使用统一异常处理器
- (3)使用
》》实现接口
》》spring配置
》》测试
MyExceptionResolver
public class MyExceptionResolver implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView mv = new ModelAndView();
mv.addObject("exception",e.getMessage());
mv.setViewName("error");
return mv;
}
}
spring/springmvc.xml
<bean id="myExceptionResolver" class="com.wzx.web.exceptions.MyExceptionResolver"/>
测试
@RequestMapping(path="/testDate.do",method = RequestMethod.GET)
public String testDate(Date date){
l.info("testDate date="+date);
int num = 1/0;
return "result";
}