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

第四个功能:学生选择课程+在个人中心显示已选课程+删除已选课程
链接接上 :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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值