\u003c%@ page contentType="text/html;charset=UTF-8" language="java"%3e\n\u003c%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%3e\n\u003chtml\u003e\n\u003chead\u003e\n\u003ctitle\u003e学生管理系统\u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\n\u003cc:choose\u003e\n\u003cc:when test="${requestScope.tag=='add'}"\u003e\n\u003ch1\u003e添加学生\u003c/h1\u003e\n\u003c/c:when\u003e\n\u003cc:when test="${requestScope.tag=='edit'}"\u003e\n\u003ch1\u003e修改学生\u003c/h1\u003e\n\u003c/c:when\u003e\n\u003c/c:choose\u003e\n\n\n\u003cc:choose\u003e\n\u003cc:when test="${requestScope.tag=='add'}"\u003e\n\u003cform action="Studentcontroller.action?server=add" method="post"\u003e\n\u003c/c:when\u003e\n\u003cc:when test="${requestScope.tag=='edit'}"\u003e\n\u003cform action="/Studentcontroller.action?server=edit" method="post"\u003e\n\u003c/c:when\u003e\n\u003c/c:choose\u003e\n\u003cdiv\u003e\n\u003clab\u003e名称:\u003c/lab\u003e\n\n\u003cc:choose\u003e\n\u003cc:when test="${requestScope.tag=='add'}"\u003e\n\u003cinput type="text" name="name"\u003e\n\u003c/c:when\u003e\n\u003cc:when test="${requestScope.tag=='edit'}"\u003e\n\u003cinput type="text" name="name" value="${requestScope.Student.name}"\u003e\n\u003cinput type="hidden" name="id" value="${requestScope.Student.id}"\u003e\n\u003cinput type="hidden" name="age" value="${requestScope.Student.age}"\u003e\n\u003cinput type="text" name="sex" value="${requestScope.Student.sex}"\u003e\n\u003cinput type="text" name="major" value="${requestScope.Student.major}"\u003e\n\u003cinput type="text" name="classname" value="${requestScope.Student.classname}"\u003e\n\u003c/c:when\u003e\n\u003c/c:choose\u003e\n\n\u003c/div\u003e\n\u003cdiv\u003e\n\u003cbutton type="submit"\u003e确定\u003c/button\u003e\n\u003c/div\u003e\n\n\u003c/form\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\npackage controller;\nimport bean.Student;\nimport services.Studentservlet;\nimport services.impl.Studentservletimpl;\nimport javax.servlet.ServletException;\nimport javax.servlet.http.HttpServlet;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.IOException;\nimport java.util.ArrayList;\n\npublic class Studentcontroller extends HttpServlet {\n\nStudentservlet ss=new Studentservletimpl();\n HttpServletRequest req;\n HttpServletResponse resp;\n\n @Override\n protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {\n req.setCharacterEncoding("utf-8");\n resp.setContentType("text/html;charset=UTF-8");\n this.req=req;\n this.resp=resp;\n\n String server=req.getParameter("server");\n if (server==null){\n req.setAttribute("mess","缺少服务参数");\n req.getRequestDispatcher("/WEB-INF/error.jsp");\n return;\n }\n\n switch (server){\n case "GetAll":\n GetAll();\n break;\n case "add":\n add();\n break;\n case "del":\n delete();\n break;\n case "edit":\n edit();\n break;\n case "editView":\n editView();\n break;\n case "addView":\n addView();\n break;\n default:\n req.setAttribute("mess", "你给出无效服务参数值");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n}\n @Override\n protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {\n doGet(req, resp);\n }\n private void GetAll() throws ServletException, IOException {\n ArrayList\u003cStudent\u003e all = ss.GetAll();\n req.setAttribute("stu", all);\n req.getRequestDispatcher("/WEB-INF/studentview.jsp").forward(req, resp);\n }\n\n private void add() throws ServletException, IOException {\n String name = req.getParameter("name");\n if (name == null) {\n req.setAttribute("mess", "没有名称");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n\n Student STU = new Student();\n STU.setName(name);\n Boolean add = ss.add(STU);\n if (!add) {\n req.setAttribute("mess", "添加失败");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n resp.sendRedirect("/Studentcontroller.action?server=GetAll");\n }\n\n private void delete() throws ServletException, IOException {\n String id = req.getParameter("id");\n if (id == null) {\n req.setAttribute("mess", "ID不能为空");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n int idTemp = 0;\n try {\n\n idTemp = Integer.parseInt(id);\n } catch (NumberFormatException e) {\n req.setAttribute("mess", "ID值必为整数");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n\n Boolean delete = ss.delete(idTemp);\n if (!delete) {\n req.setAttribute("mess", "删除错误");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n\n resp.sendRedirect("/Studentcontroller.action?server=GetAll");\n\n }\n\n private void edit() throws ServletException, IOException {\n String id = req.getParameter("id");\n if (id == null) {\n req.setAttribute("mess", "ID不能为空");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n int idTemp = 0;\n try {\n\n idTemp = Integer.parseInt(id);\n } catch (NumberFormatException e) {\n req.setAttribute("mess", "ID值必须为整数");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n\n String name = req.getParameter("name");\n if (name == null) {\n req.setAttribute("mess", "没有名称参数");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n\n Student stu = new Student();\n stu.setId(idTemp);\n stu.setName(name);\n Boolean edit =ss.edit(stu);\n if (!edit) {\n req.setAttribute("mess", "修改失败");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n resp.sendRedirect("/Studentcontroller.action?server=GetAll");\n }\n\n private void editView() throws ServletException, IOException {\n String id = req.getParameter("id");\n if (id == null) {\n req.setAttribute("mess", "ID不能为空");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n int idTemp = 0;\n try {\n idTemp = Integer.parseInt(id);\n } catch (NumberFormatException e) {\n req.setAttribute("mess", "ID值必为整数");\n req.getRequestDispatcher("/WEB-INF/error.jsp").forward(req, resp);\n return;\n }\n\n Student stu = ss.get(idTemp);\n req.setAttribute("stu", stu);\n req.setAttribute("tag", "edit");\n req.getRequestDispatcher("/WEB-INF/studentsave.jsp").forward(req, resp);\n }\n\n private void addView() throws ServletException, IOException {\n req.setAttribute("tag", "add");\n req.getRequestDispatcher("/WEB-INF/studentsave.jsp").forward(req, resp);\n }\n}\n\n无法解析/Studentcontroller.action是因为在JSP页面中的\u003cform\u003e标签中action属性的值为"/Studentcontroller.action",但在servlet中并没有对应的映射路径。\n\n要解决这个问题,需要在web.xml文件中添加相应的Servlet映射配置,将/Studentcontroller.action映射到对应的Studentcontroller Servlet。\n\n示例配置如下:\n\n\n\u003cservlet\u003e\n \u003cservlet-name\u003estudentController\u003c/servlet-name\u003e\n \u003cservlet-class\u003econtroller.Studentcontroller\u003c/servlet-class\u003e\n\u003c/servlet\u003e\n\u003cservlet-mapping\u003e\n \u003cservlet-name\u003estudentController\u003c/servlet-name\u003e\n \u003curl-pattern\u003e/Studentcontroller.action\u003c/url-pattern\u003e\n\u003c/servlet-mapping\u003e\n\n\n这样,当访问/Studentcontroller.action时,容器会将请求交给Studentcontroller处理。

JSP 学生管理系统:添加、修改和删除学生信息

原文地址: https://www.cveoy.top/t/topic/pQPi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录