| |
JDBC: Lab 3
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"));
}
private UserManager() {
}
}
package com.annedirkse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import java.io.IOException;
public class LogIn extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
String username = request.getParameter("username");
String password = request.getParameter("password");
UserManager userMan = UserManager.getInstance();
ServletContext sc = this.getServletContext();
RequestDispatcher rd;
if(userMan.isValidLogin(username, password)) {
rd = sc.getRequestDispatcher("/products.html");
}
else {
request.setAttribute("errorMessage", "Invalid Login");
rd = sc.getRequestDispatcher("/login.jsp");
}
rd.forward(request, response);
}
}
<html>
<head><title></title></head>
<body>
<% String message = (String)request.getAttribute("errorMessage");
if (message != null) { %>
<%=message%>
<% } %>
<form action="login" method="POST">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Log In">
</form>
</body>
</html>
|
 |