Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package enquêtes;
- import java.io.*;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class Inlogservlet_nieuwste_versie extends HttpServlet {
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- HttpSession session = request.getSession(true);
- String userName = request.getParameter("anaam");
- String reserveringsNr = request.getParameter("resnr");
- String isAdmin = request.getParameter("admin");
- String klantNaam = ("Select GebruikerNaam FROM KLANT WHERE KLANT.GebruikerNaam ="+userName);
- String klantPw = ("SELECT ReserveringsNr FROM KLANT WHERE KLANT.ReserveringsNr ="+reserveringsNr);
- boolean loginSuccess;
- if (userName.equals(klantNaam) && reserveringsNr.equals(klantPw)) {
- loginSuccess = true;
- } else {
- loginSuccess = false;
- }
- session.setAttribute("loginSuccess", loginSuccess);
- // maak een database connectie
- Connection connection = connectToDB();
- // als success forward naar success
- ServletContext servletContext = this.getServletContext();
- RequestDispatcher rd = null;
- //Voor admin geval
- if (isAdmin != null && Boolean.valueOf(isAdmin)) {
- // Is Admin
- Map klantAntwoord = zoekKlantenAntwoord(connection, userName, reserveringsNr);
- // idem beneden vul de request, sessie in
- // forward naar nieuwe pagina (overzicht antwoorden
- } else { // is Klant
- // Verifieer de login gegevens
- Map klantGegevens = searchKlant(connection, userName, reserveringsNr);
- if (klantGegevens != null) {
- request.getSession().setAttribute("plaatsnaam", klantGegevens.get("plaatsnaam"));
- request.getSession().setAttribute("Land", klantGegevens.get("Land"));
- // } else {
- // session.setAttribute("loginSuccess", loginSuccess);
- // }
- rd = servletContext.getRequestDispatcher("/inlogscherm.jsp");//TODO verify context
- }
- rd.forward(request, response);
- // Anders geeft foutmelding
- }
- // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
- /**
- * Handles the HTTP <code>GET</code> method.
- * @param request servlet request
- * @param response servlet response
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
- /**
- * Handles the HTTP <code>POST</code> method.
- * @param request servlet request
- * @param response servlet response
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
- /**
- * Returns a short description of the servlet.
- */
- public String getServletInfo() {
- return "Short description";
- }
- private Connection connectToDB() {
- Connection connection = null;
- try {
- // TODO verify
- String driverName = "org.gjt.mm.mysql.Driver"; // MySQL MM JDBC driver
- Class.forName(driverName);
- // Create a connection to the database
- String serverName = "mysql.cmi-hro.nl:3306";
- String mydatabase = "cmi0806525";
- String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
- // Vraag de db username en passord
- String dbUserName = "cmi0806525";
- String dbPassword = "hxfw064j";
- connection = DriverManager.getConnection(url, dbUserName, dbPassword);
- } catch (ClassNotFoundException e) {
- // Could not find the database driver
- System.out.println("Could not find the database driver " + e.getMessage());
- } catch (SQLException e) {
- // Could not connect to the database
- e.printStackTrace();
- }
- return connection;
- }
- // In het geveal van klant
- private Map searchKlant(Connection connection, String userName, String reserveringsNr) {
- Map klantGegevens = null;
- String sqlQuery = "Select * from KLANT where GebruikersNaam=" + userName + "and ReserveringsNr" + reserveringsNr;
- try {
- PreparedStatement ps = connection.prepareStatement(sqlQuery);
- // Lees resultaat terug uit de ps
- ResultSet result = ps.executeQuery();
- if (result.getRow() > 0) {
- // Klant bestaat, haal klanten id op
- int klantId = result.getInt("KlantID");
- // Aan de hand van de klantenid haal boekinggegevens
- sqlQuery = "Select a.Plaatsnaam, a.Land from ACCOMODATIE a where a.AccoID in (Select b.AccoID from BOOKING b where b.KlantID = " + klantId;
- result = ps.executeQuery(sqlQuery);
- klantGegevens = new HashMap();
- klantGegevens.put("plaatsnaam", result.getString("Plaatsnaam"));
- klantGegevens.put("land", result.getString("Land"));
- return klantGegevens;
- }
- } catch (SQLException ex) {
- Logger.getLogger(LoginServlet.class.getName()).log(Level.SEVERE, null, ex);
- }
- return klantGegevens;
- }
- private Map zoekKlantenAntwoord(Connection connection, String adminName, String password) {
- Map klantAntwoord = null;
- // TODO Achterhaal de tabelnaam, gebruikers is een gok!!! ook de reserveringsNr
- String sqlQuery = "Select * from ADMIN where AdminNaam=" + adminName + "and Wachtwoord=" + password;
- try {
- PreparedStatement ps = connection.prepareStatement(sqlQuery);
- // Lees resultaat terug uit de ps
- ResultSet result = ps.executeQuery();
- if (result.getRow() > 0) {
- // Admin bestaat, haal ingevulde antwoorden op
- sqlQuery = "Select a.plaatsnaam, a.Land from Accomodatie a where a.AccoID in ( " +
- "Select b.BookingID in (" +
- "Select ant.Waarde from ANTWOOORD ant";
- // Voer query uit
- result = ps.executeQuery(sqlQuery);
- klantAntwoord = new HashMap();
- klantAntwoord.put("plaatsnaam", result.getString("Plaatsnaam"));
- klantAntwoord.put("land", result.getString("Land"));
- klantAntwoord.put("Waarde", result.getString("Waarde"));
- return klantAntwoord;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return klantAntwoord;
- }
- }
Add Comment
Please, Sign In to add comment