团队冲刺--第一阶段(六)

一、前言

  昨天实现了登录注册功能。

  今天修改了登录注册功能,美化页面。遇到的问题,注册登录成功之后用户id的传递出现问题,对服务端servlet进行了修改。

  明天对页面进行美化。

二、成果展示

 三、代码

LoginServlet.java

package Servlet;

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

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Dao.UserDao;

@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;
     public LoginServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    UserDao dao = new UserDao();
    String table="user";//数据库中的表名
    
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        boolean b =dao.login(table,username);
        boolean bb=dao.login2(table,username, password);
        String message="";
        if(b) {
            if(bb) {
                int t=dao.login3(table, username);
                message+=t;
            }else {
                message="密码错误";
            }
        } else {
            message="该用户名不存在";
        }
        try {
            resp.getWriter().println(message);
            System.out.println(message);
            // 将消息传给客户端
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            resp.getWriter().close(); // 关闭这个流,不然会发生错误的
        }
    }
}
View Code

RServlet.java

package Servlet;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

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

import Dao.UserDao;

@WebServlet("/register")
public class RServlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;
     public RServlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    UserDao dao = new UserDao();
    String table="user";//数据库中的表名
    
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        System.out.println("request--->"+req.getRequestURL()+"===="+req.getParameterMap().toString());
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String message="";
        if(username!=null||password!=null) {
            boolean b =dao.login(table,username);
            if(!b) {
                dao.register(table,username,password); 
                message="注册成功";
            } else {
                message="该用户名已注册";
            }
            
        }
        
        try {
            resp.getWriter().println(message);
            System.out.println(message);
            // 将消息传给客户端
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            resp.getWriter().close(); // 关闭这个流,不然会发生错误的
        }
    }
        
}
View Code

UserDao.java

package Dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import util.DBUtil;

public class UserDao {

    public void register(String table,String username,String password) {
        String sql = "insert into "+table+" (username,password) values('" + username +"','" + password + "')";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        int a = 0;
        try {
            state = conn.createStatement();
            a=state.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }        
    }
    
    public boolean login(String table,String username) {
        // TODO Auto-generated method stub
        String sql = "select * from "+table+" where username ='" + username + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;    
        boolean b=false;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                b=true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        return b;        
    }
    
    public boolean login2(String table,String username, String password) {
        // TODO Auto-generated method stub
        String sql = "select * from "+table+" where username ='" + username + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;    
        boolean b=false;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                if(password.equals(rs.getString("password"))) {
                    b=true;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        return b;        
    }
    
    public int login3(String table,String username) {
        // TODO Auto-generated method stub
        String sql = "select * from "+table+" where username ='" + username + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;    
        int id = 0;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                id = rs.getInt("userid");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        return id;       
    }
}
View Code

四、今日团队链接

https://www.cnblogs.com/xhj1074376195/p/12741021.html

posted @ 2020-04-22 22:44  .HAHA  阅读(101)  评论(0编辑  收藏  举报