国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

這篇具有很好參考價值的文章主要介紹了29基于java的在線考試系統(tǒng)設計與實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本章節(jié)來介紹一個基于java的在線考試系統(tǒng)的實現(xiàn)

系統(tǒng)概要

近年來,隨著世界各國需要參加考核的人員與日俱增,單純依靠傳統(tǒng)的人工安排考場和監(jiān)考人員的紙質(zhì)化考試逐漸顯示出了效率低,易發(fā)生沖突的缺陷,這時,在線考試系統(tǒng)便應運而生,此種考試方式以方便快捷高效等優(yōu)點將越來越適用于如今的各項考試、考核。此外,無紙化在線考試對考試人員和審閱人員均提供了便捷。因此,本文將主要以JAVA為開發(fā)基礎,實現(xiàn)一個在線考試系統(tǒng)。

它的用戶由學生、教師,管理員和超級管理員組成。學生登陸系統(tǒng)可以進行在線測試和成績查詢。當學生登陸時,系統(tǒng)會隨機地為學生選取試題組成考卷。當學生提交考卷后,系統(tǒng)會自動批改客觀題,并將試卷提供給教師查看和提醒教師對試卷主觀題進行修改。待教師修改完試卷后,系統(tǒng)會自動生成考生成績和分數(shù)段統(tǒng)計信息。學生可以查詢自己的成績信息和試卷,以便更好地了解自己的學習情況。教師也可以通過分數(shù)段統(tǒng)計信息更好地了解學生的學生情況。后臺管理員可以對考題,考試設置信息,用戶信息進行維護。學生,教師,管理員和超級管理員都可以對個人信息進行維護。

  • 基礎功能
  • 學生角色
  • 教師角色
  • 管理員角色
  • 超級管理角色
    擁有全部角色權限,且在此基礎上添加功能:

詳細功能在下面會介紹到。

系統(tǒng)使用的架構和內(nèi)容獲取

采用B/S的架構實現(xiàn),整體遵循MVC的設計思想。

> 后端:java,spring,springmvc,mybatis,springboot等
> 數(shù)據(jù)庫:mysql
> 開發(fā)工具:idea或者eclipse
> 前端:html,css,javascript,jquery,layui等
> 文件儲存:采用的七牛云儲存
> 更多內(nèi)容可查看:http://projecthelp.top

項目實現(xiàn)

  • 用戶 UserController 的實現(xiàn)
@Controller
@Slf4j
@Api("用戶controller")
public class UserController {

    @Autowired
    private UserService userService;
    @Autowired
    private UserClazzService userClazzService;
    @Autowired
    private Kaptcha kaptcha;

    @PostMapping("/login")
    @ResponseBody
    @ApiOperation("登錄")
    @OperationLog("登錄")
    public ResponseParam login(String username, String password, String code) {
        String msg = "";
        try {
            if (kaptcha.validate(code)){
                //獲取主體對象
                Subject subject = SecurityUtils.getSubject();
                subject.login(new UsernamePasswordToken(username, password));
                log.info("{}登錄成功",subject.getPrincipal());
                return new ResponseParam("登錄成功");
            }
        } catch (KaptchaNotFoundException e) {
            msg="驗證碼已失效!";
        } catch (KaptchaIncorrectException e) {
            msg="驗證碼錯誤!";
        } catch (UnknownAccountException e) {
            msg="用戶名錯誤!";
        } catch (IncorrectCredentialsException e) {
            msg="密碼錯誤!";
        } catch (Exception e){
           throw e;
        }
        log.info("{}登錄失敗,{}",username,msg);
        return ResponseUtil.getErrorResponseParam(msg);
    }

    @GetMapping("logout")
    @ApiOperation("注銷")
    @OperationLog("注銷")
    public String logout() {
        Subject subject = SecurityUtils.getSubject();
        subject.logout();
        return "login";
    }

    @PostMapping("/register")
    @ResponseBody
    @ApiOperation("注冊")
    @OperationLog("注冊")
    public ResponseParam registerTeacher(@Validated @RequestBody RequestDataParam<RegisterUserParam> req) throws Exception {
        RegisterUserParam data = req.getData();
        if(ObjectUtil.notEqual(data.getRole(), RoleEnum.STUDENT.getCode()) && ObjectUtil.notEqual(data.getRole(), RoleEnum.TEACHER.getCode())){
            throw new ServiceException("注冊失敗");
        }
        UserRequestParam user = new UserRequestParam();
        BeanUtil.copyProperties(data, user);
        RequestDataParam<UserRequestParam> param = new RequestDataParam<>();
        param.setData(user);
        return save(param);
    }

