package controller; import service.ProfessorSubjectService; import service.impl.ProfessorSubjectServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.SQLException; @WebServlet("/professor-subject/*") public class ProfessorSubjectServlet extends HttpServlet { private final ProfessorSubjectService service = new ProfessorSubjectServiceImpl(); @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getPathInfo(); try { if ("/assign".equals(action)) { assign(request, response); } else if ("/remove".equals(action)) { remove(request, response); } } catch (SQLException e) { throw new ServletException(e); } } private void assign(HttpServletRequest request, HttpServletResponse response) throws SQLException, IOException { Long professorId = Long.parseLong(request.getParameter("professor_id")); Long subjectId = Long.parseLong(request.getParameter("subject_id")); service.assignProfessorToSubject(professorId, subjectId); response.sendRedirect(request.getContextPath() + "/professor/edit?id=" + professorId); } private void remove(HttpServletRequest request, HttpServletResponse response) throws SQLException, IOException { Long professorId = Long.parseLong(request.getParameter("professor_id")); Long subjectId = Long.parseLong(request.getParameter("subject_id")); service.removeProfessorFromSubject(professorId, subjectId); response.sendRedirect(request.getContextPath() + "/professor/edit?id=" + professorId); } }