Advertisement
Guest User

Untitled

a guest
May 18th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.99 KB | None | 0 0
  1. package com.acebook;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.sql.Statement;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12.  
  13. import javax.servlet.ServletConfig;
  14. import javax.servlet.ServletException;
  15. import javax.servlet.UnavailableException;
  16. import javax.servlet.http.HttpServlet;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import javax.servlet.http.HttpSession;
  20.  
  21. public class LoginServlet extends HttpServlet {
  22.  
  23.     public void init(ServletConfig config) throws ServletException {
  24.         super.init(config);
  25.     }
  26.  
  27.     public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
  28.  
  29.         // Set as HTML, send <head>
  30.         response.setContentType("text/html");
  31.         PrintWriter out = response.getWriter();
  32.         out.println("<html>");
  33.         out.println("<head>");
  34.         out.println("<title>Login</title>");
  35.         out.println("</head>");
  36.         out.println("<body>");
  37.  
  38.         // Create session and connection
  39.         HttpSession session = request.getSession();
  40.         Connection connection;
  41.  
  42.         // Populate connection
  43.         try {
  44.             connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/Acebook", "root", "90187666");
  45.         } catch (SQLException ex) {
  46.             connection = null;
  47.              connection = (Connection) session.getAttribute("connection");
  48.             Logger.getLogger(LoginServlet.class.getName()).log(Level.SEVERE, null, ex);
  49.         }
  50.  
  51.         // Connection success?
  52.         if (connection != null) {
  53.             // Get input
  54.             // @todo: Validate input?
  55.             String userName = request.getParameter("username");
  56.             String password = request.getParameter("password");
  57.  
  58.             session.setAttribute("connection", connection);
  59.  
  60.             // If we're logging out, do something different (later)
  61.             String logout = request.getParameter("logout");
  62.             if (logout == null) {
  63.                 // Attempt to run query for user info
  64.                 Statement statement = null;
  65.                 ResultSet resultSet = null;
  66.                 try {
  67.                     // Prepare query
  68.                     // @todo: Add in a clause for password
  69.                     String query = "
  70.                                         SELECT *
  71.                                         FROM acebookmembers
  72.                                         WHERE Email = '" + userName + "'
  73.                                         AND Password != ''
  74.                                     ";
  75.  
  76.                     // Run query
  77.                     statement = connection.createStatement();
  78.                     resultSet = statement.executeQuery(query);
  79.                     if (resultSet.next()) {
  80.                         userName = resultSet.toString();
  81.                     }
  82.                 // Error running query?
  83.                 } catch (SQLException e) {
  84.                     out.println("Login doGet() SQLException: " + e.getMessage()
  85.                             + "<p>");
  86.                 } finally {
  87.                     if (resultSet != null) {
  88.                         try {
  89.                             resultSet.close();
  90.                         } catch (SQLException ignore) {
  91.                         }
  92.                     }
  93.                     if (statement != null) {
  94.                         try {
  95.                             statement.close();
  96.                         } catch (SQLException ignore) {
  97.                         }
  98.                     }
  99.                 }
  100.  
  101.                 // Query run, output results
  102.                 out.println("<p>Hello " + userName + "!</p>");
  103.                 out.println("<p>Your session ID is " + session.getId() + "</p>");
  104.                 out.println("<p>It was created on " + new java.util.Date(session.getCreationTime()) + "</p>");
  105.                 out.println("<p>It was last accessed on " + new java.util.Date(session.getLastAccessedTime()) + "</p>");
  106.                 out.println("<form method='get' action='Login'>");
  107.                 out.println("<input type='submit' name='logout' value='Logout' />");
  108.                 out.println("</form>");
  109.             } else {
  110.                 // User wants to log out
  111.                 // @todo: Close the connection and remove it from the session (is this done?)
  112.                 try {
  113.                     connection.close();
  114.                 }
  115.                 catch (SQLException ignore) { }
  116.  
  117.                 session.removeAttribute("connection");
  118.                 out.println("You have been logged out.");
  119.             }
  120.         } else {
  121.             // Connection failed
  122.             // @todo: Do something here
  123.         }
  124.         out.println("</body>");
  125.         out.println("</html>");
  126.     }
  127.  
  128.     public void doPost(HttpServletRequest request, HttpServletResponse response)
  129.             throws IOException, ServletException {
  130.         doGet(request, response);
  131.     }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement