A. 怎样比较用Java和php 开发的在线考试系统的区别在哪里
PHP很专一,用于创建动态网页的服务器端的脚本语言。作为一种为Web而特别设计的语言,PHP带来了许多商业机构渴望的特性。
·学习周期短,比较简单
·快速的开发时间
·非常高的性能
这对于缺乏熟练编程人员,时间又非常紧迫的公司来讲,具有非常重要的意义。跨平台性很好,PHP可以在所有主要的操作平台(UNIX,Windows,甚至是大型机)上运行,而且生来就支持各种流行的数据库。这决定它是一种进行Web开发的非常理想的选择:曾有运用PHP技术的网上商店称,他们只需雇佣业余的程序员,几天内就能够开发出可重用的代码。那些熟悉诸如C,C++或Java等语言的程序员们,也总是发现他们能够在几个小时之内就能够进行PHP编程。 ,可想而知,转行去php非常简单
“PHP是构建在Web开发人员现实需求之上的....不同于其它笨重的,高负荷的方法,PHP非常轻便,是为Web开发度身定做的。它可以比其它同类技术更快,更容易的解决复杂的问题。”
Java作为一种新的编程语言,最初用于运行嵌在浏览器中的客户端应用程序。在过去短短几年中,“applet”所暴露的问题迫使SUN和其它Java开发人员为该语言寻找新的出路。其中最为突出的就是服务器端编程,它允许Web站点连接数据库并产生其它服务器端的应用程序,即“servlets”。SUN最终推出了Java Server Pages(JSP)作为编写servlets的手段。与PHP一样,JSP在不同平台间也具有高可移植性(尽管PHP支持任何32位以及32位以上的平台,而JSP只能在安装了Java虚拟机的平台上运行)。 然后,一个没有编程背景的新手会发现,使用servlets编程是一件极为困难的事,原因在于该语言的复杂性以及JSP系统复杂的设计方式。
JSP的性能也存在许多待改进的地方:ZDnet的在线刊物eWeek最近的一项调查发现,PHP的运行速度差不多是JSP的3.7倍。可以说,JSP是Web环境中非常差的一种解决方案,这是因为它每秒钟只能处理很少的事务,而且响应速度相当的慢。
ZDnet的eWeek杂志还提到:
“JSP是一项相对较新的技术,从开发工具、资源、人才方面来看,还未具有完全的市场成熟度。”......由于JSP是基于Java的,而Java由是一种强类型的语言,所以我们不得不声明变量的类型,并在需要的地方手工转换类型。这使得JSP成为业余程序员最难于学习的一种脚本语言。
PHP与Java协同工作
JSP仅仅是一种能够访问Java对象的语言罢了,认识到这一点很重要。而PHP也可以整合Java,这意味着,PHP可以象JSP一样,成为一种能够调用Java逻辑的脚本语言。但与JSP不同的是,PHP还可以调用其它组件模型,如Microsoft的COM,而且增加对新的对象模型的支持也极为容易。可见,PHP的扩展能力是无穷的。而另一方面,JSP完全依赖于Java。
IBM程序员Sam Ruby联合使用PHP和Java。通过PHP对Java的良好支持,使得Java对象如同常规的PHP对象一样,透明地被创建和使用。
AutionWatch网站使得各种规模的商业团体都可以从其动态竞价环境中获益。它每月的访问人数在二百六十万以上;已有三十多万个注册用户;每个月进行一百二十万次拍卖。 他们曾尝试使用Java,但还是选择了PHP,就因为它更容易使用,开发速度更快。
编程顾问Reuven Lerner曾在各种语言之间作过比较。他对PHP的评价:
“这是门容易学习的语言。美工和Web设计师可能会说他们并非程序员,但事实上,他们在大型项目中,越来越多的使用了JavaScript,VBScript以及其它一些简单的编程语言。与Perl相比,PHP更加正规和明确;对一个新手来说,PHP比Java更容易掌握。确实,PHP有点象JavaScript(如果存在服务器端版本的话)。任何人,不管有无编程经验,都可以在很短的时间里学会并使用PHP。这一点也许VBScript可以做到,但Perl和Java肯定不行.....PHP绝对是一个非凡的,强大的系统。无怪乎能够成为创建Web站点的流行语言.....我认为,PHP将成为Java和JSP强有力的竞争对手,我会在某些客户和公司内部项目中极力推荐PHP。”
PHP:一直在前进
JSP有Sun作为其后盾,因此不断获得媒体的关注。但有趣的是,尽管没有任何宣传攻势,PHP的流行度仍然以8-11%的速度在增长,远远大于服务器端应用程序4%的月增长率。有六百五十万个站点使用了PHP。39%的Apache服务器上配置了PHP;而Perl占了11%的市场分额,名列第四。Apache保持着59%的Web服务器市场占有率;Microsoft次之,仅28%。
使用PHP的着名公司有:Unilever、Philips、NTT、Cisco、 Japan Airlines、 Air Canada、 Lufthansa、GE Marketplace、 Wallstreet:Online Germany、 AuctionWatch、 VillageVoic、 Dialpad以及BMC,等等很多,世界上前四十的网站中就有二十多个是用php语言开发的。
B. php 网络考试系统 的倒计时怎么做时间到了自动弹出交卷的对话框
1.用js的setinterval()来设一定倒计时,倒计时的初始值由php分配过来;
2.为了防止别人自己调试js,修改时间,每10秒钟或更小用ajax检测一下服务器,统一次差值,这样就和服务器同步了。
3.在服务器每份试卷或每个人都是唯一的,只要开始启用,到时自动过期,保存存一个“提交失败”。
如果同时答题的人数不是很巨大,直接存session里面,访问量高的话存在数据库里面。
4.当倒计时为0时自动提交到服务器,服务器设一个容错时间,大概1分钟左右,即网络传输过程中超过1分钟就会提交失败。
5.在这考试期间,无论怎么刷新都是那一套题目,提交成功后就不能断续做题;提交失败后重新分配另一套题;重新开始计算时间;
6.避免题目重复,当提交失败3次后,就不能再次做题了。
虽然这样做了,也只能防止菜鸟作弊!
代码自己写。。
C. 关于设计一个网页版的考试软件
先要清楚你要的考试系统要体现什么?
1、试题
2、何人来做试题
3、成绩
我从你的提问中就理解到了这些。那么要网页版里体现,
1、就要用到HTML语言,如果要视觉效果就要用到DIV/Table和CSS来美化试题页面。
2、后台控制,给用户添加什么试题,多少试题,选择题有几个选项,判断题有几个提示和说明等。因为这些都不是固定不变的,所以要动态显示在网页上,那么就要用到动态语言如:JAVA、PHP、.NET等,用到动态语言就要用到数据库来储存,容易上手的有MySQL、SQLserver等。
3、数据库不止用来储存试题,还要用来储存答题者的信息和成绩等。
综上所述,你要实现这样的程序,粗略分为这样几部分:
1、后台控制:<1>添加试题;<2>控制用户;<3>查阅成绩(批阅可由程序自动完成);
2、前台显示:<1>用户答题信息注册;<2>试题答题(可允许修改答题);<3>用户查阅成绩;
3、数据库设计:<1>用户信息储存;<2>试卷储存;<3>成绩储存;
目前就解释这么多吧,详细内容网上有高手,也有教程,可以看看!
D. PHP 考试系统怎么生成随机试题,求代码写法.以选择题为例说明一下就行,假如从10个里抽3个,怎么在提交之
很简单,给你一个思路
你在数据库里面放10个题,
id questions options right_answer
1 china 是指哪个国家? A:中国;B:日本;C:美国 A
... ................ ............. ...
这样你从数据库中读取全部数据出来;
为了实现随机性,你可以用一个数组
<?php
$query=$mysql_query("select * from '表名'");
$results=$mysql_fetch_row($query);
$rand=array_rand($results,3);//取出随机的三个问题,注意这里取得是三个键值
$question=array($result[$rand[0]],$result[$rand[1]],$result[$rand[2]]);//将取出的三个问题放进一个数组中
?>
<form action="目标地址(此处用本页面地址)" method="post">
<?php
foreach($question as $values)
{
$options=explode(";",$values['options']);//用“;”将选项分割存进数组
echo $values['questions'];//显示题目
for($i=0;$i<count($options);$i++){
echo "<input type='radio' name=".$choice[$valest['id']]." value='A' >".$options[i]." /><br>";//输出选项
}
echo "----------------------------------------";//题目之间分隔符
}
//下面的代码是你接受form表单的页面,如果是本页面就直接接着上面的代码写
if(!empty($_POST[$choice]))
{
foreach($_POST[$choice] as $key=> $data)
{
$question_id=$key;
$user_choice=$data;
if(mysql_query("select * from '表名' where id=".$key."and right_answer='".$data."'"))
{
//答案对如何处理。。。。
}
else
{
//答案不对处理办法。。。。
}
}
}
?>
</form>
随手现写的代码,可能你里面有错误,但是思路你可以借鉴下~
E. PHP考试系统
1-整体是用jquery+php数据库调用实现的,上一页,下一页就是提交试题的ID进行取题。
如图:做个模板页,然后根据试题ID装载试题。limit是限制返回结果的条数,当然你再取题时可以加上limit 1。看你这图并没有用到分页技术。
2-试题选项是选录入到数据库中的单选组,多选题是多选组,你可以写一个试题的类,方便调用,脉络清晰。
3-随机出不重复的题,就是要把做过的试题ID存入session,取题时用随机数加上非session中的ID。
4-验证试题答案是通过jquery的POST或GET提交后台验证的,且每题只验证一次。
如你在写代码时遇到具体问题我们再沟通