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

70 篇文章 0 订阅

一、由于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 语句

CREATE TABLE `t_contest`(
  `C_ID` int(10)NOT NULL 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;

CREATE TABLE `t_cproblem`(
  `C_ID` int(10)NOT NULL 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;

CREATE TABLE `t_description`(
  `C_ID` int(11)NOT NULL 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)NOT NULL default '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;

CREATE TABLE `t_problem`(
  `C_ID` int(10)NOT NULL 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;

CREATE TABLE `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;

CREATE TABLE `t_submission`(
  `C_ID` int(10)NOT NULL 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;

CREATE TABLE `t_user`(
  `C_ID` int(10)NOT NULL 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_ciNOT NULL,
  `C_SCHOOL` varchar(100)collate utf8_unicode_ciNOT NULL,
  `C_EMAIL` varchar(100)collate utf8_unicode_ciNOT NULL,
  `C_BLOG` varchar(1000)collate utf8_unicode_ciNOT NULL,
  `C_SHARE` int(10) unsigned NOTNULLdefault'1',
  `C_SUP` int(10) unsigned NOTNULLdefault'0',
  PRIMARYKEY  (`C_ID`)
) ENGINE=InnoDBDEFAULT CHARSET=utf8COLLATE=utf8_unicode_ci;


CREATE TABLE `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/list
2、在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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值