@WebServlet(name = "C_AddServlet", value = "/C_AddServlet") public class C_AddServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String id_clazz = request.getParameter("id_clazz"); String college = request.getParameter("college"); String major = request.getParameter("major"); Integer grade = Integer.parseInt(request.getParameter("grade")); Integer no = Integer.parseInt(request.getParameter("no")); String id_teacher = request.getParameter("id_teacher"); Clazz clazz = new Clazz(id_clazz,college,major,grade,no,id_teacher); ClazzService clazzService = new ClazzService(); try { clazzService.save(clazz); } catch (Exception e) { if (e.getClass().equals(SQLIntegrityConstraintViolationException.class)){ System.out.println("该班级号已存在!"); }else { e.printStackTrace(); } } response.sendRedirect("ListServlet"); } }
时间: 2024-04-01 11:38:14 浏览: 169
servlet_basic:servlet_basic
这段代码是一个Java Servlet,用来处理添加班级的请求。具体来说,代码中的@WebServlet注解用来指定Servlet的名称和URL,这里的名称为C_AddServlet,URL为/C_AddServlet。
代码中的doGet()方法和doPost()方法分别用来处理GET请求和POST请求。这里的doGet()方法直接调用doPost()方法进行处理,因此这个Servlet只接受POST请求。
在doPost()方法中,代码首先设置请求的字符编码为utf-8,然后通过request.getParameter()方法获取表单中提交的各个参数,包括id_clazz(班级ID)、college(学院)、major(专业)、grade(年级)、no(班级号)和id_teacher(班主任ID)。
接着,代码将这些参数封装成一个Clazz对象,并将其保存到数据库中,具体的保存操作由ClazzService类的save()方法实现。
如果保存过程中出现异常,代码会判断异常的类型,如果是SQLIntegrityConstraintViolationException类型,说明班级号已经存在,代码会输出提示信息。否则,代码会打印异常的堆栈信息。
最后,代码通过response.sendRedirect()方法将请求重定向到ListServlet,从而显示班级列表。
阅读全文