基于javaweb+mysql的ssm+maven实验室管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)

基于javaweb+mysql的ssm+maven实验室管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

技术框架

JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) Maven MySQL CSS JavaScript Layui Ajax

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

登录、注册、退出、用户模块、公告模块、设备模块、实验室模块、维修模块的增删改查管理

eclipse/MyEclipse运行:

idea运行:

    @RequestMapping("shebeiAdd")
    public void add(Shebei vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        vo.setCreateBy(((com.demo.vo.User) request.getSession().getAttribute("loginUser")).getId());
        //调用Service层的增加(insert)方法
        shebeiService.insert(vo);
        this.redirectList(request, response);
    }

    /**
     * 删除设备
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("shebeiDelete")
    public void delete(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");
        shebeiService.delete(Arrays.asList(id));
        this.redirectList(request, response);
    }

    /**
     * 编辑设备
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("shebeiEdit")
    public void edit(Shebei vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        shebeiService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取设备的详细信息(详情页面与编辑页面要显示该设备的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"shebeiGet", "shebeiEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");//取出主键id
        Shebei vo = shebeiService.get(id);
        request.getSession().setAttribute("vo", vo);
        String to = request.getRequestURI().toLowerCase().contains("get") ? "info" : "edit";//判断是去详情显示页面还是编辑页面
        response.sendRedirect("shebei_" + to + ".jsp");
    }

    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 跳转到列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = request.getParameter("searchColumn");
        String keyword = request.getParameter("keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword/*keyword != null ? new String(keyword.getBytes("ISO-8859-1"), "UTF-8") : null*/);//查询的关键字
        //User loginUser = (User) request.getSession().getAttribute("loginUser");
        //if (!"管理员".equals(loginUser.getUserType())) {
        //    params.put("createBy", loginUser.getId());
        //}
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(weixiuService.list(params).get("list")));
    }
}

@Controller
@RequestMapping
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 增加用户
     *
     * @param response
        int red = minColor + random.nextInt(maxColor - minColor);
        //  获得绿色的随机颜色值
        int green = minColor + random.nextInt(maxColor - minColor);
        //  获得蓝色的随机颜色值
        int blue = minColor + random.nextInt(maxColor - minColor);
        return new Color(red, green, blue);
    }
}

@Controller
@RequestMapping
public class ShiyanshiController {

    @Autowired
    private ShiyanshiService shiyanshiService;

