使用JDBC+JSP分层实现新闻管理系统注册、登录功能

一、展示层

  • 注册:在register.jsp提交注册信息,保存到数据库。
  • 登录:在login.jsp提交登录信息,在数据库中查下有没这条数据。

二、数据访问层

  • 增加:发送sql语句,返回有多少条增加操作成功后直接关闭连接。
  • 查询:发送sql语句,返回ResultSet对象,要对ResultSet对象处理完成后才能关闭。

三、业务逻辑层

  • 注册:判断executeUpdate()方法返回的数值是否大于0,大于0则注册成功,否则注册失败。
  • 登录:判断对executeQuery()方法返回对象处理后的数值是否大于0,大于0则登录成功,否则登录失败。

关键代码

package org.news.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.news.dao.BaseDao;
import org.news.dao.NewsUserDao;
import org.news.entity.NewsUser;
public class NewsUserImpl extends BaseDao implements NewsUserDao {
    @Override
    public int findUser(NewsUser newsUser) {
    	int num=0;
    	Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;		
		try {
			conn = this.getConnection();
			String sql = "SELECT * FROM news_users WHERE  uname=? AND upwd=?";
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, newsUser.getUname());
			pstmt.setString(2, newsUser.getUpwd());
			rs = pstmt.executeQuery();
			if (rs.next()) {
				num=1;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			this.closeAll(conn, pstmt, rs);
		}
		
        return num;
    }

    @Override
    public int insert(NewsUser newsUser) {
        int result = 0;
        try {
            String sql = "INSERT INTO `NEWS_USERS`(`uname`, `upwd`) VALUES(?, ?)";
            Object[] param={newsUser.getUname(),newsUser.getUpwd()};
            result = this.executeUpdate(sql, param);
                      
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            this.closeAll(conn, null, null);
        }
        return result;
    }
}


猜你喜欢

转载自blog.csdn.net/Joe18576558921/article/details/80020050