Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

基于Java+web的在线Java编辑器 PDF 下载


分享到:
时间:2020-06-24 15:14来源:http://www.java1234.com 作者:小锋  侵权举报
基于Java+web的在线Java编辑器 PDF 下载
失效链接处理
基于Java+web的在线Java编辑器 PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:

近些年,互联网技术飞速发展,越来
越多的人接触到了编程语言,同时更多的
人愿意去了解学习编程语言,但由于以往
的编程语言编译器安装复杂,且部分还需
要配置环境,所以一些想学习编程语言的
人望而却步。本文中基于Java web的在线
Java编辑器相比传统的代码编辑器,更加方
便快捷,更适合编程学习者的日常使用。
课题背景:随着互联网技术与计算
机技术的高速发展,编程语言也渐渐进
入人们的视线。传统的语言编辑器需要
下载安装,甚至需要配置环境,操作相
对复杂,但是从用户角度出发,简单、
便捷、满足需求并且成本低廉才是选择
软件系统的重要条件。所以由此可见,
用户需要更加简捷的语言编辑器,以使
学习编程可以不受太大限制,所以在线
的编程语言编辑器应运而生。相比传统
的语言编辑器,它能够极大地减少了学
习编程语言的成本问题,具有面向大众
和良好的跨平台的优势。文章以近几年
霸占榜首的最受欢迎的编程语言Java语
言来讨论在线编辑器的实现。
课题意义:(1)在线编辑器的开发
能极大地减少编程语言的学习成本,现在
高校教室所配备的电脑上编程环境或缺失
或没有,而在线编辑器的开发能极大地解
决这个问题,不需要本地的环境就可以进
行简单代码学习。摆脱时间和空间的限
可以与应用程序运行所在的环境进行交互,调用exec运行命
令,返回一个Progress对象。
(2)Java处理命令输入输出流
流代表任何有能力产出数据的数据源对象或者是有能力接
受数据的接收端对象,一个流可以理解为一个数据的序列。输
入流表示从一个数据源读取数据,输出流表示向一个目标写数
据。Progress对象默认情况下没有自己的终端或控制台,其所有
的I/O输出(即标准输入、标准输出、错误输出)将会重定向到
父进程。通过Java对流的支持,向Progress对象的输入流中写入
输入,重定向Progress对象的标准输出流保存到字符串中。
(3)高并发下的文件处理
调用java命令运行Java源文件时,必要的条件是源文件得
存在,所以需要Java将代码写入源文件,web项目高并发时因为
文件被占用容易导致死锁。Web应用中,通过session来标识唯
一用户,每个session都有着一个id,将文件放在${servletContent
Path}/${sessionId}/${source File}下,就可以保证源文件唯一。
(4)沙箱安全机制
沙箱(sandbox)是一个限制程序运行的环境。限制程序运
行一方面是为了保护系统资源,同时另一方面也为了保护程序自
己。沙箱主要限制系统资源访问(包括CPU、内存、文件系统、
网络)。不同级别的沙箱对这些资源访问的限制也可以不一样。
Java安全模型的核心就是Java沙箱,采用策略文件控制
沙箱的管理要素。通过加入-Djava.security.policy=<URL>参
数来使用策略文件启动Java安全机制。
1.4 用户界面设计
用户界面包括用户和界面之间的交互关系,所以用户界
面的清晰、简单可以给用户舒适感,为软件适当加分。在这
个在线Java编辑器的用户界面中,主要包括两大模块:Home
与About。如图1所示。
其中Home模块为主要的功能实现模块,内含code(编码
区域),input(输入区域),output(输出区域)。
About模块则是有关于在线Java编辑器的一些内容:
(1)该模块包含快捷键的介绍,并且明确说明此编辑
器支持浏览器本身的所有快捷键,在设计时,为方便用户的
代码输入,特意增加了自定义的快捷键(Ctrl-.),提高了用
户使用此在线Java编辑器的友好性。
(2)该模块还包含此在线Java编辑器的约定,明确提示
用户约定主类为Main,不可有包名空间。
图1 用户界面模块图
2 实验 
2.1 实验环境
因为Java跨平台特性在Windows 10与Ubuntu 18.04,
JDK11环境下都可以完美运行,使用spring-boot提供Web 服
务器功能,使用系统自带的python3环境。使用自定义策略文
制,可以随时随地进行编码,能够很好的利用碎片时间,对学习代码有着
极其重要的作用。(2)随着互联网技术的发展,互联网已经成为信息交换
的重要场所,对于学生的在线考试系统应运而生,能极大的减少老师的工作
量,且判卷的错误率更低。而对于编程语言的考试,在线编译运行则是最重
要的部分。此编辑器是在线判题系统的核心部分,在在线判题系统(Online 
Judge)中,最为核心的就是代码的运行判断,而在线编辑器则是该功能的
完美实现。
1 系统设计
1.1 基本思路
运用spring-boot+vue架构和B/S模式实现,用户通过web界面提交代码
与相应输入,点击运行发送请求到服务器,服务器通过中间件将代码进
行编译运行,将结果返回到浏览器,浏览器处理并显示。
1.2 中间件设计
中间件是系统的业务中心,由Java编写、处理web服务器所接收到的
代码及输入,将代码写入文件,并调用系统编译程序来编译运行代码,
通过数据流的方式写入输入,读取输出,将输出提交给web服务器,由
web服务器返回给用户。
1.3 关键技术
(1)使用Java运行系统命令
实现Java执行系统指令功能是使用了JDK提供的Runtime.getRun￾time().exec(command:String);通过调用静态方法Runtime.getRuntime()来
获取与当前Java应用程序关联的Runtime对象。Runtime使当前应用程序
万方数据
Java web Java
山西农业大学王薇姚宇轩
基于的在线编辑器
ELECTRONICS WORLD・探索与观察
• 77 •
件来控制Java沙箱,使用virtualenv作为python沙箱。
2.2 测试程序截图,如图2、3、4所示
图2 在线编辑器相关菜单
图3 测试code、output栏
图4 测试code、input、output栏
结束语:现今,已然是一个网络时代,但是这个大环境下并不能脱离代码,
不能脱离编程。相较于传统的代码编辑器,基于Java web的在线Java编辑器有更
多优点,如方便性、成本低、在线式等,除此之外,在线Java编辑器界面简单清
晰,易使用,编码、输入与输出,三者于同一页面,方便用户查看所需信息,满
足用户至上的界面设计原则。基于Java web的在线Java编辑器扩展了计算的环境,
方便了大众。该编辑器解决了编码需要电脑,或者手机因内存不足不能下载编码
软件等问题,使编码实现随时随地,尤其方便一些要参加“蓝桥杯”等竞赛的同
学,得以摆脱时间与空间的限制,为使用者提供了一个简单便捷的编程环境。并
且,在线编译运行是编程语言的考试的最重要的部分,而在线编辑器可以较完美

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