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); } }