linux(ubuntu)下 virtual judge 环境搭建 与配置

一、由于virtual judge 为件jsp项目,先进行件jsp环境的搭建:

ubuntu搭建jsp环境

1. 安装jdk

sudo apt-get install openjdk-6-jdk

2. 安装apache2

sudo apt-get install apache2

3. 安装mysql

(1) 安装

sudo apt-get install mysql-sql

(2)创建数据库和表

mysql -uroot -p

4. 安装tomcat

(1)安装

在http://tomcat.apache.org/download-60.cgi页面中下载Core里的tar.gz文件;下载完解压后,将解压后的文件夹移至/usr/local中。

(2)启动tomcat

在终端执行/usr/local/apache-tomcat-6.0.35/bin/startup.sh

5. 在jsp中使用JDBC来连接MySQL数据库

(1)下载JDBC驱动程序

www.mysql.com/downloads/中寻找connectors, 然后网页左侧有connector/J 点击会出现供选择的tar.gz和zip文件下载(下载.tar.gz文件 ),下载完毕后解压缩。

(2)配置连接文件

将刚刚展开的mysql-connector-java-5.1.18 中的mysql-connector-java-5.1.18-bin.jar文件拷贝到上面安装的jdk 和 tomcat下的lib文件夹中:

jdk:/usr/lib/jvm/java-6-openjdk/lib

tomcat:/usr/local/apache-tomcat-6.0.35/lib/

6. 测试文件

(1)创建test站点

创建目录:/usr/local/apache-tomcat-6.0.35/lib/apache-tomcat-6.0.35/webapps/test

将/usr/local/apache-tomcat-6.0.35/lib/apache-tomcat-6.0.35/webapps/Root/WEB-INF目录拷贝到/usr/local/apache-tomcat-6.0.35/lib/apache-tomcat-6.0.35/webapps/test中。

(2)创建test文件

创建文件:/usr/local/apache-tomcat-6.0.35/lib/apache-tomcat-6.0.35/webapps/test/test.jsp

<%@ page contentType="text/html; charset=gb2312" import="java.util.*" %><%@ page import="java.sql.*"%><html><head><title>jsp1</title></head><body bgcolor="#ffffff"><center><p><% out.print("helloworld"); %><%Class.forName("com.mysql.jdbc.Driver").newInstance();Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/kpi_android_cn","root","1234");Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);String sql = "select * from LaunchSpeed";ResultSet rs = stmt.executeQuery(sql); %><% while(rs.next()){out.println(rs.getString(5)) ;}%><%out.print("ok");%></center></body></html>

7. 查看结果:

在浏览器地址栏输入:localhost:8080/test/test.jsp,查看网页是否显示对应数据库中的数据。

二、在myql中创建vhoj数据库

1、在终端中输入 sudo mysql -uroot -pyourpassword

2、创建 vhoj数据库create database vhoj;

3 、查看是否创建成功 showdatabases;

4、选中vhoj数据库,use vhoj;

5,创建表格,执行以下sql 语句

