第一步:实现Converter接口,实现自己的数据类型转换类
converter接口:
@FunctionalInterface
public interface Converter<S, T> { //S,T是泛型,S是字符串类型,T是要转换的目标类型
@Nullable
T convert(S var1); //实现Vonverter接口要实现converter方法,参数是字符串,返回转换的目标类型
}
自定义的类型转换器
public class StringToDateConverter implements Converter<String,Date>{
@Override
public Date convert(String source) {
if (source==null){
System.out.println("请输入字符");
}
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
try {
return df.parse(source);
} catch (ParseException e) {
System.out.println("请输入合法字符");
}
return null;
}
}
第二步:在ContesxtConfiguration.xml文件中进行配置
1.转化器和视图解析器的配置相同,它们都是Spring提供的类,转换器的类是ConversionServiceFactoryBean,该类有一个set集合类型的属性,配置自定义类型转换器就是将自己写的类型转换器添加到set集合中
2.自定义类型转换器是以<bean>的方式添加进set集合中的
<!--配置转换器-->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<!--注册自己写的转换器-->
<property name="converters">
<!--添加到set集合中-->
<set>
<!--添加bean-->
<bean class="com.springmvc.converterTest.StringToDateConverter"></bean>
</set>
</property>
</bean>
3.启用自定义类型转换器
conversion-service="conversionService"
<beans>
<!-- 开启对注解的支持-->
<!--开启类型转换器-->
<mvc:annotation-driven conversion-service="conversionService"/>
</beans>
小问题:在Spring中获取Servlet原生API
直接在接收用户的请求的方法中添加对应的参数即可
@RequestMapping(path = "/APITest")
public String APITest(HttpServletRequest request, HttpServletResponse response) {
HttpSession session=request.getSession();
ServletContext context=session.getServletContext();
System.out.println(request);
System.out.println(response);
System.out.println(session);
System.out.println(context);
return "success";
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。