spring4.2+struts2.5+jdbc实例-PIMS(二)

来源:互联网 发布:好的南方二本院校知乎 编辑:程序博客网 时间:2024/06/05 12:07

登录功能实现


登录javaBean:

public class UserNameBean implements Serializable {    private String userName;    private String password;    public UserNameBean() {}    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

登录页面:

<body>    <div id="headerDiv">    </div>    <form action="login" method="post" onsubmit="return validate_form(this);">    <div id="bodyDiv">        <table id="table">         <tr>            <td id="td-text">用户名:<input type="text" name="userName" class="input" id="userName" placeholder="Username"></td>        </tr>        <tr>            <td id="td-text">密码:<input type="password" name="password" class="input" placeholder="Password"></td>        </tr>        </table>    </div>    <div id="buttonDiv">        <button class="button" type="submit">登录</button>    </div>    </form>    <div id="registerDiv">        Don't have a account? <a href="http://localhost:8080/PIMS/register.jsp">注册</a>    </div></body>

登录LoginAction:

    public String execute() throws Exception {        LoginDaoImpl ldi = new LoginDaoImpl();        //将用户名和密码加入到session中        String add = ldi.addlogin(request,this.getUserName());        if(add.equals("ok"))            return SUCCESS;        return ERROR;    }

对应DAO层代码:

public class LoginDaoImpl {    //获取statement对象    DB mysql=new DB();    private ResultSet rs = null;    private Statement st = mysql.getStatement();    //将用户名和密码保存到数据库    public ResultSet selectLogin(HttpServletRequest request, String userName,String password) {        try {            String sql = "select * from user where userName='" + userName + "' and password='" + password + "'";            return st.executeQuery(sql);        }catch(Exception e) {            e.printStackTrace();            return null;        }    }    //从数据库获取用户信息    //用户登录信息存入UserNameBean对象    //对象存入session    public String myLogin(HttpServletRequest request, String userName) {        try{            MessDaoImpl mdi = new MessDaoImpl();            ArrayList listName = null;            HttpSession session = request.getSession();            listName = new ArrayList();            rs = mdi.selectMess(request,userName);            if(rs.next()) {                rs = mdi.selectMess(request,userName);                while(rs.next()) {                    UserNameBean mess = new UserNameBean();                    mess.setUserName(rs.getString("userName"));                    mess.setPassword(rs.getString("password"));                    listName.add(mess);                    session.setAttribute("userName",listName);                }            }else {                session.setAttribute("userName",listName);            }            return "ok";        }catch(Exception e) {            e.printStackTrace();            return null;        }    }    //返回从session获取的userName    public String returnLogin(HttpServletRequest request) {        String LoginName = null;        HttpSession session = request.getSession();        ArrayList login = (ArrayList)session.getAttribute("userName");        if(login == null || login.size() == 0) {            LoginName = null;        }else {            for(int i = login.size() - 1; i >= 0; i--) {                UserNameBean nm = (UserNameBean)login.get(i);                LoginName = nm.getUserName();            }        }        return LoginName;    }    //调用myLogin将登录信息加入到session    public String addlogin(HttpServletRequest request, String userName) {        String sure = null;        String login = myLogin(request,userName);        if(login.equals("ok")) {            sure = "ok";        }else {            sure = null;        }        return sure;    }    //更新数据库和session的登录密码    public String updatePass(HttpServletRequest request, String userName,String password) {        try {            String sure = null;            String sql = "update user set password='" + password + "'where userName='" + userName + "'";            int row = st.executeUpdate(sql);                if(row == 1) {                    String mess = myLogin(request,userName);                    if(mess.equals("ok")) {                        sure = "ok";                    }else {                        sure = null;                    }                }else {                    sure = null;                }            return sure;        }catch(Exception e) {            e.printStackTrace();            return null;        }    }}
原创粉丝点击