




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