    @RequiresUser
    @ResponseBody
    @PostMapping({"/user/information"})
    @ApiOperation("個人信息修改")
    @OperationLog("個人信息修改")
    public ResponseParam information(@Validated @RequestBody RequestDataParam<UserRequestParam> req){
        User user = (User) SecurityUtils.getSubject().getPrincipal();
        UserRequestParam data = req.getData();
        data.setUsername(null);
        data.setRole(null);
        data.setId(user.getId());
        return update(data);
    }

    /*----------------------------------管理員------------------------------*/

    @PostMapping("/user/updateUser/{id}")
    @ResponseBody
    @ApiOperation("用戶管理:修改用戶")
    @OperationLog("用戶管理:修改用戶")
    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    public ResponseParam updateUser(@PathVariable("id")Long id, @Validated @RequestBody RequestDataParam<UserRequestParam> req) throws Exception {
        Integer role = req.getData().getRole();
        if(!(RoleEnum.STUDENT.getCode().equals(role) || RoleEnum.TEACHER.getCode().equals(role))){
            return ResponseUtil.getErrorResponseParam("您沒有權限!");
        }
        req.getData().setId(id);
        return update(req.getData());
    }

    @PostMapping("/user/saveUser")
    @ResponseBody
    @ApiOperation("用戶管理:新增用戶")
    @OperationLog("用戶管理:新增用戶")
    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    public ResponseParam saveUser(@Validated @RequestBody RequestDataParam<UserRequestParam> req) throws Exception {
        Integer role = req.getData().getRole();
        if(!(RoleEnum.STUDENT.getCode().equals(role) || RoleEnum.TEACHER.getCode().equals(role))){
            return ResponseUtil.getErrorResponseParam("您沒有權限!");
        }
        return save(req);
    }

    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    @PostMapping("/user/listUserForPage")
    @ResponseBody
    @ApiOperation("用戶管理:查詢用戶")
    @OperationLog("用戶管理:查詢用戶")
    public ResponseParam listUserForPage(@Validated @RequestBody PageRequestParam<UserPageRequestParam> req) throws Exception {
        UserPageRequestParam data = req.getData();

        Page<User> page = new Page<>(req.getPage(),req.getLimit());
        page = userService.listForPage(page,data,false);

        return new ResponseParam(page);
    }

    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    @PostMapping("/user/deleteUser/{id}")
    @ResponseBody
    @ApiOperation("用戶管理:刪除用戶")
    @OperationLog("用戶管理:刪除用戶")
    public ResponseParam deleteUser(@PathVariable("id")Long id) {
        User user = userService.getById(id);
        if(ObjectUtil.isNull(user) || !(RoleEnum.STUDENT.getCode().equals(user.getRole()) || RoleEnum.TEACHER.getCode().equals(user.getRole()))){
            return ResponseUtil.getErrorResponseParam("您沒有權限!");
        }
        return deleteById(id);
    }

    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    @PostMapping("/user/lockUser/{id}")
    @ResponseBody
    @ApiOperation("用戶管理:封禁/解封用戶")
    @OperationLog("用戶管理:封禁/解封用戶")
    public ResponseParam lockUser(@PathVariable("id")Long id) {
        User user = userService.getById(id);
        if(ObjectUtil.isNull(user) || !(RoleEnum.STUDENT.getCode().equals(user.getRole()) || RoleEnum.TEACHER.getCode().equals(user.getRole()))){
            return ResponseUtil.getErrorResponseParam("您沒有權限!");
        }
        return lockById(id);
    }

    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    @GetMapping("/user/listStudent")
    @ResponseBody
    @ApiOperation("用戶管理:學生列表")
    @OperationLog("用戶管理:學生列表")
    public ResponseParam listStudent() {
        List<User> userList = userService.listUser(RoleEnum.STUDENT.getCode());
        return new ResponseParam(userList);
    }

