首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

SSH有关问题请问

2012-07-30 
SSH问题请教好久没写SSH了,最近写了一个登录发现好多问题,请大侠赐教!action部分:Java codepublic String

SSH问题请教
好久没写SSH了,最近写了一个登录发现好多问题,请大侠赐教!
action部分:

Java code
public String login() throws Exception{        System.out.print(users.getUname());        System.out.print(users.getUpwd());        try {            Users loginUser=loginservice.login(users.getUname(),users.getUpwd());                    if(loginUser!=null){                ActionContext context=ActionContext.getContext();                context.getSession().put("LOGINUSER", loginUser);                return SUCCESS;            }        } catch (Exception e) {            log.error("登录查询失败", e);            return ERROR;        }                return INPUT;    }

service部分:
Java code
public Users login(String uname,String upass){        List list=usersDAO.findByUname(uname);                if(list==null ||list.size()==0){            return null;        }        Users users=(Users)usersDAO.findByUname(uname).get(0);                if(users==null){            return null;        }                if(uname.equals(users.getUname())&&upass.equals(users.getUpwd())){            return users;        }else{            return null;        }    }


dao部分:
Java code
public List findByUname(Object uname) {        return findByProperty(UNAME, uname);    }

Java code
public List findByProperty(String propertyName, Object value) {        log.debug("finding Users instance with property: " + propertyName                + ", value: " + value);        try {            String queryString = "from Users as model where model."                    + propertyName + "= ?";            return getHibernateTemplate().find(queryString, value);        } catch (RuntimeException re) {            log.error("find by property name failed", re);            throw re;        }    }

问题是,加断点调试。走完这些方法就回到action里的return ERROR

[解决办法]
这个可能是你的daoimpl里出了问题,你换种方式试试.
[解决办法]
把你的queryString打印出来看看。
[解决办法]
先检查你的参数传到daoimpl没有,数据库是否有对应的记录存在,检查查询结果是否为空. 这是我的理解,希望对你有帮助,不过一般daoimpl都是自己写的吧.
[解决办法]
探讨

您的意思是让我把整个自动生成的dao全部删除了自己写?

[解决办法]
http://www.iteye.com/problems/38304
你的问题很奇怪,应该是配置问题?
[解决办法]
代码没看出有什么问题,楼上说的很有可能,看看配置文件
[解决办法]
楼主把spring的配置文件粘出来,可能是bean没有配置对的问题。


[解决办法]
Java code
    <!-- 配置DAO组件的父模板 -->    <bean id="daoTemplate" abstract="true">        <!-- 注入sessionFactory引用 -->        <property name="sessionFactory" ref="sessionFactory"/>    </bean>    <!-- 流水号 -->    <bean id="sequenceDao" parent="daoTemplate" class="com.cms.dao.impl.SequenceDaoImpl" /> 


[解决办法]
<bean id="UsersDao" class="com.foraise.dao.impl.UsersDao">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

id="UsersDao" 改成小写 id="usersDao" 再试试。

热点排行