javaBean+jsp+mysql实现登录验证

来源:互联网 发布:淘宝分销平台下载 编辑:程序博客网 时间:2024/05/18 12:36

最近做些小例子来复习,拿出来跟大家分享

 

源码展示:

UserBean.java

package test.bean;public class UserBean {   //属性名称与表单元素相同时,可实现 自省String userName = null;String userPwd = null;boolean logined = false;//无参数的构造方法public UserBean(){//读取userNmae属性}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}public boolean isLogined() {return logined;}public void setLogined(boolean logined) {this.logined = logined;}}
 

DBBean.java

package test.bean;import java.sql.*;public class DBBean {Connection con = null;Statement stat = null;PreparedStatement pstat = null;ResultSet rs = null;//无参数的构造函数public DBBean() {}//取得数据库连接public Connection getCon(){try{Class.forName("com.mysql.jdbc.Driver").newInstance();String url = "jdbc:mysql://localhost:3306/userdb?user=root&password=root&useUnicode=true&characterEncoding=gb2312";con = DriverManager.getConnection(url);}catch(Exception ex){ex.printStackTrace();}return con;}//执行数据库查询并返回查询结果public ResultSet query(String sql){try{con = getCon();stat = con.createStatement();rs = stat.executeQuery(sql);}catch(Exception ex){ex.printStackTrace();}return rs;}//执行数据库更新public void update(String sql){try{con = getCon();stat = con.createStatement();stat.executeUpdate(sql);}catch(Exception ex){ex.printStackTrace();}}//执行数据库更新public void update(String sql,String[] args){try{con = getCon();pstat = con.prepareStatement(sql);for (int i=0;i<args.length;i++){pstat.setString(i+1,args[i]);}pstat.executeUpdate();}catch(Exception ex){ex.printStackTrace();}}//关闭数据库连接public void close(){try{if (rs != null)rs.close();if (stat != null)stat.close();if (pstat != null)pstat.close();if (con != null)con.close();}catch(Exception ex){ex.printStackTrace();}}}

 


login.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html>  <head>        <title>用户登录</title><script type="text/javascript">  //进行表单验证  function check(){   if(document.all.userName.value==""){    alert("对不起,用户名不能为空值!");   }   if(document.all.userPwd==""){    alert("对不起,密码不能为空值!")    return false;   }   return true;  }</script>  </head>    <body>    <form action="chkuser.jsp" name ="form1" method="pos" onSumbit="return cheek()">               登录账号:               <input type="text" id="userName" name ="userName"/><br/>              登录密码:              <input type="text" id="userPwd" name="userPwd" /><br/>              <input type="submit" name="submit" value="提交"/>              <input type="reset" name="reset" value="重设"/>    </form>  </body></html>

 

chkuser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ page import="java.sql.*"%><%@ page import="test.bean.DBBean"%><%@ page import="test.bean.UserBean"%><jsp:useBean id="myDBbean" class="test.bean.DBBean"></jsp:useBean><jsp:useBean id="user" class="test.bean.UserBean" scope="session"></jsp:useBean><jsp:setProperty name="user" property="*" /><html>  <head>    <title>用户登录验证</title>  </head>    <body>    <h2>用户登录验证</h2>    <hr>    <%//user对象中的userName和userPWD是通过自省完成赋值的String userName = user.getUserName();String userPwd = user.getUserPwd();String sql = "select * from user where userName='"+userName+"' and userPwd='"+userPwd+"'";if (user.isLogined()){out.println("您已经登录过了!");}else{ResultSet rs = myDBbean.query(sql);if (rs.next()){user.setLogined(true);out.println("恭喜您登录成功!");}else{user.setLogined(false);out.println("对不起,您的帐号或密码不正确!");}}       %>  </body></html>

 

数据库: