




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-目錄1 緒論21.1研究背景21.2 研究現(xiàn)狀31.3 課題的研究容與意義32 平臺與開發(fā)工具42.1開發(fā)平臺介紹42.2 框架開發(fā)方法與技術(shù)42.3 開發(fā)語言與開發(fā)環(huán)境43 系統(tǒng)分析53.1 系統(tǒng)角色53.2功能構(gòu)造圖54 系統(tǒng)設(shè)計74.1系統(tǒng)架構(gòu)設(shè)計7分層體系構(gòu)造74.1.2 MVC構(gòu)造和Struts框架7分層體系構(gòu)造84.2系統(tǒng)模塊設(shè)計84.3界面設(shè)計84.4類設(shè)計95 數(shù)據(jù)庫設(shè)計105.1數(shù)據(jù)庫設(shè)計10管理員信息10院校根本信息管理10院校錄取分數(shù)線信息11專業(yè)信息12專業(yè)12專業(yè)錄取分數(shù)線信息135.2數(shù)據(jù)庫建模136系統(tǒng)實現(xiàn)146.1創(chuàng)立Java EE工程146.2管理員登錄功能
2、實現(xiàn)156.3院校模塊功能實現(xiàn)19新增院校19查詢院校21院校參加比照24瀏覽高校比照246.4專業(yè)模塊功能實現(xiàn)25新增專業(yè)25查詢專業(yè)266.4.3 院校開設(shè)專業(yè)296.5院校分數(shù)線模塊功能實現(xiàn)30新增院校分數(shù)線30查詢院校分數(shù)線32估分選大學(xué)33院校錄取概率356.6專業(yè)分數(shù)線模塊功能實現(xiàn)36新增專業(yè)分數(shù)線36查詢專業(yè)分數(shù)線38估分選專業(yè)截圖38專業(yè)錄取概率截圖397系統(tǒng)測試397.1搭建測試環(huán)境397.2測試方法397.3功能模塊測試39首頁40登錄40新增院校41新增專業(yè)41新增院校分數(shù)線42估分選大學(xué)修改42新增專業(yè)分數(shù)線43估分選專業(yè)調(diào)錯、截圖44參加比照44完畢語45致46參考文
3、獻471 緒論1.1研究背景志愿是考生的意愿的具體表達。高考志愿在招生錄取的工作中具有特定的含義,它是考生根據(jù)社會的需要,按照國家招生的有關(guān)規(guī)定,從本人學(xué)習(xí)成績及專業(yè)興趣和特長的實際出發(fā),選擇學(xué)校和專業(yè);也是考生自覺自愿的意向,它受到招生部門的成認,并成為高校錄取新生的重要依據(jù)。高考志愿填報對高考錄取結(jié)果起到了關(guān)鍵性的作用,它不僅關(guān)系著考生四年的大學(xué)經(jīng)歷,更與考生未來人生的開展有著非常重要的關(guān)系。 常言道:七分考,三分報。據(jù)統(tǒng)計數(shù)據(jù)顯示,每年落榜的考生中,有46%的考生因為填報志愿失誤,這其中,大多是因為出現(xiàn)志愿撞車以及對高校分數(shù)預(yù)估缺乏的情況。高考的完畢并不意味著高考這場沒有硝煙的戰(zhàn)爭的完畢
4、,反而是高考志愿填報這場戰(zhàn)爭的開場??忌凹议L要了解招生形勢,本地區(qū)各科類報考人數(shù)、各批次各科類招生方案數(shù)、錄取比例等等,整體把握填報志愿的原則和方向,防止主觀臆斷??忌捌浼议L往往根據(jù)往年的歷史數(shù)據(jù)來分析確定考生的志愿。但是輔助考生進展院校專業(yè)選擇的參考系統(tǒng)并不全面。在進展報考院校的過程中,往往會出現(xiàn)眾多的信息,比方院校信息、專業(yè)信息、院校歷年招生分數(shù)、專業(yè)歷年招收人數(shù)等等,這些龐大的數(shù)據(jù),任何一個考慮不周,都可能導(dǎo)致考生與自己喜愛的專業(yè)或者院校失之交臂。基于此,為了更好地幫助考生及家長,獲得全面詳盡的信息,更好的輔助他們做出高考志愿的填報決策,設(shè)計并實現(xiàn)該高考志愿填報分析助手系統(tǒng)。1.2
5、研究現(xiàn)狀高考的重要性對不同的人來說意義不同,對于農(nóng)村的考生來說那就意味著是一次機遇,一直所期待的事情,農(nóng)民的孩子要想走向世界,這個高考就是一個跳板,是一個公平競爭的平臺,可以展現(xiàn)自我的舞臺,只有通過高考考上一所很好的大學(xué),不僅對自己,更是對家庭乃至一個村莊都有很重要的意義。農(nóng)村的孩子只有這樣才能爭氣,才能成為家里的驕傲,父母拼搏半輩子,辛苦半輩子就是為了讓自己的孩子能夠在高考上取得滿意的成績。對于城里的孩子也同樣重要,雖然良好的教育條件,但是還需要高考這個平臺來分出個上下來,高的可以承受更加頂級的教育,低的只能承受較一般的教育。上大學(xué)的和沒上大學(xué)的是有很大區(qū)別的,首先思想認識是不一樣的,個人的
6、修養(yǎng)也是不同的,素質(zhì)也可以有所表達。我說的是一般的情況下,只有能夠通過高考的檢驗進入大學(xué)的殿堂才能夠走的更遠、生活的更有意思。學(xué)習(xí)和深造是無止境的,但學(xué)習(xí)具有連續(xù)性和階段性。從人才成長的角度講,學(xué)生進入高中后,就開場了“根底教育向“專業(yè)教育過渡階段。高考是完成這一過渡階段、保持受教育連續(xù)性的關(guān)鍵時刻。在進入“專業(yè)教育前,必須確定“專業(yè)教育的方向。目前,我國有約1100所普通高等學(xué)校。專業(yè)設(shè)置分為工科、理科、農(nóng)科、林科、醫(yī)藥、文科、政法、財經(jīng)、師、體育、藝術(shù)等十幾科,近千個專業(yè)。培養(yǎng)目標(biāo)、畢業(yè)生使用方向又各不一樣,選報高考志愿時,考生必須在眾多的院校、專業(yè)中做出選擇,確定方向?;诟呖嫉闹匾?,
7、高考志愿填報工作顯得尤為重要?,F(xiàn)在網(wǎng)上充滿著各種高考志愿,良莠不齊,甚至以測試考生的性格意愿得出適合的專業(yè)。這就需要一個能夠及時、準(zhǔn)確、有效地提供高考志愿填報信息的,來幫助考生在眾多的院校、專業(yè)中做出選擇,確定方向。1.3 課題的研究容與意義隨著科學(xué)技術(shù)的開展,信息技術(shù)深入人們的生產(chǎn)和生活中。利用計算機技術(shù)和Internet來實現(xiàn)信息共享和無紙化,已經(jīng)成為一種大趨勢。傳統(tǒng)的高考指南,厚重而信息有限,不能滿足考生對院校及專業(yè)的了解需要。設(shè)計高考志愿填報分析助手,更好地將院校信息、專業(yè)信息整合在一起,考生和家長通過簡單的操作獲取需要的信息,更好地作出決策。在該系統(tǒng)中,應(yīng)用Eclipse、Tomca
8、t和MySQL數(shù)據(jù)庫作為根本環(huán)境,使用Struts框架的MVC模式,結(jié)合JSP與 JAVA開發(fā)高考志愿填報分析助手系統(tǒng),使考生的志愿填報能在參考系統(tǒng)下,順利、準(zhǔn)確、平安的實現(xiàn),減少因為志愿填報失誤帶來的過失。本論文主要高考志愿填報分析助手系統(tǒng)的設(shè)計理念,實現(xiàn)的*些過程和該系統(tǒng)的一些具體設(shè)計,比方:界面設(shè)計、代碼設(shè)計和數(shù)據(jù)庫的設(shè)計。在本論文中,可以看到高考志愿填報分析助手系統(tǒng)的設(shè)計過程和數(shù)據(jù)流程,這對于理解該系統(tǒng)有著重要作用。2 平臺與開發(fā)工具 本章介紹開發(fā)平臺、框架開發(fā)方法與技術(shù)和開發(fā)語言及環(huán)境,明確技術(shù)選型,為后面的設(shè)計與實現(xiàn),提供保障。2.1開發(fā)平臺介紹本系統(tǒng)采用Eclipse可視化的開發(fā)
9、環(huán)境。Eclipse是myeclipse的核心,雖然不像Myeclipse增加了許多插件,但是消耗資源少,易于擴展,需要*些功能,找到相應(yīng)的插件安裝上就能使用;需要擴展*些功能,直接開發(fā)也很易于使用。Eclipse提供了相應(yīng)的接口和擴展機制。而Myeclipse裝有大量插件,冗余而臃腫,運行中消耗資源大,需要不斷優(yōu)化。Eclipse是一個開放源代碼,基于Java的可擴的開發(fā)平臺,多數(shù)人都是將Eclipse作為Java的集成開發(fā)環(huán)境使用,雖然Eclipse使用Java開發(fā):但Eclipse不僅僅局限于Java開發(fā),還可用于其它語言的開發(fā),如C/C+;2.2 框架開發(fā)方法與技術(shù)該工程涉及Web頁面
10、、JSP編程、Struts框架、JDBC編程等技術(shù),應(yīng)用三層構(gòu)造和MVC模式搭建程序框架,應(yīng)用Eclipse、Tomcat和MySQL數(shù)據(jù)庫作為根本環(huán)境。系統(tǒng)使用Struts框架的MVC模式,Struts與三層架構(gòu)的結(jié)合中,Struts主要是負責(zé)頁面表示層與業(yè)務(wù)模型業(yè)務(wù)邏輯層之間的控制轉(zhuǎn)向。實際上是實現(xiàn)了表示層與業(yè)務(wù)模型層的松耦合,同時也增強了業(yè)務(wù)模型層的重用性。將Struts引入三層構(gòu)造,可以將Struts2當(dāng)做Web表示層。表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,每層之間傳遞業(yè)務(wù)類。MVC模式把整個業(yè)務(wù)應(yīng)用分為三個模型,模型Model、視圖View和控制器Controller。Model包含應(yīng)用程序的
11、核心功能,表示業(yè)務(wù)數(shù)據(jù)或業(yè)務(wù)邏輯;View是應(yīng)用程序的外觀,即用戶看到并與之交互的界面;Controller根據(jù)用戶輸入,控制用戶界面數(shù)據(jù)顯示和更新模型對象的狀態(tài)。Struts2是一種基于MVC的Web應(yīng)用框架。StrutsPrepareAndE*ecuteFilter作為前端控制器,根據(jù)請求選擇適宜的業(yè)務(wù)邏輯控制器(Action),讓這個Action來處理用戶的請求。Action負責(zé)把用戶請求中的參數(shù)組裝成適宜的數(shù)據(jù)模型,并調(diào)用相應(yīng)的業(yè)務(wù)邏輯進展真正的功能處理,然后獲取下一個視圖展示所需要的數(shù)據(jù)。視圖結(jié)果用來把Action中獲取到的數(shù)據(jù)展現(xiàn)給用戶2.3 開發(fā)語言與開發(fā)環(huán)境B/S體系構(gòu)造,是一
12、種通過瀏覽器來效勞器的Web程序。在用戶端,只要通過瀏覽器以及效勞器的域名或者IP就能效勞器,使用效勞器為用戶提供的功能。Web效勞器是運行Java Web應(yīng)用程序的軟件,只有將設(shè)計開發(fā)的Java Web應(yīng)用程B/ S架構(gòu)應(yīng)用系統(tǒng)放置在這樣的容器中,才能使網(wǎng)絡(luò)上的用戶通過瀏覽器進展。ApacheTomcat是目前應(yīng)用最廣、最為流行的小型、輕量級Web效勞器,它支持JSP和Servlet效勞器端的Applet技術(shù)。它是免費和開源的,也是目前學(xué)習(xí)與開發(fā)JavaWeb應(yīng)用程序的首選。JDK是Java的開發(fā)平臺,在編寫Java程序時,需要JDK進展編譯處理;JRE是Java程序的運行環(huán)境,包含了JVM
13、的實現(xiàn) 及Java核心類庫,編譯后的Java程序必須使用JRE執(zhí)行。在下載的JDK安裝包中集成了JDK與JRE,所以在安裝JDK過程中會提示安裝JRE。MYSQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由于體積小、速度快、開放源碼,成為本系統(tǒng)的首選。JDBC就是Java數(shù)據(jù)庫連接,它提供了數(shù)據(jù)庫的API,它是由一些Java類和接口組成,是Java運行平臺的核心類庫中的一個局部。在程序中可以通過使用JDBC連接到關(guān)系數(shù)據(jù)庫,并使用構(gòu)造化查詢語言來完成對數(shù)據(jù)庫中的表的記錄的查詢、修改、更新和刪除操作。名 稱版 本語 言windows操作系統(tǒng)Windows7旗艦版簡體中文Tomocat 6.0默 認JDK6
14、U25英文Eclipse8.2默認Navicat-for-MYSQL10.1中文MYSQL5.5默認表2-1 運行開發(fā)環(huán)境3 系統(tǒng)分析本章分析了系統(tǒng)角色,確定了功能構(gòu)造為管理員登錄、院校模塊、專業(yè)模塊、院校分數(shù)線模塊、專業(yè)分數(shù)線模塊,并按照功能構(gòu)造圖來進展功能分析。3.1 系統(tǒng)角色高考志愿填報助手系統(tǒng)效勞于考高學(xué)子,旨在幫助學(xué)生選擇志愿填報的高校、專業(yè)。本系統(tǒng)有2類角色,分別為游客、管理員:游客:可以查詢各省市院校和專業(yè)的歷年分數(shù)線,能夠使用估分選大學(xué)、估分選專業(yè)等功能。管理員:具有游客的所有權(quán)限,并可以登錄到后臺對院校、專業(yè)、分數(shù)線等信息進展管理。3.2功能構(gòu)造圖本系統(tǒng)主要分為管理員登錄、院
15、校模塊、專業(yè)模塊、院校分數(shù)線模塊、專業(yè)分數(shù)線模塊。功能構(gòu)造圖如下所示:圖3-1功能構(gòu)造圖 管理員登陸:管理員在前臺首頁上點擊“管理員登錄超,進入登錄頁面。輸入賬號密碼可進入后臺的“高校招生信息發(fā)布系統(tǒng)。 新增院校:管理員登錄后,可以新增院校根本信息。包括院校的名稱、?;?、所在地等。查詢院校:可通過學(xué)校設(shè)置院校省份、院校分類、特殊屬性、學(xué)歷層次來篩選查看學(xué)校。搜索結(jié)果以列表顯示。參加比照:可將有意向的院校參加比照欄。比照院校的性質(zhì)、類別、985、211、教育部直屬等信息。新增專業(yè):新增專業(yè)根本信息,包括專業(yè)名稱、學(xué)科、門類、專業(yè)代碼、修業(yè)年限、專業(yè)介紹等?!靶略鰧I(yè)界面參考“新增院校界面。院校開
16、設(shè)專業(yè):由于不同的院校會開設(shè)不同的專業(yè),并有自己的開設(shè)要求。本功能首先要選擇院校,然后為該院校開設(shè)專業(yè)專業(yè)根本信息來自數(shù)據(jù)庫,并填寫開設(shè)時間、狀態(tài)、備注等信息。查詢專業(yè):以院校、學(xué)科、門類為條件,搜索專業(yè)信息,以列表形式顯示。新增院校分數(shù)線:新增院校錄取分數(shù)線信息,包括所屬院校ID、生源地(省份)、科別(文科/理科/綜合)、錄取批次(提前批/本科一批/本科二批/本科三批)、年份、最高分、平均分、省控線、錄取人數(shù)等。查詢院校分數(shù)線:用戶在首頁上方有一個查詢區(qū)域,根據(jù)查詢頁面中下拉框中的院校省份、科別(文科、理科、綜合)、錄取批次、錄取年份等條件來搜索大學(xué)錄取分數(shù)線。估分選大學(xué):根據(jù)分數(shù)、地區(qū)、第
17、幾批、科別來挑選可能錄取的大學(xué)。新增專業(yè)分數(shù)線:新增專業(yè)錄取分數(shù)線信息,將*院校*專業(yè)每年的錄取分數(shù)線及錄取人數(shù)等信息保存到數(shù)據(jù)庫中。本功能首先要選擇院校,再選擇專業(yè),然后錄入生源地、年份、最高分、平均分、招生人數(shù)等信息。查詢專業(yè)分數(shù)線:根據(jù)省份、科別、專業(yè)名稱、錄取批次、錄取年份來篩選專業(yè)錄取線。估分選專業(yè):根據(jù)地區(qū)、科別(文科/理科/綜合)、分數(shù)、年份來選專業(yè)。4 系統(tǒng)設(shè)計4.1系統(tǒng)架構(gòu)設(shè)計系統(tǒng)基于Java語言,使用Eclipse開發(fā)工具,JDK1.6和Tomcat6.0開發(fā)環(huán)境,采用JSP、JSTL&EL技術(shù),Struts2.*框架、JDBC和MySQL數(shù)據(jù)庫開發(fā)的Java EE
18、程序,實現(xiàn)了高考志愿填報助手系統(tǒng)的功能。程序架構(gòu)采用分層構(gòu)造和MVC結(jié)合方式進展設(shè)計。4.1.1分層體系構(gòu)造三層構(gòu)造是層次風(fēng)格中典型的構(gòu)造,包括表示層,業(yè)務(wù)邏輯層和數(shù)據(jù)層,三層之間使用業(yè)務(wù)模型實體對象進展傳遞。在Java EE程序構(gòu)造中,采用包進展分層。如以下圖所示:圖4-1 三層構(gòu)造4.1.2 MVC構(gòu)造和Struts框架 MVC模式包括視圖、控制器和模型,Struts框架符合MVC思想,其中action充當(dāng)控制器作用。 Struts2是一個運行于Web容器的表示層輕量級框架,與三層構(gòu)造結(jié)合時,與視圖(JSP)一起組成表示層,進展視圖導(dǎo)向和業(yè)務(wù)邏輯調(diào)用。 Struts2的Action作為控制
19、器,進展統(tǒng)一的跳轉(zhuǎn)控制和業(yè)務(wù)邏輯調(diào)用。一個JSP頁面對應(yīng)一個Action控制器,由其進展的跳轉(zhuǎn)控制。 當(dāng)Action類的方法執(zhí)行完成時,返回一個字符串類型的結(jié)果碼,框架根據(jù)struts.*ml配置,查找<result>節(jié)點中匹配的name屬性值,向用戶輸出。分層體系構(gòu)造結(jié)合三層構(gòu)造和Struts2框架設(shè)計“高考志愿填報助手架構(gòu)。表示層由JSP和Struts2充當(dāng),業(yè)務(wù)邏輯層和數(shù)據(jù)層,充當(dāng)了模型的角色。程序構(gòu)造如下:圖4-1 系統(tǒng)構(gòu)造4.2系統(tǒng)模塊設(shè)計按“分而治之思想,進展模塊劃分,分為管理員登錄、院校模塊、專業(yè)模塊、院校分數(shù)線模塊、專業(yè)分數(shù)線模塊。4.3界面設(shè)計系統(tǒng)頁面分為首頁、頻
20、道頁欄目頁、管理頁面、功能增刪改查頁面等類型。一般先進展原型界面繪制,然后再生產(chǎn)html靜態(tài)頁面,最后進展提煉,別離出公共頁面,如頭部和腳部,形成最終jsp頁面。1.高考志愿填報助手系統(tǒng)有如下頁面。1首頁(inde*.jsp)。2管理員登錄(login.jsp)頁面。3頻道頁面(估分選大學(xué)、估分選專業(yè)、查看大學(xué)分數(shù)線、查看專業(yè)分數(shù)線)。4瀏覽大學(xué)頁面(college.jsp)、瀏覽專業(yè)頁面(major.jsp)。5管理首頁(管理員)。6功能頁面:院校模塊,專業(yè)模塊,院校分數(shù)線模塊、專業(yè)分數(shù)線模塊。7公共頁頭部和腳部2.系統(tǒng)根據(jù)不同的功能將設(shè)計不同的子界面。界面設(shè)計的原則如下:1頁面風(fēng)格確定系統(tǒng)
21、有哪些頁面,確定頁面的類型和布局風(fēng)格。確定系統(tǒng)的整體色系,頁面背景顏色,字體、圖片和按鈕等色系。2原型界面根據(jù)頁面風(fēng)格、各頁面功能和信息,繪制頁面白板圖。3效果圖片根據(jù)頁面風(fēng)格和色系,設(shè)計效果圖片,通過PhotoShop繪制和Fireworks切割。4頁面交互關(guān)系描述各頁面之間的交互關(guān)系。5HTML靜態(tài)頁面使用Dreamweaver結(jié)合網(wǎng)頁技術(shù)將效果圖進展設(shè)置,最后形成HTML靜態(tài)頁面。6界面評審和測試對界面進展評審和測試,及時發(fā)現(xiàn)并消除界面中的缺陷,修正HTML靜態(tài)頁面。7邊界對象設(shè)計系統(tǒng)界面類,將HTML頁面轉(zhuǎn)換為界面類,設(shè)計界面類之間的關(guān)系4.4類設(shè)計主要進展類設(shè)計,以及類屬性和方法設(shè)計
22、。在高考志愿填報助手系統(tǒng)中,有幾種類型:1、實體類主要對應(yīng)數(shù)據(jù)庫中表,這種類主要用于在各層之間傳遞數(shù)據(jù),這種類設(shè)計,一般包括無參構(gòu)造方法,get*()和set*()方法。2、表示層類界面類一般用JSP充當(dāng),根據(jù)功能進展設(shè)計。表示層框架主要用Struts框架,對應(yīng)主要類為各種action類。在新聞管理系統(tǒng)中,請求頁面,都是通過action跳轉(zhuǎn)到j(luò)sp頁面來處理請求。3、業(yè)務(wù)邏輯層類主要進展業(yè)務(wù)邏輯處理,一般都是業(yè)務(wù)方法。邏輯層類存放在service包中。4、數(shù)據(jù)層主要進展數(shù)據(jù)數(shù)據(jù)庫,每個類設(shè)計新增、修改、刪除和查詢功能。接口存放在dao包中,相應(yīng)實現(xiàn)類存放在impl包中。5、工具類設(shè)計將公共的方
23、法抽離出來形成工具類,供其他類使用,如數(shù)據(jù)庫管理工具類和自定義異常類等。工具類存放在utils包中。5 數(shù)據(jù)庫設(shè)計根據(jù)需求分析確定數(shù)據(jù)信息,抽樣數(shù)據(jù)字典,建立概念模型。本章介紹了數(shù)據(jù)庫設(shè)計的整個流程。5.1數(shù)據(jù)庫設(shè)計分析高考志愿填報分析助手系統(tǒng)流程和數(shù)據(jù).設(shè)計數(shù)據(jù)庫,根據(jù)數(shù)據(jù)需求,確定實體以及其之間的關(guān)系(E-R圖),選擇關(guān)系模型,選用MySQL作為數(shù)據(jù)庫效勞器,設(shè)計數(shù)據(jù)庫表。5.1.1管理員信息管理員信息(Admin)數(shù)據(jù)元素名部名值域值義類型/長度ID號id主鍵用戶名Name唯一性,用戶名不能重復(fù)字符串類型/40密碼Password字符串類型/205.1.2院校根本信息管理院校根本信息管理
24、(College)數(shù)據(jù)元素名部名值域值義類型/長度ID號id主鍵校名name字符串類型/40?;誰ogo圖片的路徑字符串類型/100所在地province字符串類型/100院校性質(zhì)level0 普通本科1 獨立學(xué)院2 高職高專3 中外合作辦學(xué)4 遠程教育學(xué)院5 HND工程6 成人教育整型院校類別type0 綜合類1 理工類2 農(nóng)林類3 醫(yī)藥類4 師類5 語言類6 財經(jīng)類政法類7體育類8 藝術(shù)類9 民族類10 軍事類整型教育部直屬zhishu1 是0 不是整型211大學(xué)is2111 是0 不是整型985大學(xué)is9851 是0 不是整型招辦tel字符串類型/50通訊地址address字符串類型/1
25、00電子email字符串類型/100招生網(wǎng)址URL字符串類型/100備注remark文本5.1.3院校錄取分數(shù)線信息院校錄取分數(shù)線信息(CollegeCutoff)的錄入、修改、刪除、查詢。數(shù)據(jù)元素名部名值域值義類型/長度ID號id主鍵院校IDcid外鍵整型生源地provence字符串類型/20文理科Genera0 文科1 理科整型錄取批次batch0 本科一批1 本科二批2 本科三批3 ??埔慌? ??贫湍攴輞ear字符串類型/20最高分hscore整型平均分ascore整型省控線cscore整型錄取人數(shù)number整型備注remark文本5.1.4專業(yè)信息專業(yè)信息(MajorInfo
26、):各院校專業(yè)信息的新增、修改、刪除。數(shù)據(jù)元素名部名值域值義類型/長度ID號id主鍵學(xué)科discipline字符串類型/40門類category字符串類型/40專業(yè)名稱name字符串類型/40專業(yè)代碼code采用6位數(shù)字組成,如“哲學(xué)-010101修業(yè)年限limits整型授予學(xué)位degree 專業(yè)介紹Introduction專業(yè)解釋、目標(biāo)、要求、課程說明、實踐教學(xué)容等文本備注remark文本5.1.5專業(yè)專業(yè)(Major):不同的院校,會開設(shè)不同的專業(yè),并有自己的開設(shè)要求。數(shù)據(jù)元素名部名值域值義類型/長度ID號id主鍵整型院校IDcid外鍵整型專業(yè)IDmid外鍵整型開設(shè)時間creat
27、etimeData&Time開設(shè)狀態(tài)status0 開設(shè)中1 未開設(shè)整型備注remark文本5.1.6專業(yè)錄取分數(shù)線信息專業(yè)錄取分數(shù)線信息(major_cutoff)的錄入、修改、刪除。數(shù)據(jù)元素名部名值域值義類型/長度ID號id主鍵專業(yè)IDmcid整型生源地province字符串類型/20文理科Genera0 文科1 理科整型錄取批次batch0 本科一批1 本科二批2 本科三批3 ??埔慌? 專科二批整型年份year字符串類型/20最高分hscore整型平均分ascore整型錄取人數(shù)number整型備注remark文本5.2數(shù)據(jù)庫建模選擇E-R模型結(jié)合PowerDesigner進展數(shù)
28、據(jù)庫設(shè)計和建模,應(yīng)用PowerDesigner建立CDM,LDM,PDM。根據(jù)數(shù)據(jù)字典可設(shè)計出mysql的PDM如下:院校 : 院校動態(tài)新聞,一對多院校 : 招生政策,一對多院校 : 院校錄取分數(shù)線,一對多院校 : 專業(yè)信息,多對多專業(yè): 專業(yè)錄取分數(shù)線,一對多圖5-1 E-R圖SQL腳本:根據(jù)數(shù)據(jù)庫設(shè)計和PDM文件,生成基于MySQL的SQL腳本,按照企業(yè)標(biāo)準(zhǔn)和規(guī)進展優(yōu)化。數(shù)據(jù)庫構(gòu)建:安裝配置MySQL,使用MySQL指令導(dǎo)入SQL腳本,創(chuàng)立旅游信息管理系統(tǒng)數(shù)據(jù)庫及表,使用MySQL指令和SQL語句進展根底數(shù)據(jù)初始化。數(shù)據(jù)庫驗證:根據(jù)系統(tǒng)的功能和數(shù)據(jù)庫表關(guān)系,模擬程序流程,編寫SQL語句驗證
29、數(shù)據(jù)庫功能。持久化對象:設(shè)計持久化對象,確定它們的屬性及其之間的關(guān)系。將持久化對象映射到數(shù)據(jù)庫表。6系統(tǒng)實現(xiàn)所有功能的實現(xiàn)按照界面層action、業(yè)務(wù)邏輯層Service、數(shù)據(jù)存儲層Dao三層構(gòu)造的方式進展設(shè)計和開發(fā)。6.1創(chuàng)立Java EE工程本工程為采用三層構(gòu)造結(jié)合MVC思想,基于Struts框架,創(chuàng)立工程工程。1、創(chuàng)立Java EE高考志愿填報助手系統(tǒng)工程GaoKao1) 在工程的src目錄下創(chuàng)立如下包。 web、service、dao、model、utils包。2在工程的WebContent下創(chuàng)立以下文件夾。images:存放圖片;js:存放腳本文件;css:存放樣式文件;upload
30、:存放上傳文件。2、集成Struts2框架1導(dǎo)入Struts2開發(fā)JAR包 翻開lib文件夾,挑選如下JAR包,拷貝至工程的WebContent/WEB-INF/lib文件下。Struts2的不同版本和不同應(yīng)用所需的JAR有所不同。2在web.*ml中配置Struts2過濾器r3創(chuàng)立struts.*ml文件可以手工創(chuàng)立,也可以拷貝Struts2資源包例如中struts.*ml文件。下面是應(yīng)用資源包例如中struts.*ml。方法如下:在Struts2下載資源包中,翻開apps文件夾,解壓其中的一個WAR文件,找到例如工程的WEB-INF/classes下的struts.*ml。4運行機制集成S
31、truts2之后,Struts2職責(zé)如下:通過Action接收請求,獲取請求參數(shù)。調(diào)用業(yè)務(wù)邏輯層方法,處理業(yè)務(wù)。根據(jù)處理結(jié)果,選擇視圖頁面展示結(jié)果信息。3、Struts2開發(fā)流程基于Struts框架開發(fā),有如下步驟:創(chuàng)立Action類,覆寫e*ecute()方法,配置struts.*ml,通過URLAction。6.2管理員登錄功能實現(xiàn)管理員登錄時,首先登錄頁面login.jsp,其次在登錄頁面上點擊登錄。登錄成功會管理中心頁面。用戶退出系統(tǒng)時,可以進展注銷,即登出操作。1、創(chuàng)立界面創(chuàng)立login.jsp頁面,實現(xiàn)登錄界面布局。創(chuàng)立adminCenter.jsp頁面,作為后臺首頁。用戶登錄后,
32、將會進入后臺管理中心(即本頁面)。2、實現(xiàn)Action用戶登錄成功,將使用session保存用戶信息,并跳轉(zhuǎn)到用戶中心頁面。在進展登出操作時,清理session值,并跳轉(zhuǎn)到首頁。路徑控制器(Action)視圖類型描述toLogin.actionToLoginAction/login.jsp轉(zhuǎn)發(fā)登錄頁面user!login.actionUserActiontoAdmin.action重定向“管理員登錄成功/login.jsp轉(zhuǎn)發(fā)登錄失敗,導(dǎo)向到登錄頁面user!logout.action/inde*.jsp轉(zhuǎn)發(fā)注銷登錄,導(dǎo)向到首頁toAdmin.actionToAdminAction/admin
33、Frame.jsp轉(zhuǎn)發(fā)管理員管理頁面表6-1登錄1、創(chuàng)立ToAdminAction,實現(xiàn)e*ecute方法,判斷管理員是否登錄,如果登錄則進入后臺頁面,假設(shè)沒有登錄則進入登錄頁面。public String e*ecute() Map session = ActionConte*t.getConte*t().getSession();Integer userId = (Integer)session.get("userId");/驗證用戶是否登錄if(userId !=null)/已登錄則跳轉(zhuǎn)到管理員管理頁面return"admin"else/未登錄則跳
34、轉(zhuǎn)到登錄頁面return"login"2、創(chuàng)立UserAction,提供login()、logout()等方法,用戶登錄時,UserAction中的方法進展登錄操作。并實現(xiàn)界面跳轉(zhuǎn)。public String login() try Map<String, Object> session = ActionConte*t.getConte*t().getSession();Integer userId = (Integer) session.get("userId");/ 驗證用戶是否已經(jīng)登錄if (userId = null) userId
35、= userService.login(name, password);if (userId > 0) / 查詢到匹配用戶,保存至session中,跳轉(zhuǎn)到用戶中心頁session.put("userId", userId);session.put("userName", name);return"admin" else / 登錄失敗,返回至登錄頁,提示錯誤信息message = "用戶名或密碼錯誤!"return"login" else return"admin" ca
36、tch (AppE*ception e) e.printStackTrace();return"error"3、實現(xiàn)Service層代碼創(chuàng)立UserService類,定義login(String name, String password)方法,調(diào)用dao層userDao.login(name, password)方法進展登錄判斷。publicint login(String name, String password) throws AppE*ception int userId = -1; try /獲取用戶編號userId = userDao.login(name,
37、password); catch (AppE*ception e) e.printStackTrace();thrownew AppE*ception("biz.UserService.login");/ 返回用戶編號return userId;4、實現(xiàn)dao層代碼創(chuàng)立UserDao類,定義login(String name, String password)方法,使用JDBC數(shù)據(jù)庫編程技術(shù),查詢數(shù)據(jù)庫中的管理員賬號和密碼,判斷登錄是否成功。publicint login(String name, String password) throws AppE*ception i
38、nt userId = -1;/ 聲明數(shù)據(jù)庫連接對象,預(yù)編譯對象和結(jié)果集對象Connection conn = null;PreparedStatement psmt = null;ResultSet rs = null;try / 創(chuàng)立數(shù)據(jù)庫連接conn = DBUtil.getConnection();/ 聲明操作語句:根據(jù)用戶名和密碼查詢用戶編號,"?"為占位符String sql = "select id from t_admin where name = ? and password = ? and del = 0"psmt = conn.pr
39、epareStatement(sql);psmt.setString(1, name);psmt.setString(2, password);rs = psmt.e*ecuteQuery();if (rs.ne*t() userId = rs.getInt("id"); catch (SQLE*ception e) e.printStackTrace();thrownew AppE*ception("dao.UserDao.login"); finally / 關(guān)閉數(shù)據(jù)庫操作對象,釋放資源DBUtil.closeResultSet(rs);DBUtil
40、.closeStatement(psmt);DBUtil.closeConnection(conn);return userId;5、調(diào)試和運行l(wèi)ocalhost:8080/GaoKao/toLogin.action,輸入管理員賬號和密碼,點擊“登錄按鈕。登陸頁面如下: 圖6-2 管理員登陸將localhost:8080/GaoKao/user!login.action。成功后,將進入后臺頁面。 圖6-2后臺頁面6.3院校模塊功能實現(xiàn)6.3.1新增院校管理員在后臺點擊菜單中的“新增院校,框架頁面中顯示新增院校界面。填寫院校信息后,將把院校信息保存到數(shù)據(jù)庫中。在新增院校的界面中處理以下數(shù)據(jù):驗證
41、院校信息。非空驗證;將院校根本信息進展存儲,返回新增院校頁面進展提示,表單中保存上次新增的院校信息。1、創(chuàng)立界面創(chuàng)立addCollege.jsp頁面,實現(xiàn)界面布局。修改adminMenu.jsp頁面,將“新增院校超指向addCollege.jsp頁面。2、實現(xiàn)Action1、創(chuàng)立CollegeAction類,實現(xiàn)“新增院校頁面的新增院校的add()方法,從界面上獲得管理員輸入的院校信息,調(diào)用CollegeService類的add()方法,新增院校信息。public String add() Map session = ActionConte*t.getConte*t().getSession(
42、);Integer userId = (Integer) session.get("userId");/ 驗證用戶是否登錄if (userId = null) / 未登錄則跳轉(zhuǎn)到登錄頁面return"login"if (college = null) / 輸入不正確,跳轉(zhuǎn)到新增院校頁面message = "請正確填寫院校的相關(guān)信息!"return"add"if (getIs985().endsWith("on") college.setIs985(1);if (getIs211().endsWi
43、th("on") college.setIs211(1);if (getZhishu().endsWith("on") college.setZhishu(1);System.out.println("Is985: " + college.getIs985();if (service.add(college) message = "新增成功!"Map request = (Map) ActionConte*t.getConte*t().get("request");/ 將本次新增信息傳遞到頁面上
44、顯示request.put("college", college); else message = "新增失敗!"return"add"3、實現(xiàn)Service層代碼創(chuàng)立CollegeService類,定義add(College)方法,調(diào)用dao層保存院校信息。publicboolean add(College college) returncollegeDao.add(college);4、實現(xiàn)dao層代碼創(chuàng)立CollegeDao類,定義add(College college)方法保存院校信息。publicclassCollegeDa
45、oimplements Dao<College> publicboolean add(College college) / 保存學(xué)校信息,使用DBUtil類Connection conn = DBUtil.getConnection();PreparedStatement psmt = null;ResultSet rs = null;try /填入注冊信息,"?"為占位符String sql = "insert into t_college(name, logo, province,level,type,is985,is211,zhishu,tel,
46、address,email,url,remark,del) "+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)"psmt = conn.prepareStatement(sql);psmt.setString(1, college.getName();/int result = psmt.e*ecuteUpdate();/ 執(zhí)行更新操作return result > 0; catch (SQLE*ception e) e.printStackTrace();returnfalse; finally / 關(guān)閉數(shù)據(jù)庫操作對象,釋放資
47、源DBUtil.closeResultSet(rs);DBUtil.closeStatement(psmt);DBUtil.closeConnection(conn);5、調(diào)試和運行登錄后臺,選擇新增院校,輸入信息,點擊新增按鈕。圖6-3新增院校信息6.3.2查詢院校用戶在頁面點擊菜單中的“搜索大學(xué),框架頁面中顯示院校列表。用戶可以選擇院校所在地、院校類別、院校性質(zhì),是否為985、211、教育部直屬等條件,篩選院校。用戶也能直接輸入自己想要瀏覽的院校名稱,直接搜索該校。根據(jù)輸入條件,查詢符合條件的院校信息,查詢結(jié)果顯示在列表中。1、創(chuàng)立界面創(chuàng)立checkCollege.jsp頁面,實現(xiàn)界面布局
48、。修改adminMenu.jsp頁面,將“查詢院校超指向checkCollege.jsp頁面。2、實現(xiàn)Action在CollegeAction類中定義查詢院校方法check(),調(diào)用CollegeService類的getAll()方法獲取院校信息列表,傳遞到頁面上。public String check() Map session = ActionConte*t.getConte*t().getSession();Integer userId = (Integer) session.get("userId");if (userId = null) return"l
49、ogin"/ 獲取院校列表list = service.getAll();return"check"3、實現(xiàn)Service層代碼在CollegeService類中定義getAll()方法,調(diào)用dao層查詢數(shù)據(jù)庫中的院校信息。public List<College> getAll() returncollegeDao.getList();4、實現(xiàn)dao層代碼在CollegeDao類中定義getList()方法,到數(shù)據(jù)庫中查詢院校列表。public List<College> getList() / 查詢學(xué)校列表,使用DBUtil類Connec
50、tion conn = DBUtil.getConnection();PreparedStatement psmt = null;ResultSet rs = null;List<College> list = new ArrayList<College>();try / 聲明操作語句:根據(jù)用戶名和密碼查詢用戶編號,"?"為占位符String sql = "select * from t_college where del = 0"/ 預(yù)編譯sqlpsmt = conn.prepareStatement(sql);/ 執(zhí)行查詢操作
51、rs = psmt.e*ecuteQuery();/ 查詢到記錄,提取用戶信息while (rs.ne*t() College college = new College();college.setId(rs.getInt("id");/college.setDel(rs.getInt("del");list.add(college); catch (SQLE*ception e) e.printStackTrace(); finally / 關(guān)閉數(shù)據(jù)庫操作對象,釋放資源DBUtil.closeResultSet(rs);DBUtil.closeStat
52、ement(psmt);DBUtil.closeConnection(conn);return list;5、調(diào)試和運行選擇查詢院校,即可看到所有院校信息列表。 圖 6-4用戶查詢院校與普通用戶查詢院校功能類似的,管理員在后臺點擊菜單中的“查詢院校,框架頁面中顯示院校列表。管理員有權(quán)限對列表中的院校進展查看、修改、刪除的操作。圖6-5管理員查詢院校6.3.3院校參加比照用戶在“大學(xué)搜索或者“院校分數(shù)線的院校列表中點擊“+,即可將該高校參加比照欄。此功能模仿現(xiàn)有的購物,方便顧客比質(zhì)比價,買到物美價廉的物品。同樣的,是為了方便考生及家長,通過比較,在同等情況下,選擇到適宜的院校。public vo
53、id remove() PrintStream out = null;try out = new PrintStream(ServletActionConte*t.getResponse().getOutputStream(); catch (IOE*ception e) e.printStackTrace();College c = cService.get(id);if (c = null) out.close();return;Map<String, Object> session = ServletActionConte*t.getConte*t().getSession();Cart cart = (Cart) session.get("cart");if (cart != null && cart.removeItem(c) session.remove("cart");session.put("cart", cart);out.print(true);out.close();圖6-6參加比照6.3.4瀏覽高校比照 用戶在比照欄中點擊“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信用報告管理制度
- 信訪登記管理制度
- 儲備糧日常管理制度
- 公司影音室管理制度
- 公司責(zé)任人管理制度
- 內(nèi)部流程及管理制度
- 辦公司設(shè)備管理制度
- 廠內(nèi)加油員管理制度
- 合作社設(shè)備管理制度
- 多功能超市管理制度
- 2025年特種設(shè)備安全操作人員安全操作規(guī)范試題庫
- 2025年項目管理軟件應(yīng)用試題及答案
- 2025至2030年中國24小時動態(tài)心電分析系統(tǒng)行業(yè)投資前景及策略咨詢報告
- 天津2025年中國醫(yī)學(xué)科學(xué)院放射醫(yī)學(xué)研究所第一批招聘筆試歷年參考題庫附帶答案詳解
- 國開2024春管理會計#形考作業(yè)1-4
- 醫(yī)學(xué)微生物學(xué)試題庫含答案(附解析)
- 2025年黃山旅游發(fā)展股份有限公司春季招聘75人筆試參考題庫附帶答案詳解
- 綠電交易協(xié)議和合同
- 痘痘皮膚護理大揭秘
- 四年級上冊活動 歡騰的那達慕教學(xué)設(shè)計及反思
- 汽車電工電子基礎(chǔ)課件
評論
0/150
提交評論