资源简介

本系统是一个在大学学生作业的一个管理系统,主要功能是老师添加习题,布置作业,发布作业,批阅作业,查重,学生做作业查看作业。系统是基于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\.settings\org.eclipse.core.resources.prefs

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

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

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

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

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

     文件       2280  2018-07-15 16:56  homework\src\applicationContext.xml

     文件        319  2018-10-15 09:10  homework\src\db.properties

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

     文件        630  2017-12-30 20:26  homework\src\log4j.xml

     文件       1425  2018-07-16 09:39  homework\src\mybatis-config.xml

     文件       5170  2018-10-19 19:35  homework\src\ssh\homework\common\DynamicLoader.java

     文件        991  2018-07-29 10:16  homework\src\ssh\homework\common\HomeworkConstants.java

     文件        987  2018-10-19 19:41  homework\src\ssh\homework\common\ReadTxt.java

     文件       7053  2018-09-26 16:37  homework\src\ssh\homework\controller\AssignmentController.java

     文件       2837  2018-07-24 12:19  homework\src\ssh\homework\controller\ClazzController.java

     文件      17115  2018-11-16 21:25  homework\src\ssh\homework\controller\CorrectWorkbookController.java

     文件       2883  2018-07-24 12:39  homework\src\ssh\homework\controller\CourseController.java

     文件       8540  2018-10-10 20:53  homework\src\ssh\homework\controller\ExerciseCtroller.java

     文件        671  2018-07-21 18:30  homework\src\ssh\homework\controller\FormController.java

     文件       7953  2018-08-24 09:42  homework\src\ssh\homework\controller\StudentController.java

     文件      12149  2018-12-13 19:59  homework\src\ssh\homework\controller\StudentWorkbookController.java

     文件       5571  2018-10-21 22:20  homework\src\ssh\homework\controller\TeacherController.java

     文件      20680  2018-11-19 13:38  homework\src\ssh\homework\controller\WorkbookController.java

     文件       2472  2018-07-30 21:29  homework\src\ssh\homework\dao\AssignmentDao.java

     文件       2821  2018-08-01 16:21  homework\src\ssh\homework\dao\ClazzDao.java

     文件       1741  2018-07-30 18:11  homework\src\ssh\homework\dao\CourseDao.java

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

评论

共有 条评论