package example;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.persistence.*;
import java.io.*;
public class LoginServlet extends HttpServlet {
// this injects the default entity manager factory
@PersistenceUnit
private EntityManagerFactory emf;
public void service ( HttpServletRequest req , HttpServletResponse resp)
throws ServletException, IOException {
// Create an EM here so that only this thread uses it.
EntityManager em = emf.createEntityManager();
try {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("
Login Successful " +
" ");
String name = req.getParameter("name");
String password = req.getParameter("password");
// Do a db look up in UserCredential table with the name as the PK
UserCredential credential = em.find(UserCredential.class, name);
// em.find returns null if not found, hence null check.
if (credential != null && credential.isMatchingPassword(password)) {
out.println("Welcome " + name);
} else {
out.println("Incorrect user name or password.");
}
out.println(" ");
} finally {
// we must close em so that provider can release resources.
em.close();
}
}
public void init( ServletConfig config) throws ServletException {
super.init(config);
}
}