在使用spring的ServletRequestAttributes创建request()得到空指针
代码如下:
// 获取request
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
web.xml中也有监听的配置:
<listener>
<listener-class> org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
经过高人的指导发现spring的DBCP配置有问题
<!-- DBCP数据源 -->
<bean id="dbcpDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>${ds.dbcp.driverClassName}</value>
</property>
<property name="url">
<!-- for Oracle/MySQL -->
<value>${ds.dbcp.url}?useUnicode=true&characterEncoding=UTF-8</value>
<!-- -->
<!-- <value>${ds.dbcp.url}</value> -->
</property>
修改后完全没有问题:
<!-- DBCP数据源 -->
<bean id="dbcpDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>${ds.dbcp.driverClassName}</value>
</property>
<property name="url">
<!-- for Oracle/MySQL -->
<!-- <value>${ds.dbcp.url}?useUnicode=true&characterEncoding=UTF-8</value> -->
<!-- -->
<value>${ds.dbcp.url}</value>
</property>
<property name="username">
<value>${ds.dbcp.username}</value>
</property>