    @RequiresRoles(value = {"admin","superadmin"}, logical = Logical.OR)
    @GetMapping("/user/listTeacher")
    @ResponseBody
    @ApiOperation("用戶管理:教師列表")
    @OperationLog("用戶管理:教師列表")
    public ResponseParam listTeacher() {
        List<User> userList = userService.listUser(RoleEnum.TEACHER.getCode());
        return new ResponseParam(userList);
    }

    @RequiresRoles(value = "superadmin")
    @PostMapping("/user/deleteAdmin/{id}")
    @ResponseBody
    @ApiOperation("用戶管理:刪除管理員")
    @OperationLog("用戶管理:刪除管理員")
    public ResponseParam deleteAdmin(@PathVariable("id")Long id) {
        return deleteById(id);
    }

    @RequiresRoles(value = "superadmin")
    @PostMapping("/user/lockAdmin/{id}")
    @ResponseBody
    @ApiOperation("用戶管理:封禁/解封管理員")
    @OperationLog("用戶管理:封禁/解封管理員")
    public ResponseParam lockAdmin(@PathVariable("id")Long id) {
        return lockById(id);
    }

    @RequiresRoles(value = "superadmin")
    @PostMapping("/user/listAdminForPage")
    @ResponseBody
    @ApiOperation("用戶管理:查詢管理員")
    @OperationLog("用戶管理:查詢管理員")
    public ResponseParam listAdminForPage(@Validated @RequestBody PageRequestParam<UserPageRequestParam> req) {
        UserPageRequestParam data = req.getData();

        Page<User> page = new Page<>(req.getPage(),req.getLimit());
        page = userService.listForPage(page,data,true);

        return new ResponseParam(page);
    }

    @PostMapping("/user/saveAdmin")
    @ResponseBody
    @ApiOperation("用戶管理:新增管理員")
    @OperationLog("用戶管理:新增管理員")
    @RequiresRoles(value = "superadmin")
    public ResponseParam saveAdmin(@Validated @RequestBody RequestDataParam<UserRequestParam> req) throws Exception {
        return save(req);
    }

    @PostMapping("/user/updateAdmin/{id}")
    @ResponseBody
    @ApiOperation("用戶管理:修改管理員")
    @OperationLog("用戶管理:修改管理員")
    @RequiresRoles(value = "superadmin")
    public ResponseParam updateAdmin(@PathVariable("id")Long id, @Validated @RequestBody RequestDataParam<UserRequestParam> req) {
        req.getData().setId(id);
        return update(req.getData());
    }

    @RequiresRoles(value = {"teacher","superadmin"}, logical = Logical.OR)
    @PostMapping("/user/listStudentForPage")
    @ResponseBody
    @ApiOperation("用戶管理:查詢學生")
    @OperationLog("用戶管理:查詢學生")
    public ResponseParam listStudentForPage(@Validated @RequestBody PageRequestParam<StudentPageRequestParam> req) throws Exception {
        StudentPageRequestParam data = req.getData();

        User user = (User) SecurityUtils.getSubject().getPrincipal();
        UserClazz userClazz = UserClazz.builder().userId(user.getId()).build();
        List<Long> clazzIds = userClazzService.list(userClazz).stream().map(UserClazz::getClazzId).collect(Collectors.toList());
        List<Long> studentIds = userClazzService.listByClazzIds(clazzIds).stream().map(UserClazz::getUserId).collect(Collectors.toList());

        data.setStudentIds(studentIds);
        Page<User> page = new Page<>(req.getPage(),req.getLimit());
        page = userService.listStudentForPage(page,data);

        return new ResponseParam(page);
    }
}
  • QiniuUtil七牛云工具類
@Component
@Slf4j
public class QiniuUtil {

    @Value("${oss.qiniu.accessKey}")
    private String accessKey;

    @Value("${oss.qiniu.secretKey}")
    private String secretKey;

    @Value("${oss.qiniu.bucketname}")
    private String bucketname;