    /**
     * 增加实验室
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("shiyanshiAdd")
    public void add(Shiyanshi vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        vo.setCreateBy(((com.demo.vo.User) request.getSession().getAttribute("loginUser")).getId());
        //调用Service层的增加(insert)方法
        shiyanshiService.insert(vo);
        this.redirectList(request, response);
    }
    public void add(Weixiu vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        vo.setCreateBy(((com.demo.vo.User) request.getSession().getAttribute("loginUser")).getId());
        //调用Service层的增加(insert)方法
        weixiuService.insert(vo);
        this.redirectList(request, response);
    }

    /**
     * 删除维修
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("weixiuDelete")
    public void delete(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");
        weixiuService.delete(Arrays.asList(id));
        this.redirectList(request, response);
    }

    /**
     * 编辑维修
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("weixiuEdit")
    public void edit(Weixiu vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        weixiuService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取维修的详细信息(详情页面与编辑页面要显示该维修的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
    /**
     * 增加公告
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("noticeAdd")
    public void add(Notice vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        vo.setCreateBy(((com.demo.vo.User) request.getSession().getAttribute("loginUser")).getId());
        //调用Service层的增加(insert)方法
        noticeService.insert(vo);
        this.redirectList(request, response);
    }

    /**
     * 删除公告
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("noticeDelete")
    public void delete(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");
        noticeService.delete(Arrays.asList(id));
        this.redirectList(request, response);
    }

    /**
     * 编辑公告
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("noticeEdit")
    public void edit(Notice vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        noticeService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取公告的详细信息(详情页面与编辑页面要显示该公告的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
        } else {
            String newPassword = request.getParameter("newPassword");
            loginUser.setPassword(newPassword);
            this.userService.update(loginUser);
            msg = "修改成功!";
        }
        request.getSession().setAttribute("alert_msg", msg);
        request.getRequestDispatcher("reset_password.jsp").forward(request, response);
    }

    // 返回一个随机颜色(Color对象)
    private Color getRandomColor(int minColor, int maxColor) {
        Random random = new Random();
        // 保存minColor最大不会超过255
        if (minColor > 255)
            minColor = 255;
        //  保存minColor最大不会超过255
        if (maxColor > 255)
            maxColor = 255;
        //  获得红色的随机颜色值
        int red = minColor + random.nextInt(maxColor - minColor);
        //  获得绿色的随机颜色值
        int green = minColor + random.nextInt(maxColor - minColor);
        //  获得蓝色的随机颜色值
        int blue = minColor + random.nextInt(maxColor - minColor);
        return new Color(red, green, blue);
    }
}

@Controller
@RequestMapping
public class ShiyanshiController {
    }

    /**
     * 获取公告的详细信息(详情页面与编辑页面要显示该公告的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"noticeGet", "noticeEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");//取出主键id
        Notice vo = noticeService.get(id);
        request.getSession().setAttribute("vo", vo);
        String to = request.getRequestURI().toLowerCase().contains("get") ? "info" : "edit";//判断是去详情显示页面还是编辑页面
        response.sendRedirect("notice_" + to + ".jsp");
    }

    /**
     * 根据条件查询公告的列表并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("noticeList")
    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 跳转到列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = request.getParameter("searchColumn");
        String keyword = request.getParameter("keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword/*keyword != null ? new String(keyword.getBytes("ISO-8859-1"), "UTF-8") : null*/);//查询的关键字
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(noticeService.list(params).get("list")));
    }
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("userList")
    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 跳转到列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = request.getParameter("searchColumn");
        String keyword = request.getParameter("keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword/*keyword != null ? new String(keyword.getBytes("ISO-8859-1"), "UTF-8") : null*/);//查询的关键字
        User loginUser = (User) request.getSession().getAttribute("loginUser");
        if (!"管理员".equals(loginUser.getUserType())) {
            params.put("id", loginUser.getId());
        }
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(userService.list(params).get("list")));
    }
}


@Controller
@RequestMapping
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 增加用户
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("userAdd")
    public void add(User vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        vo.setCreateBy(((com.demo.vo.User) request.getSession().getAttribute("loginUser")).getId());
        //调用Service层的增加(insert)方法
        userService.insert(vo);
        this.redirectList(request, response);
    }

    /**
     * 删除用户
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("userDelete")
    public void delete(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");
    }

    /**
     * 根据条件查询用户的列表并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("userList")
    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 跳转到列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = request.getParameter("searchColumn");
        String keyword = request.getParameter("keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword/*keyword != null ? new String(keyword.getBytes("ISO-8859-1"), "UTF-8") : null*/);//查询的关键字
        User loginUser = (User) request.getSession().getAttribute("loginUser");
        if (!"管理员".equals(loginUser.getUserType())) {
            params.put("id", loginUser.getId());
        }
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(userService.list(params).get("list")));
    }
}

        // 保存minColor最大不会超过255
        if (minColor > 255)
            minColor = 255;
        //  保存minColor最大不会超过255
        if (maxColor > 255)
            maxColor = 255;
        //  获得红色的随机颜色值
        int red = minColor + random.nextInt(maxColor - minColor);
        //  获得绿色的随机颜色值
        int green = minColor + random.nextInt(maxColor - minColor);
        //  获得蓝色的随机颜色值
        int blue = minColor + random.nextInt(maxColor - minColor);
        return new Color(red, green, blue);
    }
}

@Controller
@RequestMapping
public class ShiyanshiController {

    @Autowired
    private ShiyanshiService shiyanshiService;

    /**
     * 增加实验室
     *
     * @param response
     * @param request
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = request.getParameter("searchColumn");
        String keyword = request.getParameter("keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword/*keyword != null ? new String(keyword.getBytes("ISO-8859-1"), "UTF-8") : null*/);//查询的关键字
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(noticeService.list(params).get("list")));
    }
}

