具有查重检测功能的作业管理系统


本系统是一个在大学学生作业的一个管理系统,主要功能是老师添加习题,布置作业,发布作业,批阅作业,查重,学生做作业查看作业。系统是基于Spring+Spring MVC+MyBatis+Jquery实现的
资源截图
代码片段和文件信息
package ssh.homework.common;

import javax.tools.*;
import java.io.*;
import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.CharBuffer;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DynamicLoader {
/**
 * auto fill in the java-name with code return null if cannot find the public
 * class
 * 
 * @param javaSrc source code string
 * @return return the Map the KEY means ClassName the VALUE means bytecode.
 */
public static Map compile(String javaSrc) {
Pattern pattern = Pattern.compile(“public\s+class\s+(\w+)“);
Matcher matcher = pattern.matcher(javaSrc);
if (matcher.find())
return compile(matcher.group(1) + “.java“ javaSrc);
return null;
}

/**
 * @param javaName the name of your public classeg: TestClass.java
 * @param javaSrc  source code string
 * @return return the Map the KEY means ClassName the VALUE means bytecode.
 */
public static Map compile(String javaName String javaSrc) {

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager stdManager = compiler.getStandardFileManager(null null null);
try (MemoryJavaFileManager manager = new MemoryJavaFileManager(stdManager)) {
JavaFileobject javaFileobject = manager.makeStringSource(javaName javaSrc);
JavaCompiler.CompilationTask task = compiler.getTask(null manager null null null
Arrays.asList(javaFileobject));
if (task.call())
return manager.getClassBytes();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}


public static class MemoryClassLoader extends URLClassLoader {
Map classBytes = new HashMap();

public MemoryClassLoader(Map classBytes) {
super(new URL[0] MemoryClassLoader.class.getClassLoader());
this.classBytes.putAll(classBytes);
}

@Override
protected Class findClass(String name) throws ClassNotFoundException {
byte[] buf = classBytes.get(name);
if (buf == null) {
return super.findClass(name);
}
classBytes.remove(name);
return defineClass(name buf 0 buf.length);
}
}
}

/*
 * MemoryJavaFileManager.java
 * 
 * @author A. Sundararajan
 */
/**
 * JavaFileManager that keeps compiled .class bytes in memory.
 */
@SuppressWarnings({ “unchecked“ “rawtypes“ })
final class MemoryJavaFileManager extends ForwardingJavaFileManager {
/**
 * Java source file extension.
 */
private final static String EXT = “.java“;
private Map classBytes;

public MemoryJavaFileManager(JavaFileManager fileManager) {
super(fileManager);
classBytes = new HashMap();
}

public Map getClassBytes() {
return classBytes;
}

public void close() throws IOException {
c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        885  2018-09-19 20:16  homework.classpath

     文件        908  2018-07-15 12:40  homework.project

     文件        567  2018-07-15 12:40  homework.settings.jsdtscope

     文件        147  2018-08-23 20:14  homework.settingsorg.eclipse.core.resources.prefs

     文件        364  2018-07-15 12:40  homework.settingsorg.eclipse.jdt.core.prefs

     文件        558  2018-09-19 20:16  homework.settingsorg.eclipse.wst.common.component

     文件        345  2018-07-15 12:40  homework.settingsorg.eclipse.wst.common.project.facet.core.xml

     文件         49  2018-07-15 12:40  homework.settingsorg.eclipse.wst.jsdt.ui.superType.container

     文件          6  2018-07-15 12:40  homework.settingsorg.eclipse.wst.jsdt.ui.superType.name

     文件       2280  2018-07-15 16:56  homeworksrcapplicationContext.xml

     文件        319  2018-10-15 09:10  homeworksrcdb.properties

     文件      62166  2018-08-30 10:42  homeworksrchomework表之间的关系.docx

     文件        630  2017-12-30 20:26  homeworksrclog4j.xml

     文件       1425  2018-07-16 09:39  homeworksrcmybatis-config.xml

     文件       5170  2018-10-19 19:35  homeworksrcsshhomeworkcommonDynamicLoader.java

     文件        991  2018-07-29 10:16  homeworksrcsshhomeworkcommonHomeworkConstants.java

     文件        987  2018-10-19 19:41  homeworksrcsshhomeworkcommonReadTxt.java

     文件       7053  2018-09-26 16:37  homeworksrcsshhomeworkcontrollerAssignmentController.java

     文件       2837  2018-07-24 12:19  homeworksrcsshhomeworkcontrollerClazzController.java

     文件      17115  2018-11-16 21:25  homeworksrcsshhomeworkcontrollerCorrectWorkbookController.java

     文件       2883  2018-07-24 12:39  homeworksrcsshhomeworkcontrollerCourseController.java

     文件       8540  2018-10-10 20:53  homeworksrcsshhomeworkcontrollerExerciseCtroller.java

     文件        671  2018-07-21 18:30  homeworksrcsshhomeworkcontrollerFormController.java

     文件       7953  2018-08-24 09:42  homeworksrcsshhomeworkcontrollerStudentController.java

     文件      12149  2018-12-13 19:59  homeworksrcsshhomeworkcontrollerStudentWorkbookController.java

     文件       5571  2018-10-21 22:20  homeworksrcsshhomeworkcontrollerTeacherController.java

     文件      20680  2018-11-19 13:38  homeworksrcsshhomeworkcontrollerWorkbookController.java

     文件       2472  2018-07-30 21:29  homeworksrcsshhomeworkdaoAssignmentDao.java

     文件       2821  2018-08-01 16:21  homeworksrcsshhomeworkdaoClazzDao.java

     文件       1741  2018-07-30 18:11  homeworksrcsshhomeworkdaoCourseDao.java

............此处省略1609个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)