教师管理平台-----servlet+html学生选择课程+在个人中心显示已选课程+删除已选课程

    xiaoxiao2023-12-05  115

    第四个功能:学生选择课程+在个人中心显示已选课程+删除已选课程
    链接接上 :https://blog.csdn.net/ignite_/article/details/90528239

    新增数据表

    新增实体类:

    SelectCourse(新增的数据表)
    package Domain; public class SelectCourse { private String id; private String user_id; private String course_id; private String select_time; @Override public String toString() { return "SelectCourse{" + "id='" + id + '\'' + ", user_id='" + user_id + '\'' + ", course_id='" + course_id + '\'' + ", select_time='" + select_time + '\'' + '}'; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUser_id() { return user_id; } public void setUser_id(String user_id) { this.user_id = user_id; } public String getCourse_id() { return course_id; } public void setCourse_id(String course_id) { this.course_id = course_id; } public String getSelect_time() { return select_time; } public void setSelect_time(String select_time) { this.select_time = select_time; } }

    修改实体类

    PersonStuJson(传递个人中心Json)
    package Domain.json; import java.util.ArrayList; import java.util.List; public class PersonStuJson { List<CourseJson> Course = new ArrayList<CourseJson>(); private String id; private String nickname; private String usernumber; private String phone; private int sex; private String picture; @Override public String toString() { return "PersonStuJson{" + "Course=" + Course + ", id='" + id + '\'' + ", nickname='" + nickname + '\'' + ", usernumber='" + usernumber + '\'' + ", phone='" + phone + '\'' + ", sex=" + sex + ", picture='" + picture + '\'' + '}'; } public List<CourseJson> getCourse() { return Course; } public void setCourse(List<CourseJson> course) { Course = course; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } public String getUsernumber() { return usernumber; } public void setUsernumber(String usernumber) { this.usernumber = usernumber; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public String getPicture() { return picture; } public void setPicture(String picture) { this.picture = picture; } }

    新增SelectCourseDao(SelectCourseService同理)

    package Dao; import Domain.SelectCourse; import java.sql.SQLException; import java.util.List; public interface SelectCourseDao { // 选择课程 public boolean addcourse(SelectCourse selectCourse) throws SQLException; // 根据用户id查找用户已选课程id public List<SelectCourse> CourseId(String userid) throws SQLException; // 根据用户id和课程id删除已选课程 public boolean delete(String userid,String courseid) throws SQLException; }

    新增Servlet

    AddCourseServlet(选择课程)
    package Servlet; import Domain.SelectCourse; import Domain.User; import Service.Impl.SelectCourseServiceImpl; import Service.SelectCourseService; import Utils.CreateUUID; 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 javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @WebServlet(name = "AddCourseServlet") public class AddCourseServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置编码 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); // 设置输出 PrintWriter out = response.getWriter(); // 获得id String CourseId = request.getParameter("id"); HttpSession session = request.getSession(); User user = (User) session.getAttribute("login"); Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh:mm:ss"); CreateUUID createUUID = new CreateUUID(); // 封装SelectCourse Bean SelectCourse selectCourse = new SelectCourse(); selectCourse.setId(createUUID.createUUID()); selectCourse.setUser_id(user.getId()); selectCourse.setCourse_id(CourseId); selectCourse.setSelect_time(dateFormat.format(date)); // 存入数据库 boolean result = true; List<SelectCourse> selectCourses = null; SelectCourseService selectCourseService = new SelectCourseServiceImpl(); // 判断是否已选该课程 try { selectCourses = selectCourseService.CourseId(selectCourse.getUser_id()); } catch (SQLException e) { e.printStackTrace(); } for (int index = 0; index < selectCourses.size(); index++) { if (selectCourse.getCourse_id().equals(selectCourses.get(index).getCourse_id())) { result = false; } } if (!result){ out.print(result); } else{ try { result = selectCourseService.addcourse(selectCourse); } catch (SQLException e) { e.printStackTrace(); } out.print(result); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } }
    DeleteServlet(删除已选课程)
    package Servlet; import Service.Impl.SelectCourseServiceImpl; import Service.SelectCourseService; 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.io.PrintWriter; import java.sql.SQLException; @WebServlet(name = "DeleteSelectServlet") public class DeleteSelectServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置编码 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("gb2312"); // 设置输出 PrintWriter out = response.getWriter(); // 获得值 String userId = request.getParameter("UserId"); String courseId = request.getParameter("CourseId"); // 创建service SelectCourseService selectCourseService = new SelectCourseServiceImpl(); boolean result = false; try { result = selectCourseService.delete(userId, courseId); } catch (SQLException e) { e.printStackTrace(); } if (result){ out.print( "<script>\n" + " alert(\"删除成功\");\n" + " window.history.go(-1);\n" + "</script>" ); } else{ out.print( "<script>\n" + " alert(\"删除失败\");\n" + " window.history.go(-1);\n" + "</script>" ); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } }
    修改PersonStuServlet(传递json)
    package Servlet; import Domain.Course; import Domain.SelectCourse; import Domain.json.CourseJson; import Domain.json.PersonStuJson; import Domain.User; import Service.CourseService; import Service.Impl.CourseServiceImpl; import Service.Impl.SelectCourseServiceImpl; import Service.Impl.UserServiceImpl; import Service.SelectCourseService; import Service.UserService; import com.alibaba.fastjson.JSONObject; 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.io.PrintWriter; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @WebServlet(name = "PersonStuServlet") public class PersonStuServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置编码 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); // 设置输出 PrintWriter out = response.getWriter(); // 获得id String id = request.getParameter("id"); // 创建service和User对象 User user = new User(); UserService userService = new UserServiceImpl(); try { user = userService.select(id); } catch (SQLException e) { e.printStackTrace(); } // 查找该id选择课程id List<SelectCourse> courseId = null; SelectCourseService selectCourseService = new SelectCourseServiceImpl(); try { courseId = selectCourseService.CourseId(user.getId()); } catch (SQLException e) { e.printStackTrace(); } // 查找该课程信息 CourseService courseService = new CourseServiceImpl(); List<Course> Tea = new ArrayList<Course>(); try { for (int index = 0; index < courseId.size(); index++) { Course course = new Course(); course = courseService.selectid(courseId.get(index).getCourse_id()); Tea.add(index, course); } } catch (SQLException e) { e.printStackTrace(); } // 根据教师id找到教师信息 List<User> userT = new ArrayList<User>(); for (int index = 0; index < Tea.size(); index++) { try { User Teacher = new User(); Teacher=userService.select(Tea.get(index).getCreate_userid()); userT.add(index,Teacher); } catch (SQLException e) { e.printStackTrace(); } } List<CourseJson> Course = new ArrayList<CourseJson>(); for (int index = 0 ;index<userT.size();index++){ CourseJson courseJson = new CourseJson(); courseJson.setUser_id(userT.get(index).getId()); courseJson.setNickname(userT.get(index).getNickname()); courseJson.setPicture(userT.get(index).getPicture()); courseJson.setCourse(Tea.get(index)); courseJson.setSelect_time(courseId.get(index).getSelect_time()); Course.add(index,courseJson); } // 将user值存入personStuJson PersonStuJson personStuJson = new PersonStuJson(); personStuJson.setId(user.getId()); personStuJson.setNickname(user.getNickname()); personStuJson.setUsernumber(user.getUsernumber()); personStuJson.setPhone(user.getPhone()); personStuJson.setSex(user.getSex()); personStuJson.setPicture(user.getPicture()); personStuJson.setCourse(Course); // 创建json并存储personStuJson JSONObject json = new JSONObject(); json.put("PersonStu", personStuJson); out.print(json); } }

    运行效果:

    1.选择课程

    2.删除已选课程

    3.错误操作(重复选课)

    4.json数据:

    前台显示页面和之前的没有多大区别,就多了一条异步请求添加课程
    教师个人中心的删除课程的原理和代码都一样,这里就不多讲了
    现在前期的一些小demo都要更改了,比如json字段的增加啥的,心累…
    至此,用户这一块大部分功能Demo都差不多完成了 马上要开始页面显示方面的功能,比如搜索,课程具体分类的显示,课程评论回复功能…加油争取一个星期功能全撸完!

    欢迎各位前辈指出问题。

    最新回复(0)