/**
 * 拦截器
 */
public class LoginInterceptor implements HandlerInterceptor {

    //@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
        HttpSession session = request.getSession();
        //移除错误提示
        session.removeAttribute("alert_msg");
        //登录拦截
        String uri = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/"));
        String[] access = new String[]{"login", "logout", "register", ".css", ".js", ".png", ".jpg", "validationCode"};
        for (String action : access) {
            if (uri.toLowerCase().contains(action.toLowerCase())) {
                return true;
            }
        }
        if (session.getAttribute("loginUser") == null) {
            session.setAttribute("alert_msg", "错误:请先登录!");
            response.sendRedirect("login.jsp");
            return false;
        }
        return true;
    }

	//@Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

	//@Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
        request.getSession().setAttribute("alert_msg", "注册成功!用户名:[" + username + "]");
        request.getRequestDispatcher("login.jsp").forward(request, response);
    }

    @RequestMapping("authLogout")
    public void logout(HttpServletResponse response, HttpServletRequest request) throws IOException {
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("loginUser");
        if (user != null) {
            session.removeAttribute("loginUser");
        }
        response.sendRedirect("login.jsp");
    }

    @RequestMapping("authValidationCode")
    public void validationCode(HttpServletResponse response, HttpServletRequest request) throws IOException {
        String codeChars = "0123456789";// 图形验证码的字符集合,系统将随机从这个字符串中选择一些字符作为验证码
        //  获得验证码集合的长度
        int charsLength = codeChars.length();
        //  下面三条记录是关闭客户端浏览器的缓冲区
        //  这三条语句都可以关闭浏览器的缓冲区,但是由于浏览器的版本不同,对这三条语句的支持也不同
        //  因此,为了保险起见,建议同时使用这三条语句来关闭浏览器的缓冲区
        response.setHeader("ragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        //  设置图形验证码的长和宽(图形的大小)
        int width = 90, height = 20;
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics g = image.getGraphics();//  获得用于输出文字的Graphics对象
        Random random = new Random();
        g.setColor(getRandomColor(180, 250));// 随机设置要填充的颜色
        g.fillRect(0, 0, width, height);//  填充图形背景
        //  设置初始字体
        g.setFont(new Font("Times New Roman", Font.ITALIC, height));
        g.setColor(getRandomColor(120, 180));// 随机设置字体颜色
        //  用于保存最后随机生成的验证码
        StringBuilder validationCode = new StringBuilder();
        //  验证码的随机字体
        String[] fontNames = {"Times New Roman", "Book antiqua", "Arial"};
        for (int i = 0; i < 4; i++) {
            //  随机设置当前验证码的字符的字体
            g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height));
    /**
     * 编辑维修
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("weixiuEdit")
    public void edit(Weixiu vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        weixiuService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取维修的详细信息(详情页面与编辑页面要显示该维修的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"weixiuGet", "weixiuEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");//取出主键id
        Weixiu vo = weixiuService.get(id);
        request.getSession().setAttribute("vo", vo);
        String to = request.getRequestURI().toLowerCase().contains("get") ? "info" : "edit";//判断是去详情显示页面还是编辑页面
        response.sendRedirect("weixiu_" + to + ".jsp");
    }

    /**
     * 根据条件查询维修的列表并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("weixiuList")
    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }


@Controller
@RequestMapping
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 增加用户
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("userAdd")
    public void add(User vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        vo.setCreateBy(((com.demo.vo.User) request.getSession().getAttribute("loginUser")).getId());
        //调用Service层的增加(insert)方法
        userService.insert(vo);
        this.redirectList(request, response);
    }

    /**
     * 删除用户
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("userDelete")
    public void delete(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 编辑维修
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("weixiuEdit")
    public void edit(Weixiu vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        weixiuService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取维修的详细信息(详情页面与编辑页面要显示该维修的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"weixiuGet", "weixiuEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");//取出主键id
        Weixiu vo = weixiuService.get(id);
        request.getSession().setAttribute("vo", vo);
        String to = request.getRequestURI().toLowerCase().contains("get") ? "info" : "edit";//判断是去详情显示页面还是编辑页面
        response.sendRedirect("weixiu_" + to + ".jsp");
    }

    /**
     * 根据条件查询维修的列表并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("weixiuList")
    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 跳转到列表页面
     *
    }

    /**
     * 删除实验室
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("shiyanshiDelete")
    public void delete(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");
        shiyanshiService.delete(Arrays.asList(id));
        this.redirectList(request, response);
    }

    /**
     * 编辑实验室
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("shiyanshiEdit")
    public void edit(Shiyanshi vo, HttpServletResponse response, HttpServletRequest request) throws IOException {
        shiyanshiService.update(vo);
        this.redirectList(request, response);
    }

    /**
     * 获取实验室的详细信息(详情页面与编辑页面要显示该实验室的详情)并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"shiyanshiGet", "shiyanshiEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");//取出主键id
        Shiyanshi vo = shiyanshiService.get(id);
        request.getSession().setAttribute("vo", vo);
        String to = request.getRequestURI().toLowerCase().contains("get") ? "info" : "edit";//判断是去详情显示页面还是编辑页面
        response.sendRedirect("shiyanshi_" + to + ".jsp");
    }

    /**
     * 根据条件查询实验室的列表并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping({"noticeGet", "noticeEditPre"})
    public void get(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Serializable id = request.getParameter("id");//取出主键id
        Notice vo = noticeService.get(id);
        request.getSession().setAttribute("vo", vo);
        String to = request.getRequestURI().toLowerCase().contains("get") ? "info" : "edit";//判断是去详情显示页面还是编辑页面
        response.sendRedirect("notice_" + to + ".jsp");
    }

    /**
     * 根据条件查询公告的列表并跳转回页面
     *
     * @param response
     * @param request
     * @throws IOException
     */
    @RequestMapping("noticeList")
    public void list(HttpServletResponse response, HttpServletRequest request) throws IOException {
        this.redirectList(request, response);
    }

    /**
     * 跳转到列表页面
     *
     * @param request
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = request.getParameter("searchColumn");
        String keyword = request.getParameter("keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword/*keyword != null ? new String(keyword.getBytes("ISO-8859-1"), "UTF-8") : null*/);//查询的关键字
        response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(noticeService.list(params).get("list")));
    }
}

