/** * 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"); PrintWriter out = response.getWriter(); try { HttpSession sesi = request.getSession(); if (sesi.getAttribute("role") == null) { request.getRequestDispatcher("page/index.jsp").forward(request, response); return; } else { String role = (String) sesi.getAttribute("role"); if (!role.equals("dosen")) { response.sendRedirect("logout"); return; } } String output = ""; Semester semester = new SemesterDAO().getCurrentSemester(); // HttpSession sesi = request.getSession(); Dosen dosen = (Dosen) sesi.getAttribute("currentDosen"); String task = request.getParameter("task"); if (task.equals("JADWAL")) output = new JadwalDAO().getJadwalJSONObject(semester, dosen).toString(); else if (task.equals("CURRENT")) { output = "Semester " + semester.getNama() + " Tahun Ajaran " + semester.getTahunAjaran(); } else if (task.equals("MAHASISWA_LIMIT")) { int start = Integer.parseInt(request.getParameter("start")); int limit = Integer.parseInt(request.getParameter("limit")); output = new RegistrasiMatakuliahDAO() .getRegistrasiMatakuliahJSONObject( new JadwalDAO().getJadwal(Long.parseLong(request.getParameter("id"))), start, limit) .toString(); } else if (task.equals("UPDATE")) { long id = Long.parseLong(request.getParameter("id")); String nilai = request.getParameter("nilai"); RegistrasiMatakuliah reg = new RegistrasiMatakuliahDAO().getRegistrasiMatakuliah(id); reg.setNilai(nilai); output = Integer.toString(new ObjectDAO().update(reg)); } System.out.println(output); out.println(output); } catch (Exception ex) { Logger.getLogger(DaftarKelasJSON.class.getName()).log(Level.SEVERE, null, ex); } finally { out.close(); } }