    public String upload(MultipartFile file) throws IOException, UploadException {
        if(ObjectUtil.isNull(file)) {
            return "";
        }
        // region2是華南區(qū)域
        Configuration cfg = new Configuration(Region.autoRegion());
        UploadManager uploadManager = new UploadManager(cfg);
        // 生成上傳憑證,然后準備上傳
        Auth auth = Auth.create(accessKey, secretKey);
        // 上傳
        Response response;
        String fileName;
        String filType;
        DefaultPutRet putRet = null;
        try {
            String originalFileName = file.getOriginalFilename();
            filType = originalFileName.substring(originalFileName.lastIndexOf("."));
            fileName = StrUtil.concat(true, String.valueOf(DateUtil.currentSeconds()), RandomUtil.randomString(6),filType);
            response = uploadManager.put(file.getBytes(), fileName, auth.uploadToken(bucketname));
            // 解析上傳成功的結(jié)果
            putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
        } catch (QiniuException e) {
            // 請求失敗時打印的異常的信息
            log.warn(StrUtil.concat(true,StrUtil.toString(e.code()),e.response.toString()));
            throw new UploadException("上傳七牛云失敗");
        }
        return fileName;
    }

    //刪除文件 參數(shù):存儲的圖片文件名
    public void deleteFileFromQiniu(String fileName){
        Configuration cfg = new Configuration(Region.region2());
        String key = fileName;
        Auth auth = Auth.create(accessKey, secretKey);
        BucketManager bucketManager = new BucketManager(auth, cfg);
        try {
            bucketManager.delete(bucketname, key);
        } catch (QiniuException e) {
            //如果遇到異常,說明刪除失敗
            log.warn(StrUtil.concat(true,StrUtil.toString(e.code()),e.response.toString()));
        }
    }
}
  • 成績導出工具類
@Slf4j
public class ExcelUtil {

    public static void download(HttpServletResponse response,String fileName, Class pojoClass, Collection collection) throws IOException, UploadException {
        try {
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding("utf-8");
            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20") + ".xlsx");
            EasyExcel.write(response.getOutputStream(), pojoClass)
                    .autoCloseStream(Boolean.FALSE)
                    .sheet("sheet1")
                    .doWrite(collection);
        } catch (Exception e) {
            log.error("成績導出失敗,文件下載時發(fā)生異常",e);
            response.reset();
            response.setContentType("application/json");
            response.setCharacterEncoding("utf-8");
            Map<String, String> map = MapUtils.newHashMap();
            map.put("status", "failure");
            map.put("message", "下載文件失敗" + e.getMessage());
            response.getWriter().println(JSONUtil.toJsonStr(map));
        }
    }
}

部分功能展示

登錄頁面

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
管理員,教師和學生角色統(tǒng)一一個登陸頁面,通過登錄進去后臺判斷不同的角色權限,跳轉(zhuǎn)到不同的頁面系統(tǒng)。

注冊

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
系統(tǒng)目前可以是學生和老師進行一個注冊,然后進入系統(tǒng),當然如果你的業(yè)務是不需要用戶進行注冊的話,可以把這個注冊給刪除掉,因為管理員也是可以在后臺進行添加用戶的。

管理員身份

首頁

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
首頁有一個輪播圖和系統(tǒng)公告,系統(tǒng)公告管理員可以加入后臺進行管理,點擊后臺入口即可進入管理頁面。

管理頁面首頁

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

學生和教師用戶管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
管理員可以增加和修改用戶,包括學生和教師,也可以禁用用戶操作。

班級管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

學生申請加入班級

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

因為開放了學生自己注冊的功能,所以學生和教師的關聯(lián),可以學生自己通過系統(tǒng)進行申請,當然如果實際情況不是注冊的方式的話,管理員可以自己進行關聯(lián)的,該功能可以靈活去掉。

在線考試管理

考試的一個過程需要在這申明一下:

1.首先先要有一個題庫 ;
2.然后管理員或者老師往這個題庫里面添加題目
3.創(chuàng)建一份試卷,試卷的產(chǎn)生是通過自己定義題目的個數(shù),然后選擇上面創(chuàng)建的題庫,進行自動組卷。
4.創(chuàng)建一次考試,需要選擇一份試卷,然后選中考試的班級,然后還有開始的時間。
5.到達開始時間后,學生登錄系統(tǒng)中進行考試。
6.考試結(jié)束后,提交試卷,為防止考試學生提前交卷,然后告訴答案給考場上面正在考試的同學,所以考試結(jié)束后才開始系統(tǒng)自動觸發(fā)批改系統(tǒng)job.
7.學生查看開始分數(shù)情況。

題庫管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

