SSH的一个错误,实在是找不到原因了。
SSH的一个异常,实在是找不到原因了。。。
我这小功能就是从用户表里查查有没有对应的用户,弄个登录的功能。我用spring提供的这个模板写了一个回调,大家看看有没有写错:
我用junit对dao、service、action都分别进行了测试,都没有问题,但是一旦我将项目部署到tomcat后,用浏览器测试登录这个功能时就会出现下面这些异常,超过发帖的字数限制了,请看1楼。。
------解决方案--------------------
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
第一种写法,参数配置型,Hibernate需要借助antlr的包,你看看工程中是否引入了。
------解决方案--------------------
在执行语句中,有参数,是要带引号的,不然的确会报错哦
------解决方案--------------------
antlr这个语法解析包出错
因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,
故要删除前一个低版本的
------解决方案--------------------
Eclipse里面很简单吧。。。Build里面配置下就完毕了。
如果是部署环境的话,WEB-INF里面去掉那个低版本的好了。
最无耻的一招就是把高版本的加入系统CLASSPATH
我这小功能就是从用户表里查查有没有对应的用户,弄个登录的功能。我用spring提供的这个模板写了一个回调,大家看看有没有写错:
- Java code
public TbUser selectUser(final TbUser userInfo) { return getHibernateTemplate().execute(new HibernateCallback<TbUser>() { @Override public TbUser doInHibernate(Session arg0) throws HibernateException, SQLException { return (TbUser) arg0 .createQuery("from TbUser where name=? and password=?") .setString(0, userInfo.getName()) .setString(1, userInfo.getPassword()).uniqueResult(); } }); }
我用junit对dao、service、action都分别进行了测试,都没有问题,但是一旦我将项目部署到tomcat后,用浏览器测试登录这个功能时就会出现下面这些异常,超过发帖的字数限制了,请看1楼。。
------解决方案--------------------
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
第一种写法,参数配置型,Hibernate需要借助antlr的包,你看看工程中是否引入了。
------解决方案--------------------
在执行语句中,有参数,是要带引号的,不然的确会报错哦
------解决方案--------------------
antlr这个语法解析包出错
因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,
故要删除前一个低版本的
------解决方案--------------------
Eclipse里面很简单吧。。。Build里面配置下就完毕了。
如果是部署环境的话,WEB-INF里面去掉那个低版本的好了。
最无耻的一招就是把高版本的加入系统CLASSPATH