SpringMVC自定义转换器
1.创建自定义转换器类并实现Converter接口
public class MyIntConverter implements Converter<String, Integer>{
@Override
public Integer convert(String param) {
System.out.println(param);
char[] charArray = param.toCharArray();
String newParam = "";
for (char c : charArray) {
if (c >= '0' && c<= '9') {
newParam += c;
}
}
System.out.println("转换后的参数:" + newParam);
return Integer.valueOf(newParam);
}
}
2.配置文件中配置自定义转换器
<!-- 注册自定义参数转换器 -->
<mvc:annotation-driven conversion-service="converters"/>
<bean name="converters" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<bean class="com.lanou.converter.MyIntConverter"></bean>
</property>
</bean>
SpringMVC异常处理
1.创建自己的异常类
public class MyException extends RuntimeException{
private String msg;
public MyException(String string) {
this.msg = string;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
2.创建异常处理类并实现Spring提供的HandlerExceptionResolver接口
public class MyExceptionHandle implements HandlerExceptionResolver{
@Override
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object location,
Exception ex) {
System.out.println("异常发生的位置:" + location);
System.out.println("异常信息:"+ ex);
ModelAndView mv = new ModelAndView();
if (ex instanceof MyException) {
System.out.println(((MyException) ex).getMsg());
mv.addObject("msg",((MyException) ex).getMsg());
}
mv.setViewName("exception.jsp");
mv.addObject("location",location);
return mv;
}
}
3.配置文件中配置自己的异常处理类
<!-- 配置异常处理器 -->
<bean class="com.xxx.exception.MyExceptionHandle"></bean>