/**

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
老师: 1、查看所有学生 点击查看工作汇报可以看到学生历次的工作汇报(只有老师可见),点击答复可以进行回复 点击查看工作代码可以看到历史上传的工作代码(可以设置所有人可见或者只有自己可见) 点击查看会议汇报可以看到该同学的历次公开汇报记录 2、查看工作汇报 可以按时间排序查看学生的工作汇报,点击答复可以进行回复 3、创建会议 可以创建会议,设置开始时间和截止时间,(可选择指定的同学,通知该同学进行汇报)。会议内可以看到同学的公开汇报,点击进入讨论可以在会议下边进行讨论,可以看到哪个同学回复了哪个同学,按时间排序 4、我的消息 可以看到学生的汇报,回复,我创建的会议的讨论情况 5、历史会议 可以看到按照时间排序的会议,包括会议名称,会议备注,汇报人员。点击会议可以看到汇报和讨论记录 6、处理其他请求 包括请假请求的回复等。 学生 1、查看所有同学 点击查看会议汇报可以看到该同学的历次公开汇报记录 点击查看公开代码可以看到该同学上传的公开代码 2、查看正在进行中的会议 如果当前时间内有截止时间之前的会议,则可以点击进入讨论 3、历史会议 可以看到按照时间排序的会议,包括会议名称,会议备注,汇报人员。点击会议可以看到汇报和讨论记录 4、创建我的项目 可以创建一个新的项目,填写项目名称和项目描述,设置项目是否所有人可见。我上传的代码可以属于这个项目中。 5、查看我的项目 可以查看我创建的项目,点击可以看到项目的名称,描述,代码,代码上传日期,及是否公开。 6、汇报工作 可以向老师汇报本周工作情况,并上传相关PPT等 7、查看消息 可以查看其它同学对我的回复,对我的代码的评价等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值