zoukankan      html  css  js  c++  java
  • Struts2+hibernate 结合,实现登陆校验

    完整的项目在github中,数据库使用postgresql,建表语句见项目文档。

    下面我分块介绍一下struts2、hibernate、与页面部分的代码。

    Struts2

    UserAction.java

    public class UserAction extends ActionSupport{
         
        private String userid;
        private String password;
        private User user;
        private List<User> listUser;
         
        public String showuser() throws Exception{
            this.setUserid(getUserid());
            User userShow = UserDAO.getUser(userid);
             
            return SUCCESS;
        }
         
        public String login () throws Exception{
            this.setUserid(getUserid());
            this.setPassword(getPassword());
             
            if (this.getUserid()==null||this.getUserid().length()==0){
                System.out.println ("请输入userid!");
                return ERROR;
                }
            else{
                    List listUserRw = UserDAO.checkUser(userid, password);
                    if(listUserRw.size()>0){
                        System.out.println("账号密码正确,登陆成功!");
                        return SUCCESS;
                    }
                    else{
                        System.out.println("账号或密码错误!");
                        return ERROR;
                        }
                     
            }
             
             
        }
        //省略get set方法
    }   

    hibernate

    UserDAO.java

    public static List<User> checkUser(String userId,String userPwd) {
            Transaction tx = null;
            List<User> list = null;
            try {
                Session session = HibernateSessionFactory.getSessionFactory()
                        .openSession();
                tx = session.beginTransaction();
                Query query = session.createQuery("from User as u where u.userId=:userId and u.userPwd=:userPwd");
                query.setString("userId", userId);    
                query.setString("userPwd", userPwd);
                list = query.list();                            
                tx.commit();}
            catch (Exception e) {
                e.printStackTrace();
                tx.rollback();
            }
            HibernateSessionFactory.closeSession();
            return list;
        }

    前端.jsp

    <form action="login.action" method="post">
      <input type="text" name="userid" class="username" placeholder="请输入您的用户名!">
      <input type="password" name="password" class="password" placeholder="请输入您的用户密码!">   <button type="submit" class="submit_button">登录</button>   <div class="error"><span>+</span></div>
    </form>
  • 相关阅读:
    C# WinForm开发系列 Socket/WCF/Rometing/Web Services
    .net(c#) 简单的软件注册功能的实现:
    来自xici网友的Ubuntu和windows xp的Super PI性能测试
    最新的Linpack测试指南-基于woodcrest机器
    CFX x86_64 version issues 无法找到可执行文件
    如何检查一个mvapich的版本?
    Intel Tools Training Notes Intel Compiler, MKLs
    Infiniband IPoIB Debug FAQ
    让CFX的license server在开机的时候就自动启动
    FFTW 3.1.2 和 2.1.5编译
  • 原文地址:https://www.cnblogs.com/ryan255/p/5427850.html
Copyright © 2011-2022 走看看