2 qq 30750507 qq_30750507 于 2016.05.10 16:08 提问

求各位大神帮忙struts2+hibernate 实现用户登录注册的代码 10C

控制台异常:严重: Exception occurred during processing request: Method "login" failed for object action.UsersAction@5d66d80b
ognl.MethodFailedException: Method "login" failed for object action.UsersAction@5d66d80b [java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration]
service层,usersdao代码:

          @Override
            public boolean usersRegist(Users u) {
        // TODO Auto-generated method stub
        //事务管理
        Transaction tx = null;
        Session session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
        try{
            tx = session.beginTransaction(); //开启事务 
            session.save(u);//将Users对象插入数据库 
            tx.commit();//提交事务
            return true;
        }
        catch(Exception ex){    
             ex.printStackTrace();//打印异常
             tx.commit();//提交事务
             return false;
        }finally{
            if(tx != null){
                tx = null;
            }
        }       
    }
    @Override
    public boolean usersLogin(Users u) {
        // TODO Auto-generated method stub
        Transaction tx = null;
        String hql="";
        Session session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
        try{
            tx = session.beginTransaction(); //开启事务 
            hql="from Users where username=? and password=?";
            Query query = session.createQuery(hql);
            query.setParameter(0,u.getUsername());
            query.setParameter(1, u.getPassword());
            List list = query.list();
            tx.commit();//提交事务
            if(list.size() > 0){
                return true;
            }else{
                return false;
            }

        }
        catch(Exception ex){    
             ex.printStackTrace();//打印异常

             tx.commit();//提交事务
             return false;
        }finally{
            if(tx != null){
                tx = null;
            }
        }
    }
    动作层:
    public class UsersAction extends SuperAction implements ModelDriven<Users>{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Users u = new Users();
    //用户注册动作
    public String regist(){
        UsersDAO udao = new UsersDAOImpl();
        if(udao.usersRegist(u)){            
            return "regist_success";
        }else{
            return "regist_failure";
        }
    }
    //用户登陆动作
    public String login(){
        UsersDAO udao = new UsersDAOImpl();
        if(udao.usersLogin(u)){         
            return "success";
        }else{
            return "failure";
        }
    }
    public Users getModel() {
        // TODO Auto-generated method stub
        return this.u;      
    }   
}
struts.xml配置:
<package name="users" namespace="/users" extends="default">
        <action name="*_*" class="action.{1}Action" method="{2}">
            <result name="regist_success">/users/Users_login_success.jsp</result>
            <result name="regist_failure">/users/Users_login.jsp</result>
            <result name="success">/users/Users_login_success.jsp</result>
            <result name="failure">/users/Users_login.jsp</result>          
        </action>
    </package> 

        .jsp表单:
        <form name="loginForm" action="<%=path%>/users/Users_login.action" method="post">
        <form name="registFrom" action="<%=path%>/users/Users_regist.action" method="post">

6个回答

CSDNXIAON
CSDNXIAON   2016.05.10 16:14

Struts2+hibernate实现用户登录和增删改查案例
Struts2+hibernate实现用户登录和增删改查案例
Struts2 拦截器实现用户登录(关键代码)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

fubo1990
fubo1990   2016.05.10 16:16

错误说的是:你没有org/hibernate/cfg/Configuration配置文件,也就是你没有配置hibernate文件

u012377333
u012377333   Rxr 2016.05.10 16:21

Method "login" failed for object action.UsersAction@5d66d80b [java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration]

报错,找不到类报错;

你的逻辑显示,直接在DAO做的,也就是usersdao这个类,在你的Action响应层里面:

 public String login(){
        UsersDAO udao = new UsersDAOImpl();
        if(udao.usersLogin(u)){         
            return "success";
        }else{
            return "failure";
        }
    }

我猜测UsersDAOImpl这个是你usersdao类的接口类;
接口不是不能直接实例化对象的,直接
UsersDAO udao = new UsersDAO();
就可以了。

qq_30750507
qq_30750507 usersdao是业务逻辑接口类
大约 2 年之前 回复
qq_30750507
qq_30750507   2016.05.10 16:21



