SSM案例整合踩的一些坑

Posted zxgcoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM案例整合踩的一些坑相关的知识,希望对你有一定的参考价值。

一、出现错误:Cannot convert value of type [java.lang.String] to required type [javax.sql.DataSource] for property ‘dataSource‘

无法将你的datasource里配置的字符串转换成javax.sql.DataSource对象,导致SessionFactory无法完成,datasource配置肯定有误,检查[/WEB-INF/applicationContext.xml]文件中的datasource相关的配置。
<property name="dataSource" value="dataSource">
配置错了,这写法Spring会以字符串方式注入,报类型不匹配异常,改为
<property name="dataSource" ref="dataSource"/>

二、WEB-INF下的jsp文件一般只能通过请求然后后台controller层才能跳转,直接请求该路径下的文件是进不去的会报404,而如果直接请求文件路径地址,如<a href="$pageContext.request.contextPath /Novel.jsp/>那么该文件是需要在Webapp文件夹下的。


三、spring mvc绑定参数之类型转换有三种方式:

1.实体类中加日期格式化注解

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
private Date creationTime;

只是解决了局部问题,解决不了根本问题

2.属性编辑器(一般不用了)

spring3.1之前

在Controller类中通过@InitBinder完成

/**
* 在controller层中加入一段数据绑定代码
* @param webDataBinder
*/
@InitBinder
public void initBinder(WebDataBinder webDataBinder) throws Exception
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
simpleDateFormat.setLenient(false);
webDataBinder.registerCustomEditor(Date.class , new CustomDateEditor(simpleDateFormat , true));

备注:自定义类型转换器必须实现PropertyEditor接口或者继承PropertyEditorSupport类
写一个类 extends propertyEditorSupport(implements PropertyEditor)
public void setAsText(String text)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy -MM-dd hh:mm");
Date date = simpleDateFormat.parse(text);
this.setValue(date);

public String getAsTest()
Date date = (Date)this.getValue();
return this.dateFormat.format(date);

3. 类型转换器Converter(用的比较多,虽然繁琐,但是治本)

 1 public class DateConvert implements Converter<String, Date> 
 2 private String pattern;
 3 
 4 public void setPattern(String pattern) 
 5   this.pattern = pattern;
 6 
 7 
 8 @Override
 9 public Date convert(String source) 
10   SimpleDateFormat format = new SimpleDateFormat(pattern);
11   Date d = null;
12 
13 try 
14   d = format.parse(source);
15    catch (ParseException e) 
16   e.printStackTrace();
17   
18 
19   return d;
20   
21 

 

在springMVC.xml中的配置

 1 <mvc:annotation-driven conversion-service="conversionService"/>
 2 <!-- 自定义的日期转换器-->
 3 <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
 4 <property name="converters">
 5 <set>
 6 <bean class="edu.kust.utils.DateConvert">
 7 <!-- 自定义日期格式-->
 8 <property name="pattern" value="yyyy-MM-dd"/>
 9 </bean>
10 </set>
11 </property>
12 </bean>

 

以上是关于SSM案例整合踩的一些坑的主要内容,如果未能解决你的问题,请参考以下文章

Hololens开发初探踩的一些坑

使用SpringBoot的yml文件配置时踩的一个坑

使用SpringBoot的yml文件配置时踩的一个坑

必读丨新手程序员最容易踩的“坑”,你踩过几个?

使用Ajax中get请求发送Token时踩的那些坑

这些年,在数据挖掘项目中踩的“坑”