JDBC: Lab 2

					
/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: Mar 7, 2003
 * Time: 7:53:32 AM
 * To change this template use Options | File Templates.
 */
package com.annedirkse;

import java.sql.*;
import java.util.List;

public class UserManager {
    private static UserManager ourInstance;

    public synchronized static UserManager getInstance() {
        if (ourInstance == null) {
            ourInstance = new UserManager();
        }
        return ourInstance;
    }

    public boolean addUser(String username, String password) {
        ConnectionManager conMan = ConnectionManager.getInstance();
        String sql = "insert into users(username, password) values('"+username+"','"+password+"')";
        try {
          Connection con = conMan.getConnection();
          Statement state = con.createStatement();
            int i = state.executeUpdate(sql);
            if (i > 0) {
               return true;
            }
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
        return false;
    }

    public boolean usernameExists(String username) {
     String sql = "select count(*) from users where username = ?";
     try {
       ConnectionManager conMan = ConnectionManager.getInstance();
         Connection con = conMan.getConnection();
         PreparedStatement ps = con.prepareStatement(sql);
         ps.setString(1, username);
         ResultSet rs = ps.executeQuery();
         while(rs.next()) {
           if (rs.getInt(1) > 0) {
             return true;
           }
         }
     }
     catch(SQLException e) {
       e.printStackTrace();

     }
      return false;
    }

    public boolean isValidLogin(String username, String password) {
     String sql = "select count(*) from users where username = ? and password = ?";
     try {
       ConnectionManager conMan = ConnectionManager.getInstance();
         Connection con = conMan.getConnection();
         PreparedStatement ps = con.prepareStatement(sql);
         ps.setString(1, username);
         ps.setString(2, password);
         ResultSet rs = ps.executeQuery();
         while(rs.next()) {
           if (rs.getInt(1) > 0) {
             return true;
           }
         }
     }
     catch(SQLException e) {
       e.printStackTrace();
     }
      return false;
    }
    public static void main(String[] args) {
       UserManager userMan = UserManager.getInstance();
       System.out.println(userMan.usernameExists("anne"));
       System.out.println(userMan.isValidLogin("dirkse", "password"));

    }
    private UserManager() {
    }
}


package com.annedirkse;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletException;
import javax.servlet.RequestDispatcher;
import java.io.IOException;

/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: Mar 7, 2003
 * Time: 10:05:55 AM
 * To change this template use Options | File Templates.
 */
public class AddUser extends HttpServlet {

   public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
           throws ServletException, IOException {
      String username = request.getParameter("username");
      String password = request.getParameter("password");
      String password2 = request.getParameter("password2");



      if ((password == null)||((!password.equals(password2))||(password.length() < 1))) {
        RequestDispatcher rd1 = this.getServletContext().getRequestDispatcher("/addUser.jsp");
       }
      UserManager userMan = UserManager.getInstance();
       RequestDispatcher rd;

       if(!userMan.usernameExists(username)) {

         if (userMan.addUser(username, password)) {
          rd = this.getServletContext().getRequestDispatcher("/products.jsp");
         }
         else {
          rd = this.getServletContext().getRequestDispatcher("/addUser.jsp");
         }
        rd.forward(request, response);
      }
      else {
        rd = this.getServletContext().getRequestDispatcher("/addUser.jsp");
       }
   }
}

 <html>
   <head><title></title></head>
   <body>
     <form action="addUser" method="POST">
        <input type="text" name="username">
        <input type="password" name="password">
        <input type="password" name="password2">
        <input type="submit" value="Add User">
     </form>
   </body>
</html>