import java.io.*; import java.util.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet { private static String userName; private static String userPassword; private static final String dbDriverName = "sun.jdbc.odbc.JdbcOdbcDriver"; private static final String dbURL = "jdbc:odbc:MembersOnly"; private Connection dbConnection; private void connectToDatabase() { try { Class.forName (dbDriverName); dbConnection = DriverManager.getConnection( dbURL, userName, userPassword); dbConnection.setAutoCommit(false); } catch(Exception e) { System.out.println("LoginServlet - failed to connect to database"); System.out.println(e.toString()); } } public void init() { userName = getInitParameter("User"); userPassword = getInitParameter("Password"); connectToDatabase(); System.out.println("Loginservlet initialized"); } public void destroy() { if(dbConnection != null) { try { dbConnection.close(); } catch(Exception e) { } } } private void sendWelcome(HttpServletResponse response) throws ServletException, IOException { String deptcode = null; response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("" + "Welcome " ); out.println("

Welcome

"); out.println("We always like customers. "); out.println(" Bring your friends along."); out.println("

Our departments:

"); } public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if(dbConnection==null) { response.sendRedirect("/shop1/NoDB.html"); return; } String identifier = request.getParameter("Identifier"); int id = 0; try { id = Integer.parseInt(identifier); } catch(Exception e) { } String givenName = request.getParameter("GivenName"); SubscriberRecord aRecord = new SubscriberRecord(); boolean idOK = aRecord.loadFromDatabase(id, dbConnection); if(!idOK || (!givenName.equals(aRecord.getGivenName()))) { response.sendRedirect("/shop1/NonMember.html"); return; } HttpSession current = request.getSession(true); sendWelcome(response); } }