2、 在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。
3、 在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">
<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>
</Context>
其中jdbc/mysql为配置的JNDI
下面说下JNDI与DataSource
JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;
要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。
JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).
出现这个是因为你的数据库没有连接上导致的,检查以下几个地方
1.你的db.properties文件是否配置正确 useUnicode=true&&characterEncoding=UTF-8表示你设置的编码为utf-8保证与数据库的一致 防止乱码
jdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql://localhost:3306/oa?unicode=true&characterEncoding=utf-8
jdbc.user=root
jdbc.password=111
2.检查你的spring/applicationContext-dao.xml是否配置了数据源,而且是否配置正确
<!--加载properties配置文件-->
<context:property-placeholder location="classpath:properties/dbinfo.properties"></context:property-placeholder>
3.你的连接名是否是正确的和你在db.properties中配置的是否一样
<!--加载properties配置文件--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
4.你电脑中的服务是否打开
5.检查下的你数据库名是否存在,或者表是否存在
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)