CREATETABLE`t_contest`( `C_ID` int(10)NOTNULL auto_increment, `C_TITLE` varchar(100)collate utf8_unicode_cidefaultNULL, `C_DESCRIPTION` textcollate utf8_unicode_ci, `C_PASSWORD` varchar(40)collate utf8_unicode_cidefaultNULL, `C_BEGINTIME` datetimedefaultNULL, `C_ENDTIME` datetimedefaultNULL, `C_MANAGER_ID` int(10)defaultNULL, `C_HASH_CODE` varchar(40)collate utf8_unicode_cidefaultNULL, `C_REPLAY_STATUS_ID` int(10) unsigned defaultNULL, `C_ANNOUNCEMENT` textcollate utf8_unicode_ci, `C_ENABLE_TIME_MACHINE` int(1) unsigned defaultNULL, PRIMARYKEY (`C_ID`), KEY`Index_manager_id`(`C_MANAGER_ID`), KEY`Index_hash_code`(`C_HASH_CODE`), KEY`Index_replay_status_id`(`C_REPLAY_STATUS_ID`)) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci; CREATETABLE`t_cproblem`( `C_ID` int(10)NOTNULL auto_increment, `C_PROBLEM_ID` int(10)defaultNULL, `C_CONTEST_ID` int(10)defaultNULL, `C_NUM` varchar(2)collate utf8_unicode_cidefaultNULL, `C_TITLE` varchar(100)collate utf8_unicode_cidefaultNULL, `C_DESCRIPTION_ID` int(10) unsigned defaultNULL, PRIMARYKEY (`C_ID`), KEY`Index_problem_id`(`C_PROBLEM_ID`), KEY`Index_contest_id`(`C_CONTEST_ID`), KEY`Index_description_id`(`C_DESCRIPTION_ID`)) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci; CREATETABLE`t_description`( `C_ID` int(11)NOTNULL auto_increment, `C_DESCRIPTION` text characterset utf8collate utf8_unicode_ci, `C_INPUT` text characterset utf8collate utf8_unicode_ci, `C_OUTPUT` text characterset utf8collate utf8_unicode_ci, `C_SAMPLEINPUT` text characterset utf8collate utf8_unicode_ci, `C_SAMPLEOUTPUT` text characterset utf8collate utf8_unicode_ci, `C_HINT` text characterset utf8collate utf8_unicode_ci, `C_PROBLEM_ID` int(11)NOTNULLdefault’0′, `C_UPDATE_TIME` datetimedefaultNULL, `C_AUTHOR` varchar(100)defaultNULL, `C_REMARKS` varchar(500) character set utf8collate utf8_unicode_cidefaultNULL, `C_VOTE` int(10) unsigned defaultNULL, PRIMARYKEY (`C_ID`), KEY`Index_problem_id`(`C_PROBLEM_ID`)) ENGINE=InnoDBDEFAULT CHARSET=latin1; CREATETABLE`t_problem`( `C_ID` int(10)NOTNULL auto_increment, `C_TITLE` varchar(100)collate utf8_unicode_cidefaultNULL, `C_SOURCE` varchar(500)collate utf8_unicode_cidefaultNULL, `C_URL` varchar(500)collate utf8_unicode_cidefaultNULL, `C_originOJ` varchar(40)collate utf8_unicode_cidefaultNULL, `C_originProb` varchar(40)collate utf8_unicode_cidefaultNULL, `C_MEMORYLIMIT` int(10)defaultNULL, `C_TIMELIMIT` int(10) unsigned defaultNULL, `C_TRIGGER_TIME` datetimedefaultNULL, PRIMARYKEY (`C_ID`)) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci; CREATETABLE`t_replay_status`( `C_ID` int(10) unsigned NOTNULL auto_increment, `C_DATA` mediumtextcollate utf8_unicode_ci, PRIMARYKEY (`C_ID`)) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci; CREATETABLE`t_submission`( `C_ID` int(10)NOTNULL auto_increment, `C_STATUS` varchar(100)collate utf8_unicode_cidefaultNULL, `C_TIME` int(10) unsigned defaultNULL, `C_MEMORY` int(10) unsigned defaultNULL, `C_SUBTIME` datetimedefaultNULL, `C_PROBLEM_ID` int(10)defaultNULL, `C_USER_ID` int(10)defaultNULL, `C_CONTEST_ID` int(10)defaultNULL, `C_LANGUAGE` varchar(100) character set utf8collate utf8_bindefaultNULL, `C_SOURCE` textcollate utf8_unicode_ci, `C_ISOPEN` int(10)defaultNULL, `C_DISP_LANGUAGE` varchar(100)collate utf8_unicode_cidefaultNULL, `C_USERNAME` varchar(40)collate utf8_unicode_cidefaultNULL, `C_ORIGIN_OJ` varchar(40)collate utf8_unicode_cidefaultNULL, `C_ORIGIN_PROB` varchar(40)collate utf8_unicode_cidefaultNULL, `C_IS_PRIVATE` int(10) unsigned default’0′, `C_ADDITIONAL_INFO` textcollate utf8_unicode_ci, `C_REAL_RUNID` varchar(40)collate utf8_unicode_cidefaultNULL, PRIMARYKEY (`C_ID`), KEY`Index_problem_id`(`C_PROBLEM_ID`), KEY`Index_user_id`(`C_USER_ID`), KEY`Index_contest_id`(`C_CONTEST_ID`), KEY`Index_username`(`C_USERNAME`), KEY`Index_origin_prob`(`C_ORIGIN_PROB`)) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci; CREATETABLE`t_user`( `C_ID` int(10)NOTNULL auto_increment, `C_USERNAME` varchar(40)collate utf8_unicode_cidefaultNULL, `C_NICKNAME` varchar(100)collate utf8_unicode_cidefaultNULL, `C_PASSWORD` varchar(40)collate utf8_unicode_cidefaultNULL, `C_CREATETIME` datetimedefaultNULL, `C_QQ` varchar(20)collate utf8_unicode_ciNOTNULL, `C_SCHOOL` varchar(100)collate utf8_unicode_ciNOTNULL, `C_EMAIL` varchar(100)collate utf8_unicode_ciNOTNULL, `C_BLOG` varchar(1000)collate utf8_unicode_ciNOTNULL, `C_SHARE` int(10) unsigned NOTNULLdefault’1′, `C_SUP` int(10) unsigned NOTNULLdefault’0′, PRIMARYKEY (`C_ID`)) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci; CREATETABLE`t_vlog`( `C_ID` int(10) unsigned NOTNULL auto_increment, `C_SESSIONID` varchar(40)defaultNULL, `C_IP` varchar(40)defaultNULL, `C_CREATETIME` datetimedefaultNULL, `C_DURATION` int(10) unsigned defaultNULL, `C_REFERER` varchar(500)defaultNULL, `C_USERAGENT` varchar(500)defaultNULL, `C_LOGINER` int(10) unsigned defaultNULL, PRIMARYKEY (`C_ID`), KEY`Index_2`(`C_SESSIONID`)) ENGINE=InnoDBDEFAULT CHARSET=latin1;

6、查看数据表是否创建成功 show tables;

三、 代码实施

1、下载vj最新开源代码https://code.google.com/p/virtual-judge/downloads/list2、在tomcat安装目录下的webapps目录下新建名为judge的文件夹,并将下载的文件解压到目录下。3、修改以下配置文件

WEB-INF/db.properties、
改成本机相应的用户和密码

WEB-INF/web.properties、

本地测试注释前三行,远端访问注释后三行,并将basePath设置为http:yourid:8080/judge
4、到vj支持的oj系统注册用户
5、在WEB-INF新建
accounts.conf文件,该文件存放各oj系统的账号密码
内容格式为
POJ yourusername yourpassword
ZOJ yourusername yourpassword
UVALive yourusername yourpassword
SGU yourusername yourpassword
..............................
四、Then it should work

接着我们去了遇龙河,那里的水清澈见底,我把脚伸进水里,

linux(ubuntu)下 virtual judge 环境搭建 与配置

相关文章:

你感兴趣的文章:

标签云: