课上JavaEE,老师直接用了大佬的教程。
Vue + Spring Boot 项目实战:

https://blog.csdn.net/Neuf_Soleil/article/details/88925013

项目大部分参考了这个,里面的代码可下载秒运行,很赞。
java在线编译功能:

https://blog.csdn.net/weixin_40826724/article/details/98344758

Vue CodeMirror 参考

https://blog.csdn.net/weixin_43080277/article/details/83860629

界面图

前端created方法从加载页面开始执行,向后台请求题目

后端接收,返回题目

前端点击运行,调用run方法

后端接收

简单介绍一下后台流程
1.后台接收到String类型的javaSource(源码)
2.调用JAVA编译类(输入:java类名,方法名,代码)(输出:class文件至本地)
3.装载class文件到内存,创建对象
4.调用对象的方法(输入方法名,参数)(输出:调用结果)
5.返回结果

//JAVA编译类
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
//中间省略步骤若干,主要负责下面编译任务设置参数(比如class文件应该存到哪,编译参数是什么)
//compiler 生成编译任务
JavaCompiler.CompilationTask task=compiler.getTask(null,fileManager,null,options,null,files);
//执行,生成class文件
task.call();
//装载类并实例化到内存
Class.forName(className);
//过程:获取对象,执行对象方法  现在就是获取对象方法,然后执行即可 (参数为方法名、参数)
Method method=runClass.getMethod(methodName,String[].class);
//调用方法
method.invoke(null,(Object) args);
//返回到前端

想了解一下具体JavaCompiler类编译流程和参数,参考

https://blog.csdn.net/u010398771/article/details/90474813

项目不足:

  1. 写了个套娃程序。
    2.编辑器里的java类名不能改变,方法必须是static。
    3.没有安全设计,浏览器端可以运行任意代码
    4.没有限制单个用户的资源占用,理论上可以占用所有资源
    5.篇幅限制省略500点不足

Java WebIDE:CodeMirror+Vue+JavaCompiler相关推荐

  1. Java项目:springboot+vue大学生健康档案管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 大学生健康档案管理系统,目前演示数据中主要包括三种角色:管理员.医生.学生:其中管理员 ...

  2. Java项目:Springboot+vue在线考试系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 在线考试系统 项目介绍 该项目是一个前后端分离项目,后端使用 SpringBoot,前端使用 V ...

  3. Java项目:springboot+vue电影院会员管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目代码架构设计简单,注释齐全,结构清晰,适合同为java初学者参考. cinema ...

  4. Java项目:springBoot+Vue汽车销售管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本项目基于spring boot以及Vue开发,为前后端分离的项目.针对汽车销售提供客 ...

  5. java socket中属性详解_前端开发:关于Vue组件中的data属性值是函数而不是对象的详解...

    最近在搞关于前端开发的基础知识归纳,发现了不少经典知识点,那么本篇博文就来分享一个经典的知识点:Vue组件中的data属性值为什么是函数而不是对象.首先来了解一下Vue组件的使用理念:在Vue组件使用 ...

  6. Java毕业设计:基于springboot+java+vue的健身房课程预约信息网站

    运行环境 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclip ...

  7. Vue实战篇一: 使用Vue搭建注册登录界面

    系列文章目录 Vue基础篇一:编写第一个Vue程序 Vue基础篇二:Vue组件的核心概念 Vue基础篇三:Vue的计算属性与侦听器 Vue基础篇四:Vue的生命周期(秒杀案例实战) Vue基础篇五:V ...

  8. java项目:基于springboot+vue的实验室预约管理系统 nodejs

    本文从用户的功能要求出发,建立了实验室管理系统,系统中的功能模块主要是实现管理员:首页.个人中心.实验室管理.用户管理.实验室申请管理.设备管理.设备报备管理.设备申请管理.消耗品管理.消耗品领取管理 ...

  9. JAVA计算机毕业设计基于vue技术的汽车维修检测系统设计与实现源码+数据库+系统+lw文档

    JAVA计算机毕业设计基于vue技术的汽车维修检测系统设计与实现源码+数据库+系统+lw文档 JAVA计算机毕业设计基于vue技术的汽车维修检测系统设计与实现源码+数据库+系统+lw文档 本源码技术栈 ...

最新文章

  1. SQL注入详解和简单绕过原理
  2. window环境变量
  3. 大学c语言基本程序,一个大学C语言试题的简单实现--员工信息管理程序
  4. 美赛整理之投影寻踪模型及其求解
  5. python变量、运算符、要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入练习
  6. WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
  7. Android Bitmap保存时背景变为黑色的问题
  8. AI上推荐 之 xDeepFM模型(显隐性高阶特征交互的组合策略)
  9. nero linux4 序列号,Nero Linux 4 Nero Linux v4.0.0.0b
  10. 浅谈JAVA工作流的优雅实现方式
  11. 三代测序组装工具Canu学习笔记
  12. 【Course 2 改善深度神经网络】Week 1 深度学习的实用层面
  13. 3到5年工作经验是如何回答面试中被问到的Java集合框架问题
  14. Cloud Foundry 运行bosh create-env时报错: TLS handshake timeout
  15. 7-3 计算职工工资
  16. c语言智能小车项目的感想,基于51单片机的遥控智能小车实作心得
  17. 清华计算机专业考研经验谈
  18. LeeCode 5454 前缀和 + 暴力
  19. Confluence 你可以对编辑器中的表格进行什么样的操作
  20. Linux中网络连接不上解决方案大全

热门文章

  1. debain 10 命令行安装vmtools
  2. 电子采购订单与手动采购订单有什么区别?
  3. IBM N系列存储和NetApp FAS之间的对应关系
  4. 输出杨辉三角形的前n行
  5. c语言用循环输出塔状五行,从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式, 输出杨辉三角形的前n行。请采用循环控制语句来实现。...
  6. 安卓易剪多轨版_易剪多轨版安卓
  7. 文档编号与文档版本号的作用
  8. 《数据密集型应用系统设计》读书笔记——第一部分 数据系统基础
  9. 中纪委“点名”《哪吒》:这个人最该被问责
  10. android手机的智能备忘录,智能备忘录app