基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成

使用mvc结构在web页面实现登录和注册功能

1.首先在数据库创建一个表(admin)含有(两个字段)分别是LoginId和LoginPwd,如图,在这里我使用的mysql数据库,我插入了两条数据。

基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成_第1张图片

2.在myeclipse2014软件中,创建一个web项目,我这里创建的项目名称叫做jspMVC01,最终项目应该这样的。实现的效果是注册成功之后,跳转到登录页面,然后输入注册的信息,显示成功登录,用户名或者密码不正确则显示登录失败的字样。

基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成_第2张图片 基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成_第3张图片
基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成_第4张图片基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成_第5张图片

3.下面我来介绍下,如何一步步实现功能。

(1).在com.JDBC.entity包下面创建一个Admin的实体类,数据库有几个字段,这里面就有来几个属性,Admin里面的代码如下:

package com.JDBC.entity;

public class Admin {
	
	private String LoginId;
	private String LoginPwd;
	public String getLoginId() {
		return LoginId;
	}
	public void setLoginId(String loginId) {
		LoginId = loginId;
	}
	public String getLoginPwd() {
		return LoginPwd;
	}
	public void setLoginPwd(String loginPwd) {
		LoginPwd = loginPwd;
	}
	@Override
	public String toString() {
		return "Admin [LoginId=" + LoginId + ", LoginPwd=" + LoginPwd + "]";
	}
	public Admin(String loginId, String loginPwd) {
		super();
		LoginId = loginId;
		LoginPwd = loginPwd;
	}
}

(2).创建一个连接数据库的配置文件database.properties,注意这是连接数据库的操作,里面代码如下:

className=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/myschool02
user=root
password=root

(3).在com.JDBC.Dao层下创建连接数据库的方法类BaseDao:

package com.JDBC.Dao;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class BaseDao {
	/*private static final String className="com.mysql.jdbc.Driver";
	private static final String url="jdbc:mysql://localhost:3306/myschool02";
	private static final String user="root";
	private static final String  password="itcast";*/
	
	@SuppressWarnings("finally")
	public static Connection getConn(){
		Properties properties=new Properties();
		String filename="database.properties";
		InputStream is=BaseDao.class.getClassLoader().getResourceAsStream(filename);		
		try {
			properties.load(is);
		} catch (IOException e) {
			e.printStackTrace();
		}
	 	String className=properties.getProperty("className");
	 	String url=properties.getProperty("url");
	 	String user=properties.getProperty("user");
	 	String password=properties.getProperty("password");
		/******************************************************/
		Connection conn=null;
		try {
			Class.forName(className);
			conn=DriverManager.getConnection(url,user,password);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}finally{ 
		   return conn;
		}
	}
     public static void closeAll(Connection conn,Statement st,ResultSet rs){
    	 try{
    		 if (conn!=null && !conn.isClosed()) {  //如果数据库连接接口有内容,并且没有关闭
				conn.close();  //关闭数据库连接
				conn=null;     //清空引用
			}
    		 if (st!=null && !st.isClosed()) { //如果数据库语句有内容,并且没有关闭
				st.close();  //关闭数据库语句
				st=null;     //清空引用
			}
    		 if (rs!=null && !rs.isClosed()) {
				rs.closh    }

}

(4).再在com.JDBC.Dao层创建AdminDao的接口类:
package com.JDBC.Dao;

import java.util.List;
import com.JDBC.entity.Admin;

public interface AdminDao {
public List getAllAdmin();
public int insertAdmin(Admin admin);

}

(5).comJDBC.Dao.impl包下面创建一个类(Admindao)来继承BaseDao,
实现AdminDao接口:

package com.JDBC.Dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.JDBC.Dao.AdminDao;
import com.JDBC.Dao.BaseDao;
import com.JDBC.entity.Admin;

public class AdminDaoImpl extends BaseDao implements AdminDao {

/**
 * 登录
 */
@SuppressWarnings("finally")
@Override
public List getAllAdmin() {
	Connection conn=getConn();
	PreparedStatement pstmt=null;
	ResultSet rs=null;
	List adminlist=new ArrayList();
	try {
		pstmt=conn.prepareStatement("select * from admin");
		rs=pstmt.executeQuery();
		while(rs.next()){
			String LoginId=rs.getString("LoginId");
			String LoginPwd=rs.getString("LoginPwd");
			Admin admin=new Admin(LoginId,LoginPwd);
			adminlist.add(admin);
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}finally{
		closeAll(conn, pstmt, rs);
		return adminlist;
	}	
}

/**
 * 注册
 */
@SuppressWarnings("finally")
@Override
public int insertAdmin(Admin admin) {
	Connection conn=getConn();
	PreparedStatement pstmt=null;
	int result=0;
	try {
		pstmt=conn.prepareStatement("insert into admin(LoginId,LoginPwd) values(?,?)");
		pstmt.setString(1,admin.getLoginId());
		pmt.sString(2, admin.getLoginPwd());
		result=pstmt.executeUpdate();
	} catch (SQLException e) {
		e.printSt

crace();
}finally{
closeAll(conn, pstmt, null);
return result;
}
}

}
(6).在com.JDBC.Biz层创建一个AdminBiz:
package com.JDBC.Biz;

public interface AdminBiz {

public void select();
public boolean login(String loginid,String loginpwd);  //登录的方法
public boolean regist(String loginId,String loginPwd); //注册的方法

}

你可能感兴趣的:(基本java web开发(含有数据库),实现简单的登录和注册功能案列,使用mvc三层结构完成)