当前位置: 首页 > news >正文

Struts Hibernate Spring SSH集成碰到的问题

 

参考资料:

 

1 ,三种整合 Struts 应用程序与 Spring 的方式

   http://www.ibm.com/developerworks/cn/java/j-sr2.html

 

 

 

SSH 集成碰到的问题

1. getHibernateTemplate() 方法返回 NULL

   ***********

   HibernateTemplate ttpl = getHibernateTemplate();

   List rlt = ttpl.find("from User as c "); // 请注意这个 hql 语句中的 User

   上面的操作语句是我自己写的,左看由看都没有问题。 那问题出在哪里呢?

   这里注意前提是 , 你必须保证你的配置文件没有任何错误 .

   #################

   答案 : 问题出在 applicationContext.xml 的配置上,从页面传来的数据由 Struts Action 层处理,在该类调用业务层类,不能直接进行实例化,要通过 applicationContext.xml 进行配置,通过 Spring IoC 来获取。如果直接实例化,则造成其后的操作都不在 Spring 的事务管理之中。业务层调用 Hibernate DAO 层时,业务层中的 DAO 对象也不能直接实例化,也要通过 Spring IoC 来获取

   由于我也是初学者 , 具体的原因见上面 , 从一个博客摘录而来 :

   http://hi.baidu.com/no9527/blog/item/37d72bdffb8bcd1262279800.html

 

   你应该在你的 action 里面这样使用后台的处理类 .

    ApplicationContext context = this.getWebApplicationContext();

   LoginDao bsDao = (LoginDao)context.getBean("loginDao");     // 通过 Spring 获取操作类

 

   你可不要告诉我上面的两行语句你看不懂 , 那我就无语了 . 如果看不懂 , 你还是抓紧补习下 Spring 的知识吧 . 至于说 Spring 的配置文件 applicationContext.xml 中的配置如下 :

   <bean id="loginDao" class="com.wellhope.dao.LoginDao">

                   <property name="sessionFactory">

                            <ref local="sessionFactory" />

                   </property>

   </bean>

 

   #################

 

  2  没有正确配置 Spring 配置文件 applicationContext.xml 导致的问题 .

org.springframework.orm.hibernate.HibernateQueryException : unexpected token:

这个问题一看就知道查询的语句有问题,至于查询的条件为什么有问题,我认为无外乎以下 2 点。

(1)   本身的查询写的就有问题

这个查询,比如我的是,【 from User as c 】,    

这里你就必须注意 User 不是表名,而是你配置文件配置的名字。

(2)   配置没有没有配置好。 --- 请检查你的 Spring 配置文件是否正确把 Hibernate 配置文件配置在 Spring 里面。配置的方式如下

<bean>

           < property name = "mappingResources" >

           < list >

                      < value > AM_Users.hbm.xml </ value >

                      < value > User.hbm.xml </ value >

                  </ list >

               </ property >

</bean>

 

下面是这个异常的具体:

org.springframework.orm.hibernate.HibernateQueryException : unexpected token: as [from User as c ]; nested exception is net.sf.hibernate.QueryException : unexpected token: as [from User as c ]

net.sf.hibernate.QueryException : unexpected token: as [from User as c ]

    at net.sf.hibernate.hql.FromParser.token( FromParser.java:94 )

    at net.sf.hibernate.hql.ClauseParser.token( ClauseParser.java:87 )

    at net.sf.hibernate.hql.PreprocessingParser.token( PreprocessingParser.java:123 )

    at net.sf.hibernate.hql.ParserHelper.parse( ParserHelper.java:29 )

    at net.sf.hibernate.hql.QueryTranslator.compile( QueryTranslator.java:149 )

    at net.sf.hibernate.hql.QueryTranslator.compile( QueryTranslator.java:138 )

    at net.sf.hibernate.impl.SessionFactoryImpl.getQuery( SessionFactoryImpl.java:295 )

    at net.sf.hibernate.impl.SessionImpl.getQueries( SessionImpl.java:1572 )

    at net.sf.hibernate.impl.SessionImpl.find( SessionImpl.java:1543 )

    at net.sf.hibernate.impl.QueryImpl.list( QueryImpl.java:49 )

 

   #################

 

相关文章:

  • 我的CSDN博客……
  • Spring配置的MS SQLSERVER 2008 JDBC连接
  • JQuery封装脚本系列之复选框(CheckBox)
  • JQuery 封装脚本系列之下拉列表框(Select)
  • JQuery 封装脚本系列之单选框(Radio)
  • 使用JQuery封装的SelectCheckboxRadio脚本
  • JQuery选择器使用说明-附表
  • iBatis.Net 入门例子 入门指南 入门教程
  • form 表单自动提交问题
  • 重构 重构列表
  • 人生之追求
  • 象棋的秘密
  • 整理的值得关注的资源
  • centos下mysql的安装与配置
  • centos下JDBC的安装配置
  • 03Go 类型总结
  • echarts的各种常用效果展示
  • egg(89)--egg之redis的发布和订阅
  • es6(二):字符串的扩展
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • iOS小技巧之UIImagePickerController实现头像选择
  • JavaScript 基本功--面试宝典
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Logstash 参考指南(目录)
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Vue 动态创建 component
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Vue全家桶实现一个Web App
  • 计算机在识别图像时“看到”了什么?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端设计模式
  • 驱动程序原理
  • 如何优雅地使用 Sublime Text
  • 详解NodeJs流之一
  • 正则表达式
  • 中文输入法与React文本输入框的问题与解决方案
  • AI算硅基生命吗,为什么?
  • RDS-Mysql 物理备份恢复到本地数据库上
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (5)STL算法之复制
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (转)c++ std::pair 与 std::make
  • (转)Google的Objective-C编码规范
  • .gitattributes 文件
  • .htaccess配置常用技巧
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Micro Framework初体验
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET委托:一个关于C#的睡前故事
  • .Net转前端开发-启航篇,如何定制博客园主题
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504