源碼簡介
1.1簡介
在Exam++考試系統(tǒng)版的基礎(chǔ)上,我們對ExamStack V2.0進(jìn)行了大量代碼重構(gòu),同時(shí)也對數(shù)據(jù)模型做了部分調(diào)整。為了減小學(xué)員考試交卷時(shí)大量并發(fā)帶來的系統(tǒng)風(fēng)險(xiǎn),我們嘗試采用成熟的消息隊(duì)列框架RabbitMQ來解決這一問題,因此我們的數(shù)據(jù)庫以及系統(tǒng)的架構(gòu)同版相比,發(fā)生了不小的變化。
1.2 部署要點(diǎn)
Management.war和Portal.war需要部署在同一個(gè)目錄下。
ExamStack V2.0增加了培訓(xùn)功能,因?yàn)樾枰4媾嘤?xùn)材料,所以請留出足夠的磁盤空間(以實(shí)際需要為準(zhǔn))。
要保證RabbitMQ服務(wù)狀態(tài)為運(yùn)行狀態(tài)。
要保證ScoreMarker狀態(tài)為運(yùn)行狀態(tài),同時(shí)ScoreMarker調(diào)用服務(wù)地址要配置正確。
應(yīng)用服務(wù)器安裝配置
2.1 服務(wù)器安裝部署
2.1.1 服務(wù)器配置
操作系統(tǒng):Linux、Windows
內(nèi)存:2G,推薦8G
2.1.2 java運(yùn)行環(huán)境
Java 8
2.1.3 服務(wù)器
Tomcat 8
RabbitMQ
MySql 5.0以上
2.2 應(yīng)用部署
2.2.1 數(shù)據(jù)庫
在MySql中新建一個(gè)數(shù)據(jù)庫examstack,字符集使用utf8 — UTF-8 Unicode
使用我們提供的examstack.sql還原examstack
設(shè)置好對應(yīng)的訪問權(quán)限
2.2.2 RabbitMQ
安裝新版本的RabbitMQ,具體安裝方法,在網(wǎng)絡(luò)上可以找到很多。
2.2.3 應(yīng)用
將Management.war和Portal.war放到Tomcat應(yīng)用程序目錄(webapps)下。
啟動(dòng)Tomcat,webapps目錄下會(huì)生成兩個(gè)文件夾(Management和Portal)。
分別進(jìn)入到Management/WEB-INF/Spring和Portal/WEB-INF/Spring下修改root-context.xml文件,將數(shù)據(jù)庫地址、用戶名和密碼修改成正確的內(nèi)容。修改完成后重啟tomcat服務(wù)器。
需要修改的內(nèi)容如下:
<property name="jdbcUrl" value="jdbc:mysql:/*.*.*.*:3306/examstack?useUnicode=true&characterEncoding=UTF-8" />
<property name="user" value="root" />
<property name="password" value="***" />
1
2
3
<property name="jdbcUrl" value="jdbc:mysql:/*.*.*.*:3306/examstack?useUnicode=true&characterEncoding=UTF-8" />
<property name="user" value="root" />
<property name="password" value="***" />
訪問http://localhost:8080/Management和http://localhost:8080/Portal可以進(jìn)入到管理后臺(tái)頁面和學(xué)員頁面,并可以正常登陸,則應(yīng)用配置成功。
注意:*在完成這一步后學(xué)員考試交卷無法完成,需要部署ScoreMarker。*
部署ScoreMarker
Linux下-解壓scoreMarker到/opt/目錄。 確認(rèn)config/scoremarker.properties文件配置正確。 拷貝scoremarker 執(zhí)行腳本到init.d目錄下并檢查腳本中的配置。
Windows下-解壓scoreMarker到任意目錄。 確認(rèn)config/scoremarker.properties文件配置正確。 修改installService.bat中APP_HOME為scoreMarker目錄。 運(yùn)行installService.bat后啟動(dòng)服務(wù)ScoreMarkerService服務(wù)。
更新說明
系統(tǒng)架構(gòu):管理后臺(tái)現(xiàn)在獨(dú)立成一個(gè)新項(xiàng)目,不再和一版一樣和前臺(tái)合在一起。
引入RabbitMq,用于接受用戶提交的答題卡,通過ScoreMarker從消息隊(duì)列獲取答題卡并交卷,減小大量用戶提交導(dǎo)致的服務(wù)器故障幾率。
試題內(nèi)容存儲(chǔ)格式由xml改為json
增加教師角色,現(xiàn)在教師用戶可以正確地使用自己的權(quán)限管理學(xué)員、試題、試卷、考試以及培訓(xùn)。
優(yōu)化系統(tǒng)界面,新的界面看起來更加清爽、專業(yè)。
新增了DashBoard,管理界面看起來會(huì)更專業(yè)。
練習(xí)歷史現(xiàn)在專門用一張表記錄,使開發(fā)相關(guān)統(tǒng)計(jì)變得更容易。
考試和練習(xí):考試現(xiàn)在分為正式考試和模擬考試兩種,正式考試需要教師或管理員審核,而模擬考試不需要審核。正式考試又分為公有和私有兩種類型,公有考試是可以申請的考試,私有考試則需要教師或管理員指定學(xué)員(這里由管理員指定也被我們認(rèn)為是審核的一種方式)。
新增審核功能,現(xiàn)在教師創(chuàng)建的試卷、考試都需要管理員審核。管理員自己創(chuàng)建的不需要審核。同時(shí),管理員和教師也可以審核學(xué)員的考試申請。
新增人工閱卷功能。包含主觀題的考試試卷,教師或管理員通過人工閱卷后可以確定最終分?jǐn)?shù)。全部是客觀題的試卷不需要閱卷。
新增考試成績統(tǒng)計(jì)功能,可以查看特定考試下學(xué)員的分?jǐn)?shù),同時(shí)可以對分?jǐn)?shù)進(jìn)行排序。
新增學(xué)習(xí)記錄查詢功能,教師和管理員現(xiàn)在可以方便地查看學(xué)員的練習(xí)記錄、培訓(xùn)記錄和考試記錄。
新增快速考試模式,通過輸入準(zhǔn)考證號(hào)即可直接進(jìn)入到對應(yīng)的考試頁面。
新增繼續(xù)考試功能,現(xiàn)在學(xué)員在考試過程中中斷考試后,繼續(xù)進(jìn)入考試后,學(xué)員的答題記錄會(huì)恢復(fù)到中斷前的狀態(tài)。
題庫管理:優(yōu)化試題修改功能,現(xiàn)在可以正確地修改試題的基本信息。
新增培訓(xùn)功能,教師或管理員可以發(fā)布培訓(xùn)資料(視頻和pdf文檔)。學(xué)員可以選擇自己需要參加的培訓(xùn)進(jìn)行學(xué)習(xí),培訓(xùn)分為視頻和pdf格式的文檔兩種。
新增虛擬班級(jí)功能,教師或管理員現(xiàn)在可以通過虛擬班組很方便地管理學(xué)員。
系統(tǒng)問題處理
1.不能獲得數(shù)據(jù)庫連接;
’
Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection;nested exception is java.sql.SQLException:Access denied for user ’root’@’localhost
1
Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection;nested exception is java.sql.SQLException:Access denied for user ’root’@’localhost
請檢查數(shù)據(jù)庫連接字符串是否正確,同時(shí)檢查數(shù)據(jù)庫名、用戶名和密碼是否設(shè)置正確。
2.交卷失敗;
RabbitMQ沒有啟動(dòng)會(huì)導(dǎo)致應(yīng)用程序連接RabbitMQ失敗
1
RabbitMQ沒有啟動(dòng)會(huì)導(dǎo)致應(yīng)用程序連接RabbitMQ失敗
復(fù)制代碼請檢查RabbitMQ服務(wù)是否啟動(dòng)。
3.學(xué)員交卷后,管理界面學(xué)員對應(yīng)的狀態(tài)沒有改變;
交卷成功后,學(xué)員考試狀態(tài)會(huì)修改成已交卷或者已閱卷,如果在提示“交卷成功”后沒有發(fā)生任何變化,證明ScoreMarker沒有正常啟動(dòng)或者ScoreMarker調(diào)用接口失敗。
1
交卷成功后,學(xué)員考試狀態(tài)會(huì)修改成已交卷或者已閱卷,如果在提示“交卷成功”后沒有發(fā)生任何變化,證明ScoreMarker沒有正常啟動(dòng)或者ScoreMarker調(diào)用接口失敗。
復(fù)制代碼請檢查ScoreMarker是否啟動(dòng)。同時(shí)請保證ScoreMarker能調(diào)用到Management提供的接口,這一點(diǎn)在ScoreMarker部署中已經(jīng)說明。
4.RabbitMQ、MySql、ScoreMarker無法啟動(dòng)或經(jīng)常被Kill掉
我們在測試過程中發(fā)現(xiàn),內(nèi)存不足的情況下(我們使用的是1G內(nèi)存),RabbitMQ、MySql、ScoreMarker經(jīng)常被Kill,而且無法啟動(dòng),查看日志會(huì)發(fā)現(xiàn)提示內(nèi)存不夠。
1
我們在測試過程中發(fā)現(xiàn),內(nèi)存不足的情況下(我們使用的是1G內(nèi)存),RabbitMQ、MySql、ScoreMarker經(jīng)常被Kill,而且無法啟動(dòng),查看日志會(huì)發(fā)現(xiàn)提示內(nèi)存不夠。
復(fù)制代碼查看下日志,如果是內(nèi)存不夠的原因,那就趕緊加內(nèi)存吧。為了保證系統(tǒng)正常運(yùn)行,內(nèi)存不能低于2G。
5.bug更新日志
2016-2-15 解決試題導(dǎo)入報(bào)錯(cuò)的bug
2016-3-15 解決考試用戶列表不能正常分頁的bug
1、自動(dòng):在上方保障服務(wù)中標(biāo)有自動(dòng)發(fā)貨的商品,拍下后,將會(huì)自動(dòng)收到來自賣家的商品獲?。ㄏ螺d)鏈接;
2、手動(dòng):未標(biāo)有自動(dòng)發(fā)貨的的商品,拍下后,賣家會(huì)收到郵件、短信提醒,也可通過QQ或訂單中的電話聯(lián)系對方。
1、源碼默認(rèn)交易周期:自動(dòng)發(fā)貨商品為1天,手動(dòng)發(fā)貨商品為3天,買家有1次額外延長3天交易周期的權(quán)利;
2、若上述交易周期雙方依然無法完成交易,任意一方可發(fā)起追加周期(1~60天)的請求,對方同意即可延長。
1、描述:源碼描述(含標(biāo)題)與實(shí)際源碼不一致的(例:描述PHP實(shí)際為ASP、描述的功能實(shí)際缺少、版本不符等);
2、演示:有演示站時(shí),與實(shí)際源碼小于95%一致的(但描述中有"不保證完全一樣、有變化的可能性"類似顯著聲明的除外);
3、發(fā)貨:手動(dòng)發(fā)貨源碼,在賣家未發(fā)貨前,已申請退款的;
4、安裝:免費(fèi)提供安裝服務(wù)的源碼但賣家不履行的;
5、收費(fèi):額外收取其他費(fèi)用的(但描述中有顯著聲明或雙方交易前有商定的除外);
6、其他:如質(zhì)量方面的硬性常規(guī)問題等。
注:經(jīng)核實(shí)符合上述任一,均支持退款,但賣家予以積極解決問題則除外。
1、互站會(huì)對雙方交易的過程及交易商品的快照進(jìn)行永久存檔,以確保交易的真實(shí)、有效、安全!
2、互站無法對如“永久包更新”、“永久技術(shù)支持”等類似交易之后的商家承諾做擔(dān)保,請買家自行鑒別;
3、在源碼同時(shí)有網(wǎng)站演示與圖片演示,且站演與圖演不一致時(shí),默認(rèn)按圖演作為糾紛評判依據(jù)(特別聲明或有商定除外);
4、在沒有"無任何正當(dāng)退款依據(jù)"的前提下,商品寫有"一旦售出,概不支持退款"等類似的聲明,視為無效聲明;
5、在未拍下前,雙方在QQ上所商定的交易內(nèi)容,亦可成為糾紛評判依據(jù)(商定與描述沖突時(shí),商定為準(zhǔn));
6、因聊天記錄可作為糾紛評判依據(jù),故雙方聯(lián)系時(shí),只與對方在互站上所留的QQ、手機(jī)號(hào)溝通,以防對方不承認(rèn)自我承諾。
7、雖然交易產(chǎn)生糾紛的幾率很小,但一定要保留如聊天記錄、手機(jī)短信等這樣的重要信息,以防產(chǎn)生糾紛時(shí)便于互站介入快速處理。
1、互站作為第三方中介平臺(tái),依據(jù)交易合同(商品描述、交易前商定的內(nèi)容)來保障交易的安全及買賣雙方的權(quán)益;
2、非平臺(tái)線上交易的項(xiàng)目,出現(xiàn)任何后果均與互站無關(guān);無論賣家以何理由要求線下交易的,請聯(lián)系管理舉報(bào)。
平價(jià)源碼店
250289183346015995980254058255064
1033937544502362596
服務(wù)
4.94
效率
4.96
質(zhì)量
4.94
客服
客服QQ: 400****86 (點(diǎn)擊直接對話)
客服電話:400****86(查看完整電話)
客服郵箱:serve#huzhan.com
管理僅處理交易投訴、舉報(bào)、帳號(hào)、資金等平臺(tái)使用問題;
商品問題請咨詢各商品詳情頁面中顯示的商家客服QQ。