題目管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
新增加題目:
29基于java的在線考試系統(tǒng)設計與實現(xiàn)

試卷管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
新增加一份試卷,進行自動組卷:
29基于java的在線考試系統(tǒng)設計與實現(xiàn)

考試管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
新增加一次考試:
29基于java的在線考試系統(tǒng)設計與實現(xiàn)

學生成績管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
還可以導出考試考的成績列表:
29基于java的在線考試系統(tǒng)設計與實現(xiàn)

超級管理員角色

具有所有的上面管理員選線,額外再增加以下的功能:

管理所有管理員

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

系統(tǒng)公告管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

系統(tǒng)操作日志管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

教師身份角色

首頁

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

教師管理端首頁

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
顯示最近考試的情況統(tǒng)計。

學生列表

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
相對于管理員來講,就只能看到學生用戶,而看不到管理員用戶角色的,并且不可以增加學生用戶。

班級管理

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
下面具體的教師的權限信息,可以參照右邊的導航欄和上面管理員的角色看到教師角色所具有的權限,這里就沒必要一一列舉了:
29基于java的在線考試系統(tǒng)設計與實現(xiàn)

學生角色

學生首頁

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

關聯(lián)教師

因為學生有可能是自己注冊進來的,所以需要自己提交申請加入老師的班級:
29基于java的在線考試系統(tǒng)設計與實現(xiàn)

考試列表

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
這里展示的是自己關聯(lián)的老師下的班級下已經(jīng)創(chuàng)建的考試列表。

參加考試

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

考試頁面

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

我的成績

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

我的錯題

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

成績分析

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

個人信息

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

我的班級

29基于java的在線考試系統(tǒng)設計與實現(xiàn)

修改登錄密碼

29基于java的在線考試系統(tǒng)設計與實現(xiàn)
以上是大部分功能展示,所有的功能都是正常運行,沒有bug,導入到idea或者eclipse即可運行,沒有套路,具體細節(jié)大家下載后自己慢慢研究,歡迎大家一起交流學習文章來源地址http://www.zghlxwxcb.cn/news/detail-436311.html