root
root
com.mysql.jdbc.Driver
name="connection.url">jdbc:mysql:///test?useUnicode=true&characterEncoding=UTF-8
<!-- 方言类, -->

org.hibernate.dialect.MySQLDialect
true
true
update
thread

    <mapping resource="entity/Users.hbm.xml"/>   <!--  将对象关系映射文档加入主配置 -->

</session-factory>


这是我配置的,对吗?我按着教程来的。


qq_30750507
qq_30750507   2016.05.10 16:22
 <hibernate-configuration>
    <session-factory >
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property 
        name="connection.url">jdbc:mysql:///test?useUnicode=true&amp;characterEncoding=UTF-8</property>
                <!-- 方言类, -->  
        <property name="dialect"> org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="hbm2dd1.auto">update</property>
        <property name="hibernate.current_session_context_class">thread</property>


        <mapping resource="entity/Users.hbm.xml"/>   <!--  将对象关系映射文档加入主配置 -->

    </session-factory>
</hibernate-configuration>

这个。发错了。

baidu_23086307
baidu_23086307   2016.05.10 16:25

楼上正解。。。。。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
struts2+hibernate整合实现登录注册功能
自己做的struts2+hibernate整合实现登录注册功能,
struts2+Hibernate实现用户登陆功能
实现的功能,在登陆页面输入Username和PassWord后,将username和password通过Hibernate匹对数据库是否含有一样的username和password,若有则登陆进去,若没有则返回到登陆页面 显示层 @ page language="java" contentType="text/html; charset=GB18030" pageEncod
eclipse下用J2EE(hibernate,struts2,spring)实现的简单登录、注册系统
最近加入了大四学长们的开源项目,本想在里面凑个人数,仅仅体验下开发的流程,没想到学长们竟然安排了精心的培训,向我们细致的介绍了J2EE的实现框架,着重强调了SPRING,HIBERNATE,STRUTS三者的分工,与合作,so,不用心也难啊~~~他们说的时候都明白,但真正到了自己做又是另一码事,在断断续续近两周的时间,我终于自己成功配置出一套登录注册系统,平台是在ECLIPSE下,虽然非常简单,但
Spring3整合Struts2+Hibernate 实现注册、数据库验证登陆
1 web.xml 与上一篇一样 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
Structs2+Hibernate 简单登录验证实例
Structs2 和 Hibernate 简单登录验证实例版本信息Structs版本 2.3.31 Hibernate版本 4.3.11 Tomcat 8.0 JDK 1.8 Eclipse版本 Neon.1a Release (4.6.1) Eclipse插件JBoss Tools 4.4.1 数据库 MySQL案例 综合Structs 和 Hibernate,Structs 做页面跳转,Hi
Struts 2+Hibernate实现完整登录注册(带验证)
Struts 2+Hibernate实现完整登录注册(带验证)环境 MyEclipse 2014 数据库:SQL sever 2016 Tomcat:apache-tomcat-8.0.46 JDK:1.6 Sturts版本:2.1 Hibernate版本:4.1 前期准备 创建项目以后,为项目添加Sturts和Hibernate能力 连接数据库并生成
Struts2+hibernate实现用户登录和增删改查案例
Struts2+hibernate实现用户登录和增删改查案例 开发工具MyEclipse 10.7.1 创建一个项目 web项目project。 部署好Struts2的开发环境:      1、引入需要的类库文件 jar      2、添加struts2的配置文件 struts.xml    //src路径  :classespath:
SH2 简单整合了Struts2和Hibernate框架,实现了登录、注册功能
简单整合了Struts2和Hibernate框架,实现了登录、注册功能
Struts2和hibernate框架整合实现简单的注册登陆功能
Struts2和hibernate框架整合实现简单的注册登陆功能,本例采用的数据库是Mysql,需要先下载导入mysql-connector-java-5.1.34-bin包,开发平台是myeclipse,例子简单,详细,可以运行,适合新手学习。
Struts2 + Hibernate实现用户登陆功能
先建立项目,根据需要加入框架支持。 先加入Hibernate: 再加入Struts2: 支持加入后,先建立一张用户表。 CREATE TABLE T_User (        userid         varchar2(40)        primary key ,        real_name      varchar2(2