Javabean使用(一)


                                           登录验证页面

login.html:(完成前端页面的操作)

<html>
  <head>
    <title>用户登录</title>
    <meta http-equiv="content-type" content="text/html; charset=gb2312">
  </head>
  
  <script language="javascript">
	function check(){
		if (document.all.userName.value == ""){
			alert("对不起,登录帐号不能为空!");
			return false;
		}
		if (document.all.userPWD.value == ""){
			alert("对不起,登录密码不能为空!");
			return false;
		}
		return true;
	}
  </script> 
    
  <body>
    <h2>用户登录</h2>
    <hr>
    <form name="form1" method="post" action="chkuser.jsp" onSubmit="return check()">
    	登录帐号:
    	<input type="text" id="userName" name="userName"><br>
    	登录密码:
    	<input type="password" id="userPWD" name="userPWD"><br>
    	<input type="submit" name="submit" value="提交">
    	<input type="reset" name="reset" value="重填">
    </form>    
  </body>
</html>
DBBean.java  //完成数据库的操作

package test;

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";
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
		    Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=userdb","sa","123");
		    
			//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();
		}		
	}	
	
}
userBean.java


package test;(保存用户的信息)

public class UserBean {
	
	//属性名称与表单元素相同时,可实现自省
	String userName = null;
	String userPWD = null;
	boolean logined = false;

	//无参数的构造方法
	public UserBean() {}

	//读取userName属性
	public String getUserName() {
		return userName;
	}
	//设置userName属性
	public void setUserName(String userName) {
		this.userName = userName;
	}

	//读取userPWD属性
	public String getUserPWD() {
		return userPWD;
	}
	//设置userPWD属性
	public void setUserPWD(String userPWD) {
		this.userPWD = userPWD;
	}

	//读取logined属性
	public boolean isLogined() {
		return logined;
	}
	//设置logined属性
	public void setLogined(boolean logined) {
		this.logined = logined;
	}

}
chkuser.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="test.DBBean"%>
<%@ page import="test.UserBean"%>

<jsp:useBean id="myDBbean" class="test.DBBean"></jsp:useBean>

<jsp:useBean id="user" class="test.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 user1 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>



猜你喜欢

转载自blog.csdn.net/qq_34514415/article/details/78701115