JavaEE写QQ注册登录页面

227 阅读4分钟

(个人经验,仅供参考,错误之处,敬请谅解)

JSP 实现前台页面

    使用html5+css3实现,不作过多描述


Java实现前后台交互

    ConnectionUtil类连接数据库(mysql)

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionUtil {
    public Connection getconn() throws SQLException{

        String driver="com.mysql.jdbc.Driver";
        String url="jdbc:mysql://localhost:3306/test";
        String user="";
        String password="";

        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Connection con=DriverManager.getConnection(url,user,password);
        return con;     
    }
}

    QQUser类具体每个用户

package entity;

public class QQUser {
    private String userId;
    private String userName;
    private String userPwd;
    private String birthDate;
    private String sex;
    private String birthPlace;
    private String hobby;
    //0:未删除  1:已删除
    private String is_del;
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPassword() {
        return userPwd;
    }
    public void setUserPassword(String userPwd) {
        this.userPwd = userPwd;
    }
    public String getBirthDate() {
        return birthDate;
    }
    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getBirthplace() {
        return birthPlace;
    }
    public void setBirthplace(String birthplace) {
        this.birthPlace = birthplace;
    }
    public String getHobby() {
        return hobby;
    }
    public void setHobby(String hobby) {
        this.hobby = hobby;
    }
    public String getIs_del() {
        return is_del;
    }
    public void setIs_del(String is_del) {
        this.is_del = is_del;
    }
}

    DeleteDao类连接数据库删除一个用户

package dao;

import java.util.*;
import java.sql.*;
import util.ConnectionUtil;

public class DeleteDao {
    ConnectionUtil connutil=new ConnectionUtil();
    public int deleteQQUserById(String userId) throws SQLException{
        Connection con=connutil.getconn();
        //sql
        String sql=" update info_qq set is_del='1' where qq_num=? ";
        PreparedStatement ps=con.prepareStatement(sql);
        ps.setString(1,userId);
        int result=ps.executeUpdate();
        return result;
    }
}

    InsertDao类连接数据库插入用户

package dao;

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

import entity.QQUser;
import util.ConnectionUtil;

public class InsertDao {
    ConnectionUtil connutil=new ConnectionUtil();
    public int insertUser(QQUser qqUser) throws SQLException{
        Connection conn=connutil.getconn();

        String sql=" insert into info_qq (nick_name,qq_num,qq_pwd,birthDate,sex,birthPlace,hobby,is_del) values(?,?,?,?,?,?,?,?) ";
        PreparedStatement ps=conn.prepareStatement(sql);

        //String userId=request.getParameter("userId");
        //Date date=new Date();
        //String insertDate=date.toString();

        ps.setString(1, qqUser.getUserName());
        ps.setString(2, qqUser.getUserId());
        ps.setString(3, qqUser.getUserPassword());
        ps.setString(4, qqUser.getBirthDate());
        ps.setString(5, qqUser.getSex());
        ps.setString(6, qqUser.getBirthplace());
        ps.setString(7, qqUser.getHobby());
        ps.setString(8, "0");

        int result=ps.executeUpdate();
        return result;
    }
}

    SearchDao类连接数据库查询相关信息

package dao;

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 entity.QQUser;
import util.ConnectionUtil;

public class SearchDao {
    ConnectionUtil connutil=new ConnectionUtil();
    public List<QQUser> getQQUserList() throws SQLException{
        Connection conn=connutil.getconn();
        String sql=" select * from info_qq where is_del='0' ";
        PreparedStatement ps=conn.prepareStatement(sql);
        ResultSet rs=ps.executeQuery();
        List<QQUser> list=new ArrayList();
        while(rs.next()){
            QQUser qqUser=new QQUser();
            qqUser.setUserId(rs.getString("qq_num"));
            qqUser.setUserName(rs.getString("nick_name"));
            qqUser.setUserPassword(rs.getString("qq_pwd"));
            qqUser.setBirthDate(rs.getString("birthDate"));
            qqUser.setSex(rs.getString("sex"));
            qqUser.setBirthplace(rs.getString("birthPlace"));
            qqUser.setHobby(rs.getString("hobby"));
            list.add(qqUser);
        }
        return list;
    }
    public QQUser getQQUserById(String userId) throws SQLException{
        Connection conn=connutil.getconn();
        String sql=" select * from info_qq where qq_num=? ";
        PreparedStatement ps=conn.prepareStatement(sql);
        ps.setString(1, userId);
        ResultSet rs=ps.executeQuery();
        QQUser qqUser=new QQUser();
        while(rs.next()){
            qqUser.setUserId(rs.getString("qq_num"));
            qqUser.setUserName(rs.getString("nick_name"));
            qqUser.setUserPassword(rs.getString("qq_pwd"));
            qqUser.setBirthDate(rs.getString("birthDate"));
            qqUser.setSex(rs.getString("sex"));
            qqUser.setBirthplace(rs.getString("birthPlace"));
            qqUser.setHobby(rs.getString("hobby"));
        }
        return qqUser;
    }
    public String getQQPwdById(String userId) throws SQLException{
        Connection conn=connutil.getconn();
        String sql=" select qq_pwd from info_qq where qq_num=? ";
        PreparedStatement ps=conn.prepareStatement(sql);
        ps.setString(1, userId);
        ResultSet rs=ps.executeQuery();
        String qq_pwd="";
        while(rs.next()){
            qq_pwd = rs.getString("qq_pwd"); 
        }
        return qq_pwd;
    }
}

    UpdateDao类连接数据库修改用户信息

