[转载]struts+hibernate遇到的错误总结

  经过对struts+hibernate几天的学习,大体上还算比较的了解机制,以前学习的时候都是

单个框架训练,没有结合2个框架做,所以今天就找了个网上发布租房信息的小项目结合

struts+hibernate做了下,当中遇到的问题还真多,其中有很多经典的问题,所以在这里记

录下来,免得以后再犯。
    在做查询的时候有个模糊like查询,在这里如果要用hql的话就不能使用预处理语句了

,必须得直接使用拼接型做法,这样也容易引起乱码(已解决)。要是用预处理做法将会报

错,来看下代码,再分析下为什么出错。如图:
[转载]struts+hibernate遇到的错误总结
   在这里比较特殊的地方就是用红圈圈画的地方,报错的原因也就在这里是用了连个单引号,表示单引中的内容是字符串了,而你在这里按平常定义一个变量,然后在下面添加,这时候hql就无法识别你定义的变量,因为他会在这里把变量识别成字符串。所以在下面给这个变量添加值的时候就会出错,原因是找不到这个变量。那么这种方法做不了,但是还不想用拼接形式,那改怎么办?没关系,在hibernate中还提供了Criteria的查询机制,这种查询就更为灵活,具体会专门抽时间学习。我们可以在这里实现模糊查询,如图:
[转载]struts+hibernate遇到的错误总结  

   这样就可以搞定啦。但是头是永远找不到的,这时候我一位万事大吉,总算不报错了。改歇歇了,该死的是这个模糊查询查不出结果,现在头开始大了。原因在哪呢??调试了许久,才发现穿过来的值是乱码。天哪,这个值是我自己从表单中取的,怎么会是乱码呢?以前处理乱码的时候是struts在封装form的时候会出现中文乱码,这里没有封装form呀,怎么就会出现乱码呢?哎,没办法,只好加上了处理struts中文乱码的类,这个类继承reuestProcess,实现此方法中的processPreprocess,在里面设置编码集然后在struts-

config.xml通过controller配置,就可以搞定。。。。。。。。。
   不过对这个还是不太清楚的,总算清净了,想去会游戏。

原文地址:https://www.cnblogs.com/liuzhuqing/p/7481051.html