我用strugs2和hibernate做个小网站,结果在测试的时候发现了问题/*
类之间的调用就像下面的,两个factory就简单的返回一个对应的实例
MyAction=>ControlFactory=>SysControl=>DaoFactory=>SysDao=>DaoHelper
我直接在eclipse里面以java application执行MyAction里面的方法的时候,一切正常
当我在浏览器访问action时,方法正常调用,但是当执行到SysDao里面的时候,调用DaoHelper时,就停止了,没有任何异常,仿佛运行到那,就不了了之了一样,实在是弄不明白
*///struts2的Action类
class MyAction
{
public String getList(){
ControlFactory.getSysControl().getList();//正常
return "success";
}
}//做一些处理
class SysControl
{
public List getList(){
return DaoFactory.getSysDao().getList();//正常
}
}//封装数据库处理
class SysDao
{
public List getList(){
String hql = "from SysMenu";//单步调试的时候,这里能进来
return DaoHelper.listAll(hql);//运行到这步,没反应了
}
}//封装hibernate处理
class DaoHelper
{
public List listAll(String hql){
System.out.println("执行");//这句都不会显示
List list = null;
//一些hibernate操作
return list;
}
}
不知道大家有没有碰到这样的事情,很是苦恼啊现在
类之间的调用就像下面的,两个factory就简单的返回一个对应的实例
MyAction=>ControlFactory=>SysControl=>DaoFactory=>SysDao=>DaoHelper
我直接在eclipse里面以java application执行MyAction里面的方法的时候,一切正常
当我在浏览器访问action时,方法正常调用,但是当执行到SysDao里面的时候,调用DaoHelper时,就停止了,没有任何异常,仿佛运行到那,就不了了之了一样,实在是弄不明白
*///struts2的Action类
class MyAction
{
public String getList(){
ControlFactory.getSysControl().getList();//正常
return "success";
}
}//做一些处理
class SysControl
{
public List getList(){
return DaoFactory.getSysDao().getList();//正常
}
}//封装数据库处理
class SysDao
{
public List getList(){
String hql = "from SysMenu";//单步调试的时候,这里能进来
return DaoHelper.listAll(hql);//运行到这步,没反应了
}
}//封装hibernate处理
class DaoHelper
{
public List listAll(String hql){
System.out.println("执行");//这句都不会显示
List list = null;
//一些hibernate操作
return list;
}
}
不知道大家有没有碰到这样的事情,很是苦恼啊现在
解决方案 »
- 怎样通过数据库读取另一台电脑保存的图片
- 在线等~~~~~~~~~~String的问题
- 请教下如何通过classloader来重新加载一个jar文件
- 怎么把数据源从Spring配置文件移动到properties文件就不行了?
- java1.6的API中文版
- 求教连接Office的API
- hashCode(),containsKey及equals的一些粗浅体会
- 跪求:JAVA如何计算机出今天为今年的第几周?(高分求答)
- java中的中文支持问题
- 两台电脑连接Socket问题:java.net.ConnectException: Connection refused: connect
- 为什么JCombox总是报错?
- 求JAVA实现SOA框架的简单代码
加个log4j看看,感觉你这里是直接 类名.方法名(如果是这样的话把方法listAll()写成static的,看看);
现在就是执行到return DaoHelper.listAll(hql)这句,就莫名其妙的没反应了
JavaAppliction运行又很正常
class SysDao
{
public List getList(){
String hql = "from SysMenu";//单步调试的时候,这里能进来
return DaoHelper.listAll(hql);//运行到这步,没反应了
//listAll又不是静态方法,怎么能这样直接调用?
}
}//封装hibernate处理
class DaoHelper
{
public List listAll(String hql){
System.out.println("执行");//这句都不会显示
List list = null;
//一些hibernate操作
return list;
}
}
显示。所以你的方法实际上应该走进去了。只不过 System.out.println("执行");
本身就不能显示出来。你换个思路啊。
比如在request里面设置,然后jsp显示在浏览器上,不就知道方法有没有
运行到了嘛。/
class DaoHelper
{
public List listAll(String hql){
request.setAttribute("DaoHelper","true!");
List list = null;
//一些hibernate操作
return list;
}
}
谢谢,DaoHelper里面的都是静态,我发上面的时候忘写了