/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.egym;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Dreads
*/
@WebServlet(name = "CreateQuizQuestions", urlPatterns = {"/CreateQuizQuestions"})
public class CreateQuizQuestions extends HttpServlet {
Connection con = null;
Statement st = null;
ResultSet rs = null;
static final String JDBC_DRIVER ="com.mysql.jdbc.Driver";
String url = "jdbc:mysql://46.101.32.81:3306/EGAlexander";
String user = "root";
String password = "teameight";
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet CreateQuizQuestions</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet CreateQuizQuestions at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
// <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
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
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
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
String quizName = request.getParameter("QuizName");
String learningMaterials = request.getParameter("LearningMaterials");
String qBody1 = request.getParameter("QuestionBody1");
String q1A1 = request.getParameter("Q1A1");
String q1A2 = request.getParameter("Q1A2");
String q1A3 = request.getParameter("Q1A3");
String q1A4 = request.getParameter("Q1A4");
String cAnswerString = request.getParameter("Correct1");
int cAnswer = Integer.parseInt(cAnswerString);
String qBody2 = request.getParameter("QuestionBody2");
String q2A1 = request.getParameter("Q2A1");
String q2A2 = request.getParameter("Q2A2");
String q2A3 = request.getParameter("Q2A3");
String q2A4 = request.getParameter("Q2A4");
String cAnswer2String = request.getParameter("Correct2");
int cAnswer2 = Integer.parseInt(cAnswer2String);
String qBody3 = request.getParameter("QuestionBody3");
String q3A1 = request.getParameter("Q3A1");
String q3A2 = request.getParameter("Q3A2");
String q3A3 = request.getParameter("Q3A3");
String q3A4 = request.getParameter("Q3A4");
String cAnswer3String = request.getParameter("Correct3");
int cAnswer3 = Integer.parseInt(cAnswer3String);
String qBody4 = request.getParameter("QuestionBody4");
String q4A1 = request.getParameter("Q4A1");
String q4A2 = request.getParameter("Q4A2");
String q4A3 = request.getParameter("Q4A3");
String q4A4 = request.getParameter("Q4A4");
String cAnswer4String = request.getParameter("Correct4");
int cAnswer4 = Integer.parseInt(cAnswer4String);
String qBody5 = request.getParameter("QuestionBody5");
String q5A1 = request.getParameter("Q5A1");
String q5A2 = request.getParameter("Q5A2");
String q5A3 = request.getParameter("Q5A3");
String q5A4 = request.getParameter("Q5A4");
String cAnswer5String = request.getParameter("Correct5");
int cAnswer5 = Integer.parseInt(cAnswer5String);
String qBody6 = request.getParameter("QuestionBody6");
String q6A1 = request.getParameter("Q6A1");
String q6A2 = request.getParameter("Q6A2");
String q6A3 = request.getParameter("Q6A3");
String q6A4 = request.getParameter("Q6A4");
String cAnswer6String = request.getParameter("Correct6");
int cAnswer6 = Integer.parseInt(cAnswer6String);
String qBody7 = request.getParameter("QuestionBody7");
String q7A1 = request.getParameter("Q7A1");
String q7A2 = request.getParameter("Q7A2");
String q7A3 = request.getParameter("Q7A3");
String q7A4 = request.getParameter("Q7A4");
String cAnswer7String = request.getParameter("Correct7");
int cAnswer7 = Integer.parseInt(cAnswer7String);
String qBody8 = request.getParameter("QuestionBody8");
String q8A1 = request.getParameter("Q8A1");
String q8A2 = request.getParameter("Q8A2");
String q8A3 = request.getParameter("Q8A3");
String q8A4 = request.getParameter("Q8A4");
String cAnswer8String = request.getParameter("Correct8");
int cAnswer8 = Integer.parseInt(cAnswer8String);
String qBody9 = request.getParameter("QuestionBody9");
String q9A1 = request.getParameter("Q9A1");
String q9A2 = request.getParameter("Q9A2");
String q9A3 = request.getParameter("Q9A3");
String q9A4 = request.getParameter("Q9A4");
String cAnswer9String = request.getParameter("Correct9");
int cAnswer9 = Integer.parseInt(cAnswer9String);
String qBody10 = request.getParameter("QuestionBody10");
String q10A1 = request.getParameter("Q10A1");
String q10A2 = request.getParameter("Q10A2");
String q10A3 = request.getParameter("Q10A3");
String q10A4 = request.getParameter("Q10A4");
String cAnswer10String = request.getParameter("Correct10");
int cAnswer10 = Integer.parseInt(cAnswer10String);
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url, user, password);
CallableStatement cs = this.con.prepareCall("{call create_new_quiz(?,?)}");
cs.setString(1, quizName);
cs.setString(2, learningMaterials);
cs.executeQuery();
cs.close();
int quizId = 0;
CallableStatement csQuizId = this.con.prepareCall("{call get_quiz_id(?)}");
csQuizId.setString(1, quizName);
rs = csQuizId.executeQuery();
if(rs.next())
{
quizId = rs.getInt("idQuiz");
csQuizId.close();
CallableStatement cs2 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs2.setInt(1, quizId);
cs2.setString(2, qBody1);
cs2.setString(3, q1A1);
cs2.setString(4, q1A2);
cs2.setString(5, q1A3);
cs2.setString(6, q1A4);
cs2.setInt(7, cAnswer);
cs2.executeQuery();
cs2.close();
CallableStatement cs3 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs3.setInt(1, quizId);
cs3.setString(2, qBody2);
cs3.setString(3, q2A1);
cs3.setString(4, q2A2);
cs3.setString(5, q2A3);
cs3.setString(6, q2A4);
cs3.setInt(7, cAnswer2);
cs3.executeQuery();
cs3.close();
CallableStatement cs4 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs4.setInt(1, quizId);
cs4.setString(2, qBody3);
cs4.setString(3, q3A1);
cs4.setString(4, q3A2);
cs4.setString(5, q3A3);
cs4.setString(6, q3A4);
cs4.setInt(7, cAnswer3);
cs4.executeQuery();
cs4.close();
CallableStatement cs5 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs5.setInt(1, quizId);
cs5.setString(2, qBody4);
cs5.setString(3, q4A1);
cs5.setString(4, q4A2);
cs5.setString(5, q4A3);
cs5.setString(6, q4A4);
cs5.setInt(7, cAnswer4);
cs5.executeQuery();
cs5.close();
CallableStatement cs6 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs6.setInt(1, quizId);
cs6.setString(2, qBody5);
cs6.setString(3, q5A1);
cs6.setString(4, q5A2);
cs6.setString(5, q5A3);
cs6.setString(6, q5A4);
cs6.setInt(7, cAnswer5);
cs6.executeQuery();
cs6.close();
CallableStatement cs7 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs7.setInt(1, quizId);
cs7.setString(2, qBody6);
cs7.setString(3, q6A1);
cs7.setString(4, q6A2);
cs7.setString(5, q6A3);
cs7.setString(6, q6A4);
cs7.setInt(7, cAnswer6);
cs7.executeQuery();
cs7.close();
CallableStatement cs8 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs8.setInt(1, quizId);
cs8.setString(2, qBody7);
cs8.setString(3, q7A1);
cs8.setString(4, q7A2);
cs8.setString(5, q7A3);
cs8.setString(6, q7A4);
cs8.setInt(7, cAnswer7);
cs8.executeQuery();
cs8.close();
CallableStatement cs9 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs9.setInt(1, quizId);
cs9.setString(2, qBody8);
cs9.setString(3, q8A1);
cs9.setString(4, q8A2);
cs9.setString(5, q8A3);
cs9.setString(6, q8A4);
cs9.setInt(7, cAnswer8);
cs9.executeQuery();
cs9.close();
CallableStatement cs10 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs10.setInt(1, quizId);
cs10.setString(2, qBody9);
cs10.setString(3, q9A1);
cs10.setString(4, q9A2);
cs10.setString(5, q9A3);
cs10.setString(6, q9A4);
cs10.setInt(7, cAnswer9);
cs10.executeQuery();
cs10.close();
CallableStatement cs11 = this.con.prepareCall("{call create_quiz_questions(?,?,?,?,?,?,?)}");
cs11.setInt(1, quizId);
cs11.setString(2, qBody10);
cs11.setString(3, q10A1);
cs11.setString(4, q10A2);
cs11.setString(5, q10A3);
cs11.setString(6, q10A4);
cs11.setInt(7, cAnswer10);
cs11.executeQuery();
cs11.close();
con.close();
RequestDispatcher rd = request.getRequestDispatcher("/homePage");
rd.forward(request,response);
}
else
{
cs.close();
con.close();
RequestDispatcher rd = request.getRequestDispatcher("/homePage");
rd.forward(request,response);
}
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException ex) {
Logger.getLogger(CreateQuizQuestions.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}