package dao;

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

import entity.QQUser;
import util.ConnectionUtil;

public class UpdateDao {
    ConnectionUtil connutil=new ConnectionUtil();
    public int updateQQUserById(QQUser qqUser) throws SQLException{
        Connection conn=connutil.getconn();
        //sql���
        String sql="update info_qq set nick_name=?,qq_pwd=?,birthDate=?,sex=?,birthPlace=?,hobby=? where qq_num=?";
        PreparedStatement ps=conn.prepareStatement(sql);
        ps.setString(1, qqUser.getUserName());
        ps.setString(2,qqUser.getUserPassword());
        ps.setString(3,qqUser.getBirthDate());
        ps.setString(4,qqUser.getSex());
        ps.setString(5, qqUser.getBirthplace());
        ps.setString(6, qqUser.getHobby());
        ps.setString(7, qqUser.getUserId());
        int result=ps.executeUpdate();
        return result;
    }

    QQUserServer类实例化将QQUser作为对象的方法

package server;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import dao.DeleteDao;
import dao.InsertDao;
import dao.SearchDao;
import dao.UpdateDao;
import entity.QQUser;

public class QQUserServer {
        InsertDao insertDao=new InsertDao();

        public boolean insertUser(QQUser qqUser){
            boolean rusult=false;
            try {
                rusult=insertDao.insertUser(qqUser)>0;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return rusult;
        }

        SearchDao searchDao = new SearchDao();
        public List<QQUser> getQQUserList(){
            List<QQUser> list=new ArrayList<QQUser>();
            try {
                list=searchDao.getQQUserList();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return list;

        }
        public QQUser getQQUserById(String userId){
            QQUser qqUser=new QQUser();
            try {
                qqUser=searchDao.getQQUserById(userId);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return qqUser;
        }
        public String getQQPwdById(String userId){
            String qq_pwd="";
            try {
                qq_pwd=searchDao.getQQPwdById(userId);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return qq_pwd;

        }

        DeleteDao deleteDao = new DeleteDao();
        public boolean deleteQQUserById(String userId){
            boolean rusult=false;
            try {
                rusult=deleteDao.deleteQQUserById(userId)>0;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return rusult;
        }

        UpdateDao updateDao = new UpdateDao();
        public boolean updateQQUserById(QQUser qqUser){
            boolean result=false;
            try {
                result=updateDao.updateQQUserById(qqUser)>0;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return result;
        }   
}

    DeleteServlet类处理delete请求

package servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.QQUser;
import server.QQUserServer;

public class DeleteServlet extends HttpServlet {

    QQUserServer server=new QQUserServer();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
            List<QQUser> list=new ArrayList();
            list=server.getQQUserList();
            request.setAttribute("list", list);
            request.getRequestDispatcher("/users.jsp").forward(request,response);
        }else{
            doPost(request, response);
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String userId=request.getParameter("userId");
        boolean result=server.deleteQQUserById(userId);
        if(result){
            response.sendRedirect("/LoginTest/delete");
        }else{
            response.sendRedirect("/test/fail.html");
        }
    }

}

    InsertServlet类处理insert请求

package servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.QQUser;
import server.QQUserServer;

public class InsertServlet extends HttpServlet {

    QQUserServer server=new QQUserServer();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.sendRedirect("/LoginTest/regiter.html");
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String userName="";
        String userPassword="";
        String birthDate="";
        String sex="";
        String userPlace="";
        String hobby="";
        if(request.getParameter("userName")==null||"".equals(request.getParameter("userName"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("userPwd")==null||"".equals(request.getParameter("userPwd"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("birthDate")==null||"".equals(request.getParameter("birthDate"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("sex")==null||"".equals(request.getParameter("sex"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("userPlace")==null||"".equals(request.getParameter("userPlace"))){
                response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("hobby")==null||"".equals(request.getParameter("hobby"))){
                    response.sendRedirect("/LoginTest/fail.html");
        }else{
            //生成id
            StringBuilder str=new StringBuilder();//定义变长字符串
            Random random=new Random();
            //随机生成数字,并添加到字符串
            for(int i=0;i<8;i++){
                str.append(random.nextInt(10)+1);
            }
            //将字符串转换为数字
            String userId=str.toString();
            userName=request.getParameter("userName");
            userPassword=request.getParameter("userPwd");
            birthDate = request.getParameter("birthDate");
            sex = request.getParameter("sex");
            userPlace = request.getParameter("userPlace");
            hobby = request.getParameter("hobby");

            QQUser qqUser=new QQUser();
            qqUser.setUserId(userId);
            qqUser.setUserName(userName);
            qqUser.setUserPassword(userPassword);
            qqUser.setBirthDate(birthDate);
            qqUser.setSex(sex);
            qqUser.setBirthplace(userPlace);
            qqUser.setHobby(hobby);

            boolean result=false;
            result=server.insertUser(qqUser);
            if(result){
                List<QQUser> list=new ArrayList();
                list=server.getQQUserList();
                request.setAttribute("list", list);
                request.getRequestDispatcher("/users.jsp").forward(request,response);

            }else{
                response.sendRedirect("/LoginTest/fail.html");
            }
        }
    }
}

    LoginServlet类处理login请求

package servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.QQUser;
import server.QQUserServer;

public class LoginServlet extends HttpServlet {

    QQUserServer server=new QQUserServer();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else{
            doPost(request, response);
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String userPwd=request.getParameter("userPwd");
        String userId=request.getParameter("userId");
        String qq_pwd = server.getQQPwdById(userId);
        if(qq_pwd.equals(userPwd)){
            response.sendRedirect("/LoginTest/login_success.html");
        }else{
            response.sendRedirect("/LoginTest/fail.html");
        }
    }

}

    UpdateServlet类处理update请求

package servlet;

import java.io.IOException;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.QQUser;
import server.QQUserServer;

public class UpdateServlet extends HttpServlet {

    QQUserServer server=new QQUserServer();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else{
            String userId=request.getParameter("userId");
            QQUser qqUser=new QQUser();
            qqUser=server.getQQUserById(userId);
            request.setAttribute("qqUser", qqUser);
            request.getRequestDispatcher("/user_update.jsp").forward(request,response);
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String userId="";
        String userName="";
        String userPassword="";
        String birthDate="";
        String sex="";
        String userPlace="";
        String hobby="";
        if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("userName")==null||"".equals(request.getParameter("userName"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("userPwd")==null||"".equals(request.getParameter("userPwd"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("birthDate")==null||"".equals(request.getParameter("birthDate"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("sex")==null||"".equals(request.getParameter("sex"))){
            response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("userPlace")==null||"".equals(request.getParameter("userPlace"))){
                response.sendRedirect("/LoginTest/fail.html");
        }else if(request.getParameter("hobby")==null||"".equals(request.getParameter("hobby"))){
                    response.sendRedirect("/LoginTest/fail.html");
        }else{
            userId=request.getParameter("userId");
            userName=request.getParameter("userName");
            userPassword=request.getParameter("userPwd");
            birthDate = request.getParameter("birthDate");
            sex = request.getParameter("sex");
            userPlace = request.getParameter("userPlace");
            hobby = request.getParameter("hobby");
            QQUser qqUser=new QQUser();
            qqUser.setUserId(userId);
            qqUser.setUserName(userName);
            qqUser.setUserPassword(userPassword);
            qqUser.setBirthDate(birthDate);
            qqUser.setSex(sex);
            qqUser.setBirthplace(userPlace);
            qqUser.setHobby(hobby);
            boolean result=server.updateQQUserById(qqUser);
            if(result){
                response.sendRedirect("/LoginTest/delete");
            }else{
                response.sendRedirect("/LoginTest/fail.html");
            }
        }
    }
}

前面的类构成了前后台的交互以及对数据库进行操作。主要运用servlet技术