到了這里,關于29基于java的在線考試系統(tǒng)設計與實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于JAVA的學生在線考試系統(tǒng)的設計與實現(xiàn)(論文+源碼)_kaic

    基于JAVA的學生在線考試系統(tǒng)的設計與實現(xiàn)(論文+源碼)_kaic

    摘 ?要 如今社會上各行各業(yè),都喜歡用自己行業(yè)的專屬軟件工作,互聯(lián)網(wǎng)發(fā)展到這個時候,人們已經(jīng)發(fā)現(xiàn)離不開了互聯(lián)網(wǎng)。新技術的產(chǎn)生,往往能解決一些老技術的弊端問題。因為傳統(tǒng)考試信息管理難度大,容錯率低,管理人員處理數(shù)據(jù)費工費時,所以專門為解決這個難題開

    2024年04月10日
    瀏覽(90)
  • 基于Java(SpringBoot框架)畢業(yè)設計作品成品(08)web網(wǎng)頁網(wǎng)絡在線考試網(wǎng)站系統(tǒng)設計與實現(xiàn)

    基于Java(SpringBoot框架)畢業(yè)設計作品成品(08)web網(wǎng)頁網(wǎng)絡在線考試網(wǎng)站系統(tǒng)設計與實現(xiàn)

    博主介紹 :《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、PPT、論文模版

    2024年02月06日
    瀏覽(99)
  • 基于JAVA在線考試系統(tǒng)的設計與實現(xiàn)(Springboot框架) 研究背景與意義、國內(nèi)外研究現(xiàn)狀

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月03日
    瀏覽(98)
  • (Java畢業(yè)設計)在線考試系統(tǒng)(基于java+springboot)

    (Java畢業(yè)設計)在線考試系統(tǒng)(基于java+springboot)

    您好!我是島上程序猿,感謝您閱讀本文,歡迎一鍵三連哦。 在線考試的需求和管理上的不斷提升,在線考試管理的潛力將無限擴大,在線考試系統(tǒng)在業(yè)界被廣泛關注,本系統(tǒng)及對此進行總體分析,將在線考試信息管理的發(fā)展提供參考。在線考試系統(tǒng)對高校有著明顯的帶動效

    2024年02月08日
    瀏覽(105)
  • 基于python在線考試系統(tǒng)設計與實現(xiàn)

    基于python在線考試系統(tǒng)設計與實現(xiàn)

    主要講解本系統(tǒng)設計到的文件和所存在路徑等 ? 系統(tǒng)訪問 默認訪問系統(tǒng)頁面:http://127.0.0.1:8000 后臺管理登錄頁面:http://127.0.0.1:8000/ht/ 默認賬號admin 密碼123456 后臺管理系統(tǒng)框架路由文件: houtai/urls.py 這是開源的后臺管理框架,不要動,下面的這些文件供參考,了解即可 路

    2024年02月11日
    瀏覽(94)
  • 在線考試|基于Springboot的在線考試管理系統(tǒng)設計與實現(xiàn)(源碼+數(shù)據(jù)庫+文檔)

    在線考試|基于Springboot的在線考試管理系統(tǒng)設計與實現(xiàn)(源碼+數(shù)據(jù)庫+文檔)

    在線考試管理系統(tǒng)目錄 目錄 基于Springboot的在線考試管理系統(tǒng)設計與實現(xiàn) 一、前言 二、系統(tǒng)設計 三、系統(tǒng)功能設計? 1、前臺: 2、后臺 管理員功能 四、數(shù)據(jù)庫設計 ?五、核心代碼? 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲?。?博主介紹 :??大廠碼農(nóng)|畢設

    2024年04月11日
    瀏覽(90)
  • 基于JavaWeb的在線考試系統(tǒng)的設計與實現(xiàn)

    基于JavaWeb的在線考試系統(tǒng)的設計與實現(xiàn)

    目 錄 摘 要 Ⅰ Abstract Ⅱ 1 緒 論 1 1.1 背景 1 1.2 國內(nèi)外現(xiàn)狀 2 1.3 系統(tǒng)開發(fā)的目標與意義 2 1.3.1 系統(tǒng)開發(fā)目標 2 1.3.2 意義 2 2 開發(fā)技術背景 4 2.1 Java語言 4 2.2 Struts2 4 2.3 Spring 5 2.4 Hibernate 5 2.5 JavaScript 6 2.6 JSP 6 2.7 MySQL數(shù)據(jù)庫 7 2.8 開發(fā)環(huán)境 7 3 系統(tǒng)需求分析和設計 9 3.1 系統(tǒng)的基本需

    2024年02月13日
    瀏覽(87)
  • JAVA在線刷題在線考試系統(tǒng)設計與實現(xiàn)(Springboot框架)

    JAVA在線刷題在線考試系統(tǒng)設計與實現(xiàn)(Springboot框架)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設計教育和輔導。 所有項目都配有從入門到精通的基礎知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務書、

    2024年02月03日
    瀏覽(95)
  • 基于微信小程序/安卓APP的在線考試系統(tǒng)設計與實現(xiàn)

    基于微信小程序/安卓APP的在線考試系統(tǒng)設計與實現(xiàn)

    ??博主介紹:?全網(wǎng)粉絲10W+,CSDN全棧領域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/知乎/華為云/阿里云等平臺優(yōu)質(zhì)作者。 ???? 精彩專欄 推薦訂閱???? 計算機畢業(yè)設計精品項目案例(持續(xù)更新) ?? 文末獲取源碼+數(shù)據(jù)庫+文檔 ?? 感興趣的可以先收藏起來,還有大家在畢設選題,項

    2024年02月22日
    瀏覽(102)
  • 基于Web技術的在線考試系統(tǒng)的設計與實現(xiàn)(論文+源碼)_kaic

    基于Web技術的在線考試系統(tǒng)的設計與實現(xiàn)(論文+源碼)_kaic

    基于Web技術的在線考試系統(tǒng)的設計與實現(xiàn) 2021級計算機科學與技術專升本06班 ? ?趙磊 摘要: 首先是智能防作弊的整合創(chuàng)新,系統(tǒng)自動進行考試數(shù)據(jù)的分析,及格率、錯題率、高分統(tǒng)計等等數(shù)據(jù)完整呈現(xiàn)。以往傳統(tǒng)的考試學習方式,極大地束縛了人的創(chuàng)造力和想象力,使人們

    2024年02月03日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包