免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Java 求助
最近访问板块 发新帖
查看: 3092 | 回复: 6
打印 上一主题 下一主题

求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-28 14:22 |只看该作者 |倒序浏览
我用myEclipse做了struts+hibernate+spring一个简单的例子,但是一运行就说无法建立连接。
错误 如下:
Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot createJDBC driver of class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' for connect URL '
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=spring'; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' for connect URL '
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=spring

我的applicationContext.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>


<bean id="springbean"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=spring
</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>1234</value>
</property>
</bean>
<bean id="sf"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="springbean" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>po/Student.hbm.xml</value>
</list>
</property>
</bean>
<bean name="sel" class="dao.dao">
<property name="factory">
<ref bean="sf" />
</property>
</bean>
<bean name="/spring" class="action.SpringAction">
<property name="i">
<ref bean="sel" />
</property>
</bean>
</beans>
请大家帮忙看啊,郁闷好几天了,也解决不了这个问题!

论坛徽章:
0
2 [报告]
发表于 2007-04-28 14:24 |只看该作者
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
这段程序好像有问题!
请高手指教一下!谢谢了!

论坛徽章:
0
3 [报告]
发表于 2007-04-28 14:28 |只看该作者
发错了应该是:
eclipse+strust+hibernate,做一个小demo主要的功能是讲表单中的数据持久化的数据库中,在单独调用hibernate的情况下是可以写入数据库的,然后,写一个test代码如下

package com.hibmapping;

import org.hibernate.*;
import org.hibernate.cfg.*;


public class Test {
public void insert(String Username,String Userpwd) {
try {
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Userlist user = new Userlist();
user.setUsername(Username);
user.setUserpwd(Userpwd);
session.save(user);
tx.commit();
session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test test=new Test();
test.insert("w","wf");

}

}
后在Action中execute调用insert报错,
exception

javax.servlet.ServletException: Servlet execution threw an exception


root cause

java.lang.NoClassDefFoundError: org/hibernate/HibernateException
com.struts.action.HihibAction.execute(HihibAction.java:46)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Action中的execute函数

public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response){

                  HihibForm hihibForm = (HihibForm) form;
System.out.println("call execute");
Test test=new Test();
test.insert("wufei","success!@");
return mapping.findForward("hihib_forward");
}

论坛徽章:
0
4 [报告]
发表于 2007-04-29 15:52 |只看该作者
不是太清楚情况
如果test类运行insert()没错的话,那在excute()里面调用也应该没错,再者根据抛出异常的情况,似乎是没有把包结构引入到项目中......
建议查看lib下是否有hib的包

论坛徽章:
0
5 [报告]
发表于 2007-06-18 16:45 |只看该作者
应该是应用服务器的问题吧,用的是Tomcat?

论坛徽章:
0
6 [报告]
发表于 2007-06-22 16:49 |只看该作者
你的代码有问题在struts+Hibernate+Spring 的程序中不存在下面着段代码 :

SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();

然后看你的lib中有没有sqlserver的驱动

论坛徽章:
0
7 [报告]
发表于 2007-12-17 11:24 |只看该作者
<value>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=spring
</value>
改成
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=spring</value>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP