Java Web開發(fā)課程設(shè)計
JavaWeb開發(fā)課程設(shè)計
一、性質(zhì)、目的和任務(wù)
本課程設(shè)計是在《JavaWeb開發(fā)》課程上設(shè)置的,是鞏固學(xué)生所學(xué)理論知識、培養(yǎng)學(xué)生動手能力并使理論與實(shí)際相結(jié)合的重要實(shí)踐環(huán)節(jié)。本課程設(shè)計的目的和任務(wù),是使學(xué)生綜合應(yīng)用所學(xué)知識完成軟件的分析、設(shè)計、調(diào)試和總結(jié),提高學(xué)生對JavaWeb開發(fā)的綜合應(yīng)用能力和解決問題的能力。
二、參考設(shè)計內(nèi)容與指標(biāo)要求(允許選擇其它內(nèi)容,要求可參此)1、參考題目:
新聞發(fā)布系統(tǒng)、網(wǎng)上書店系統(tǒng)、制造業(yè)(或零售業(yè))客戶關(guān)系管理系統(tǒng)、企業(yè)進(jìn)銷存管理系統(tǒng)、制造企業(yè)門戶網(wǎng)站、班級網(wǎng)站、網(wǎng)上輔助教學(xué)系統(tǒng)
也可自己設(shè)計其它題目(難度要相當(dāng),且經(jīng)過老師同意),完成系統(tǒng)的可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、測試。2、總體要求
①采用面向?qū)ο蟮姆椒▽ο到y(tǒng)進(jìn)行分析和設(shè)計,要求掌握建模工具的使用如Rationalrose、visio,用powerDesigner進(jìn)行數(shù)據(jù)庫設(shè)計。②系統(tǒng)設(shè)計要實(shí)用(模塊設(shè)計、界面設(shè)計、數(shù)據(jù)庫設(shè)計)③編程簡練,可用,功能全面,具有較好的健壯性
④在項(xiàng)目開發(fā)過程中,應(yīng)該按要求編寫好各種軟件文檔
可行性研究報告:說明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上、經(jīng)濟(jì)上和社會因素上的可行性,評述為了合理地達(dá)到開發(fā)目標(biāo)可供選擇的各種可能實(shí)施方案,說明并論證所選定實(shí)施方案的理由。項(xiàng)目開發(fā)計劃:為軟件項(xiàng)目實(shí)施方案制訂出具體計劃,應(yīng)該包括各部分工作的負(fù)責(zé)人員、開發(fā)的進(jìn)度、開發(fā)經(jīng)費(fèi)的預(yù)算、所需的硬件及軟件資源等。
軟件需求說明書(軟件規(guī)格說明書):對所開發(fā)軟件的功能、性能、用戶界面及運(yùn)行環(huán)境等作出詳細(xì)的說明。
概要設(shè)計說明書:該說明書是概要設(shè)計階段的工作成果,它應(yīng)說明功能分配、模塊劃分、程序的總體結(jié)構(gòu)、輸入輸出以及接口設(shè)計、運(yùn)行設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計和出錯處理設(shè)計等,為詳細(xì)設(shè)計提供基礎(chǔ)。詳細(xì)設(shè)計說明書:著重描述每一模塊是怎樣實(shí)現(xiàn)的,包括實(shí)現(xiàn)算法、邏輯流程等。用戶操作手冊:本手冊詳細(xì)描述軟件的功能、性能和用戶界面,使用戶對如何使用該軟件得到具體的了解,為操作人員提供該軟件各種運(yùn)行情況的有關(guān)知識,特別是操作方法的具體細(xì)節(jié)。
測試計劃:為做好集成測試和驗(yàn)收測試,需為如何組織測試制訂實(shí)施計劃。計劃應(yīng)包括測試的內(nèi)容、進(jìn)度、條件、人員、測試用例的選取原則、測試結(jié)果允許的偏差范圍等。
測試分析報告:測試工作完成以后,應(yīng)提交測試計劃執(zhí)行情況的說明,對測試結(jié)果加以分析,并提出測試的結(jié)論意見。開發(fā)進(jìn)度月報:該月報系軟件人員按月向管理部門提交的項(xiàng)目進(jìn)展情況報告,報告應(yīng)包括進(jìn)度計劃與實(shí)際執(zhí)行情況的比較、階段成果、遇到的問題和解決的辦法以及下個月的打算等。項(xiàng)目開發(fā)總結(jié)報告:軟件項(xiàng)目開發(fā)完成以后,應(yīng)與項(xiàng)目實(shí)施計劃對照,總結(jié)實(shí)際執(zhí)行的情況,如進(jìn)度、成果、資源利用、成本和投入的人力,此外,還需對開發(fā)工作做出評價,總結(jié)出經(jīng)驗(yàn)和教訓(xùn)。
軟件維護(hù)手冊:主要包括軟件系統(tǒng)說明、程序模塊說明、操作環(huán)境、支持軟件的說明、維護(hù)過程的說明,便于軟件的維護(hù)。
軟件問題報告:指出軟件問題的登記情況,如日期、發(fā)現(xiàn)人、狀態(tài)、問題所屬模塊等,為軟件修改提供準(zhǔn)備文檔。
軟件修改報告:軟件產(chǎn)品投入運(yùn)行以后,發(fā)現(xiàn)了需對其進(jìn)行修正、更改等問題,應(yīng)將存在的問題、修改的考慮以及修改的影響作出詳細(xì)的描述,提交審批。三、計劃與學(xué)時安排
1、教師介紹本課程設(shè)計的目的、內(nèi)容、要求、方法和安排。2、學(xué)生完成可行性研究、開發(fā)計劃、需求分析。3、教師審查,然后調(diào)整確定實(shí)施方案。
4、學(xué)生完成課程設(shè)計的系統(tǒng)設(shè)計、編碼等環(huán)節(jié),指導(dǎo)老師作必要的現(xiàn)場指導(dǎo)。5、驗(yàn)收。
6、撰寫總結(jié)報告。7、答辯與考核
指導(dǎo)教師選擇部分學(xué)生進(jìn)行當(dāng)面提問答辯,答辯既可以以語言表達(dá)的方式,也可以直接在機(jī)房中進(jìn)行實(shí)際操作與調(diào)試。指導(dǎo)教師將綜合每一學(xué)生的表現(xiàn)及能力進(jìn)行綜合評分。四、考核評估
結(jié)合學(xué)生的動手能力,獨(dú)立分析解決問題的能力和創(chuàng)新精神,總結(jié)報告和答辯水平以及學(xué)習(xí)態(tài)度綜合考評。成績分優(yōu)、良、中、及格和不及格五等。1、設(shè)計與報告20%2、軟件編程能力30%3、綜合解決問題能力20%4、創(chuàng)新能力10%5、學(xué)生答辯10%
6、態(tài)度和紀(jì)律10%分為優(yōu)、良、中、及格和不及格五檔。
擴(kuò)展閱讀:Java Web開發(fā)(jsp)課程設(shè)計
JavaWeb開發(fā)(JSP)課程設(shè)計
JavaWeb開發(fā)(JSP)
課程設(shè)計報告
題目:報價管理系統(tǒng)設(shè)計者:XXX專業(yè)班級:軟件學(xué)號:XXXXX指導(dǎo)教師:XXXXX
201*年12月26日
河南理工大學(xué)計算機(jī)學(xué)院
JavaWeb開發(fā)(JSP)課程設(shè)計
報價管理系統(tǒng)報告書
一、系統(tǒng)需求背景
隨著國家隊采購項(xiàng)目的不斷規(guī)范,通過招標(biāo)的方式來進(jìn)行商品銷售已經(jīng)成為主流。由于生產(chǎn)廠家數(shù)以千計,其產(chǎn)品更是種類繁多,而且商品的數(shù)量、報價和規(guī)則也是不斷更新,手工的預(yù)算報價已經(jīng)難以勝任。報價管理系統(tǒng)的產(chǎn)生很好的解決了這一難題,能夠非常快熟的生成報價方案,具有維護(hù)方便、操作簡單等特點(diǎn)。
該報價管理系統(tǒng)采用JSP+JDBC+MySQL來實(shí)現(xiàn),同時還將使用MVC設(shè)計模式。其中視圖層采用JSP來實(shí)現(xiàn),控制層則采用Sevlert來實(shí)現(xiàn),并通過JDBC來連接MySQL數(shù)據(jù)庫。
該系統(tǒng)包括五個模塊,分別是客戶管理模塊、產(chǎn)品管理模塊、產(chǎn)品類型管理模塊、訂單模塊以及報價模塊。
其中,在數(shù)據(jù)庫方面,我們需要建立數(shù)據(jù)庫表,包括客戶表、產(chǎn)品類型表、產(chǎn)品表、訂單表和報價表。
二、系統(tǒng)所涉及的一些知識
2.1JSP技術(shù)
JavaServerPages技術(shù)是一個純Java平臺的技術(shù),它主要用來產(chǎn)生動態(tài)網(wǎng)頁內(nèi)容。在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁。Web服務(wù)器接收到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。JSP是基于JavaServlet以及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、安全、快速和跨平臺的動態(tài)網(wǎng)頁。
JSP在多個方面加速了動態(tài)的Web頁面的開發(fā):
1JavaWeb開發(fā)(JSP)課程設(shè)計
程序?qū)懸淮,到處可以運(yùn)行。JSP在設(shè)計時,充分考慮到應(yīng)用平臺的無關(guān)性。依賴于Java的可移植性,JSP得到目前許多流行操作平臺的支持,可在Apache、NetScape、IIS等服務(wù)器上執(zhí)行。
執(zhí)行速度快。JSP頁面只需編譯一次轉(zhuǎn)化為Java字節(jié)代碼,其后一直駐留于服務(wù)器內(nèi)存中,加快了對JSP頁面的響應(yīng)速度。若不考慮JSP頁面第一次編譯所花的時間,則JSP的響應(yīng)速度要比ASP快得多。
Java的優(yōu)勢。JSP技術(shù)是用Java語言作為腳本語言的?缙脚_、成熟、健壯、易擴(kuò)充的Java技術(shù)使得開發(fā)人員的工作在其他方面也變得容易和簡單。Java語言通過提供防止內(nèi)存泄漏的方法,在內(nèi)存管理方面大顯身手。加之,JSP為應(yīng)用程序提供了更為健壯的意外事件處理機(jī)制,充分發(fā)揮了Java的優(yōu)勢。
JSP標(biāo)簽可擴(kuò)充性和跨平臺的可重用性。JSP技術(shù)能夠使開發(fā)者擴(kuò)展JSP標(biāo)簽得以應(yīng)用,JSP開發(fā)者能定制標(biāo)簽庫,大大減少對腳本語言的依賴。由于定制標(biāo)簽技術(shù),使網(wǎng)頁制作者降低了制作網(wǎng)頁和向多個網(wǎng)頁擴(kuò)充關(guān)鍵功能的復(fù)雜程度。JSP組件(企業(yè)Javabeans,JavaBeans或定制的JSP標(biāo)簽)都是跨平臺可重用的。Javabeans和企業(yè)Javabeans組件可以訪問傳統(tǒng)的數(shù)據(jù)庫,并能以分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺。
2.2JDBC
JDBC由一組Java語言編寫的類和接口組成,使用內(nèi)嵌式的SQL,主要實(shí)現(xiàn)三方面的功能:建立與數(shù)據(jù)庫的連接,執(zhí)行SQL聲明以及處理SQL執(zhí)行結(jié)果。JDBC支持基本的SQL功能,使用它可方便地與不同的關(guān)系型數(shù)據(jù)庫建立連接,進(jìn)行相關(guān)操作,并無需再為不同的DBMS分別編寫程序。
2.3MySQL
MySQL是一個多用戶、多線程的SQL數(shù)據(jù)庫,是一個客戶機(jī)/服務(wù)器結(jié)構(gòu)的應(yīng)用,它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。MySQL的快速和靈活性足以滿足一個網(wǎng)站的信息管理工作。因?yàn)樵S可證的靈活,任何人都可以以任何目的免費(fèi)使用,修改,和分發(fā)PostgreSQL,不管是私用,商用,還是學(xué)術(shù)研究使用。命令執(zhí)行速度快,也許是現(xiàn)今最快的;簡單有效的用戶特權(quán)系統(tǒng)。MySQL使用完全免費(fèi),使得其運(yùn)用范圍更加廣泛。
2JavaWeb開發(fā)(JSP)課程設(shè)計
2.4TOMCAT
Tomcat服務(wù)器是ApacheGroupJakarta小組開發(fā)的一個免費(fèi)服務(wù)器軟件,適合于嵌入Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對它進(jìn)行擴(kuò)充。Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為Web服務(wù)器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。但是Tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。
2.5Eclipse
Eclipse是一個非常優(yōu)秀的集成開發(fā)環(huán)境,它旨在簡化用于多操作系統(tǒng)軟件工具的開發(fā)過程,可以用于管理多種開發(fā)任務(wù),其中包括測試、性能調(diào)整以及程序調(diào)試等,而且還可以集成來自多個供應(yīng)商的第三方應(yīng)用程序開發(fā)工具。通過集成大量的插件,Eclipse的功能可以不斷擴(kuò)展,以支持各種不同的應(yīng)用。
Eclipse平臺是一個成熟的、精心設(shè)計的、可擴(kuò)展的體系結(jié)構(gòu),其組成結(jié)構(gòu)如圖所示用Eclipse開發(fā)的插件,可以適應(yīng)多平臺的需要,且具有良好的可擴(kuò)展性和靈活性。
Eclipse是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。
2.6MVC設(shè)計模式
設(shè)計模式是面向?qū)ο蟮某绦蛟O(shè)計人員用來解決編程問題的一種形式化表示。本系統(tǒng)開發(fā)采用目前一種目前廣泛流行的軟件設(shè)計模式MVC。MVC(Model-View-Controller)應(yīng)用程序結(jié)構(gòu)被用來分析分布式應(yīng)用程序的特征。
3JavaWeb開發(fā)(JSP)課程設(shè)計
這種抽象結(jié)構(gòu)能有助于將應(yīng)用程序分割成若干邏輯部件,使程序設(shè)計變得更加容易。把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成三個層模型層、視圖層、控制層。
MVC模式的出現(xiàn),很好的解決了傳統(tǒng)開發(fā)WEB應(yīng)用方式中存在的問題。M代表模型(Model),包含完成任務(wù)所需要的所有的行為和數(shù)據(jù);V代表視圖(View)界面,顯示模型提供的數(shù)據(jù);C代表控制器(Controller),它將模型映射到界面中,處理用戶的輸入并響應(yīng)請求。其模型關(guān)系如圖所示。在MVC模式中,三層各盡其職、相對獨(dú)立,各層內(nèi)部的改變不會影響到其它層,從而降低了數(shù)據(jù)表達(dá)、數(shù)據(jù)描述和應(yīng)用操作的耦合度,也能更好的實(shí)現(xiàn)開發(fā)中的分工,加快工程進(jìn)度。
MVC設(shè)計模式中的三個模式結(jié)構(gòu)
視圖:數(shù)據(jù)的展現(xiàn)。視圖是用戶看到并與之交互的界面。視圖向用戶顯示
相關(guān)的數(shù)據(jù),并能接收用戶的輸入數(shù)據(jù),但是它并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。視圖可以向模型查詢業(yè)務(wù)狀態(tài),但不能改變模型。視圖還能接受模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進(jìn)行同步更新。
模型:應(yīng)用對象。模型是應(yīng)用程序的主體部分。模型代表了業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯;當(dāng)數(shù)據(jù)發(fā)生改變時,它要負(fù)責(zé)通知視圖部分;一個模型能為多個視圖提供數(shù)據(jù)。由于同一個模型可以被多個視圖重用,所以提高了應(yīng)用的可重用性?刂破鳎哼壿嬏幚怼⒖刂茖(shí)體數(shù)據(jù)在視圖上展示、調(diào)用模型處理業(yè)務(wù)請求。當(dāng)Web用戶單擊Web頁面中的提交按鈕來發(fā)送HTML表單時,控制器接收請求并調(diào)用相應(yīng)的模型組件去處理請求,然后調(diào)用相應(yīng)的視圖來顯示模型返回的數(shù)據(jù)。
4JavaWeb開發(fā)(JSP)課程設(shè)計
三、功能需求分析
本系統(tǒng)是為了方便價格管理而設(shè)計的,分為五個模塊:客戶管理,訂單管理,
產(chǎn)品管理,產(chǎn)品類型管理,報價管理模塊。系統(tǒng)的基本功能是:商家可以通過該系統(tǒng)很方便對客戶,訂單,產(chǎn)品,產(chǎn)品類型,價格等統(tǒng)一管理,既方便又很節(jié)省時間,同時也提高了工作效率。里如果客戶管理這一塊來說,商家可以通過統(tǒng)一的添加方式一一添加不同的客戶,然后在管理時可以通過客戶編號,客戶名稱,電話,地址,聯(lián)系人或者其他方式對客戶進(jìn)行查詢。對于訂單管理這模塊,里面可以有訂單編號,客戶編碼,產(chǎn)品編碼,數(shù)量,訂單時間,商家可以統(tǒng)一管理這些信息,還有專門的報價表共同以查詢物品單價等等這些功能。
四、系統(tǒng)設(shè)計方案
整體設(shè)計方案。
如:根據(jù)系統(tǒng)功能需求分析,可將系統(tǒng)完善大致分為如下幾步:(1)根據(jù)系統(tǒng)需要,做出系統(tǒng)分析;(2)根據(jù)功能分析,設(shè)計出客戶管理頁面;(3)對客戶管理模塊DAO層進(jìn)行設(shè)計:
(4)添加控制器實(shí)現(xiàn)客戶添加功能和查詢所有客戶的功能;
(5)對某些頁面實(shí)行分頁技術(shù),因?yàn)橐豁摬豢赡馨阉械男畔⒍硷@示出來;(6)、、、、、、、
五、系統(tǒng)涉及的數(shù)據(jù)庫表
所使用的數(shù)據(jù)庫及其字段。
5JavaWeb開發(fā)(JSP)課程設(shè)計
如:數(shù)據(jù)庫安裝的是MySQL5.1,根據(jù)系統(tǒng)功能需求分析得到如下數(shù)據(jù)庫表:客戶表:
列名customercode數(shù)據(jù)類型varchar(32)否允許空用戶編號用戶名電話地址聯(lián)系人其他說明customernamevarchar(255)phoneaddressralationmanother
產(chǎn)品類型表:
varchar(20)varchar(255)varchar(30)varchar(255)列名producttypecode數(shù)據(jù)類型varchar(32)否允許空用戶編號用戶名說明pruducttypenamevarchar(100)產(chǎn)品表:
列名productcode數(shù)據(jù)類型varchar(32)否允許空產(chǎn)品編號產(chǎn)品類型名產(chǎn)品名產(chǎn)品區(qū)域產(chǎn)品所有者產(chǎn)品單位說明producttypetypenamevarchar(32)productnameproducingareaproductownerunitpricequantityother
varchar(255)varchar(255)varchar(255)varchar(10)Varchar(10)varchar(10)varchar(255)產(chǎn)品價格產(chǎn)品數(shù)量其他信息6
JavaWeb開發(fā)(JSP)課程設(shè)計
訂單表:
列名ordercodecustomercodeproductcodequantityordertimeother報價表:
數(shù)據(jù)類型varchar(32)varchar(32)varchar(32)varchar(10)datetimevarchar(255)否允許空訂單編號客戶編碼產(chǎn)品編碼數(shù)量訂單時間其他信息說明列名數(shù)據(jù)類型否允許空報價編碼產(chǎn)品編碼客戶編碼報價人報價時間其他說明quotationcodevarchar(32)productcodecustomercodequotationmanvarchar(32)varchar(32)varchar(32)quotationtimedatetimeother
varchar(255)寫好這些數(shù)據(jù)庫表,定好每個數(shù)據(jù)庫表的主鍵,再設(shè)置好外鍵的連接。
五、具體功能分析
6.1客戶管理模塊頁面設(shè)計
該頁面是用戶登錄后所顯示的初步頁面,該頁面包括五個模塊:客戶添加頁面、按客戶編號查詢客戶頁面、按客戶名稱查詢客戶頁面、按電話查詢客戶頁面、按地址查詢客戶頁面、按聯(lián)系人查詢客戶頁面、按其它查詢客戶頁面。管理人員可以通過以上任意一種方式查詢客戶信息。其結(jié)果圖如下:
7JavaWeb開發(fā)(JSP)課程設(shè)計
6.2客戶添加
下面是部分代碼:客戶添加客戶添加td{font-size:12px;}8
JavaWeb開發(fā)(JSP)課程設(shè)計
客戶添加客戶編碼客戶名稱聯(lián)系電話聯(lián)系地址聯(lián)系人其他9
JavaWeb開發(fā)(JSP)課程設(shè)計
(1.)在業(yè)務(wù)控制器中需要接受表單參數(shù)。
publicvoidexecute(HttpServletRequestrequest,HttpServletResponseresponse){}
(2.)接受參數(shù)
//接受參數(shù)Stringcustomercode=request.getParameter("customercode");Stringcustomername=request.getParameter("customername");Stringphone=request.getParameter("phone");Stringaddress=request.getParameter("address");Stringrelationman=request.getParameter("relationman");Stringother=request.getParameter("other");(3).封裝Customer對象//封裝Customer對象Customercustomer=newCustomer();customer.setCustomercode(customercode);customer.setCustomername(customername);customer.setPhone(phone);customer.setAddress(address);customer.setRelationman(relationman);customer.setOther(other);
(4.)通過DAO完成客戶添加。//獲得DAO實(shí)例CustomerDAOcdao=CustomerDAOFactory.getCustomerDAO();//通過DAO實(shí)例完成客戶添加cdao.addCustomer(customer);6.3在查詢客戶信息時,首先.得添加DAO中查詢所有客戶的方法
publicListfindAll(){
//1.獲得連接對象Connectionconn=DataBaseManager.getConnection();//2.查詢SQL語句JavaWeb開發(fā)(JSP)課程設(shè)計
}StringquerySql="select*fromcustomer";PreparedStatementpstmt=null;ResultSetrs=null;Listcustomers=null;//3.通過連接對象獲得預(yù)處理語句對象try{}returncustomers;pstmt=conn.prepareStatement(querySql);//4.設(shè)置參數(shù)//5.執(zhí)行查詢rs=pstmt.executeQuery();customers=newArrayList();while(rs.next()){}e.printStackTrace();DataBaseManager.close(rs);DataBaseManager.close(pstmt);DataBaseManager.close(conn);Customercustomer=newCustomer();customer.setCustomercode(rs.getString(1));customer.setCustomername(rs.getString(2));customer.setPhone(rs.getString(3));customer.setAddress(rs.getString(4));customer.setRelationman(rs.getString(5));customer.setOther(rs.getString(6));customers.add(customer);}catch(SQLExceptione){}finally{然后再添加業(yè)務(wù)控制器,代碼如下:packagecom.ibeifeng.action;importjava.util.List;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.ibeifeng.dao.CustomerDAO;11
JavaWeb開發(fā)(JSP)課程設(shè)計
importcom.ibeifeng.daofactory.CustomerDAOFactory;importcom.ibeifeng.vo.Customer;publicclassCustomerFindAllextendsWebAction{}publicvoidexecute(HttpServletservlet,HttpServletRequestrequest,}HttpServletResponseresponse){//獲得DAO實(shí)例CustomerDAOcdao=CustomerDAOFactory.getCustomerDAO();//通過調(diào)用cdao中查詢所有記錄的方法Listall=cdao.findAll();//將記錄保存到request范圍request.setAttribute("all",all);//設(shè)置跳轉(zhuǎn)頁面Stringpage="/CustomerFindAllResult.jsp";forward(servlet,request,response,page);
查詢所有客戶顯示頁面代碼:查詢所有客戶td{}查詢所有客戶12
font-size:12px;JavaWeb開發(fā)(JSP)課程設(shè)計
客戶編號客戶名稱聯(lián)系電話聯(lián)系地址聯(lián)系人其他6.4按客戶編號查詢
代碼如下:
13JavaWeb開發(fā)(JSP)課程設(shè)計
按客戶編號查詢客戶td{}按客戶編號查詢客戶客戶編碼font-size:12px;添加業(yè)務(wù)控制器packagecom.ibeifeng.action;importjava.util.List;importjavax.servlet.http.HttpServlet;14
JavaWeb開發(fā)(JSP)課程設(shè)計
importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.ibeifeng.dao.CustomerDAO;importcom.ibeifeng.daofactory.CustomerDAOFactory;importcom.ibeifeng.vo.Customer;publicclassCustomerFindByCustomerCodeextendsWebAction{}publicvoidexecute(HttpServletservlet,HttpServletRequestrequest,}//獲得參數(shù)Stringcustomercode=request.getParameter("customercode");//通過調(diào)用cdao中查詢所有記錄的方法Customercustomer=cdao.findByCustomerCode(customercode);//將記錄保存到request范圍request.setAttribute("customer",customer);//設(shè)置跳轉(zhuǎn)頁面Stringpage="/CustomerFindByCustomerCodeResult.jsp";forward(servlet,request,response,page);HttpServletResponseresponse){//獲得DAO實(shí)例CustomerDAOcdao=CustomerDAOFactory.getCustomerDAO();配置業(yè)務(wù)控制器map.put("CustomerFindByCustomerCode",CustomerFindByCustomerCode.class);
添加結(jié)果顯示頁面。${requestScope.customer.customercode}${requestScope.customer.customername}${requestScope.customer.phone}${requestScope.customer.address}${requestScope.customer.relationman}${requestScope.customer.other}15
JavaWeb開發(fā)(JSP)課程設(shè)計
6.5按客戶名稱查詢
代碼如下:按客戶名稱查詢客戶td{}按客戶名稱查詢客戶客戶名稱font-size:12px;16
JavaWeb開發(fā)(JSP)課程設(shè)計
接下來的集中查詢客戶的方式的添加業(yè)務(wù)控制器,配置業(yè)務(wù)控制器,添加結(jié)果顯示頁面的代碼的實(shí)現(xiàn),和上述按客戶編號查詢的代碼是類似的,在這里就不重復(fù)了。
6.6按聯(lián)系電話查詢
代碼如下:按聯(lián)系電話查詢客戶td{}
font-size:12px;按聯(lián)系電話查詢客戶JavaWeb開發(fā)(JSP)課程設(shè)計
聯(lián)系電話6.7按聯(lián)系地址查詢
代碼如下:按聯(lián)系地址查詢客戶td{}18
font-size:12px;JavaWeb開發(fā)(JSP)課程設(shè)計
按聯(lián)系地址查詢客戶聯(lián)系地址6.8按聯(lián)系人查詢
代碼如下:19
JavaWeb開發(fā)(JSP)課程設(shè)計
按聯(lián)系人查詢客戶td{}按聯(lián)系人查詢客戶聯(lián)系人font-size:12px;
6.9數(shù)據(jù)庫管理類和VO類
a..數(shù)據(jù)管理類封裝了一些常用的JDBC操作,如獲得連接對象、關(guān)閉連接對象、關(guān)閉處理語句、關(guān)閉預(yù)處理語句、關(guān)閉結(jié)果集。
20JavaWeb開發(fā)(JSP)課程設(shè)計
獲得連接對象部分代碼:
packagecom.ibeifeng.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;/**數(shù)據(jù)庫管理類*/publicclassDataBaseManager{}//驅(qū)動類名稱publicstaticStringJDBC_DRIVER="com.mysql.jdbc.Driver";//數(shù)據(jù)庫連接URLpublicstaticStringJDBC_URL="jdbc:mysql://localhost:3306/quote";//數(shù)據(jù)庫用戶名publicstaticStringJDBC_USER="root";//數(shù)據(jù)庫密碼publicstaticStringJDBC_PASS="admin";/***獲得連接對象*/publicstaticConnectiongetConnection(){}Connectionconn=null;try{//1.加載驅(qū)動類Class.forName(JDBC_DRIVER);//獲得連接對象conn=DriverManager.getConnection(JDBC_URL,JDBC_USER,JDBC_PASS);}catch(ClassNotFoundExceptione){}returnconn;e.printStackTrace();e.printStackTrace();}catch(SQLExceptione){21
JavaWeb開發(fā)(JSP)課程設(shè)計
六、
總結(jié):
通過本次的課程設(shè)計,讓我自己動手進(jìn)行數(shù)據(jù)庫的連接、網(wǎng)頁的設(shè)計、代碼的編寫與調(diào)試,加深了對這門課程的理解,更是鍛煉了自己,使我從中學(xué)習(xí)到了非常多的東西。在實(shí)驗(yàn)中也遇到了很多問題,但是通過向老師同學(xué)詢問,不斷試驗(yàn)改錯,雖然過程很辛苦,但是看著自己寫的程序運(yùn)行出想要的結(jié)果心里也是感到很滿足。這次的設(shè)計讓我很系統(tǒng)的運(yùn)用了所學(xué)到的知識。
22友情提示:本文中關(guān)于《Java Web開發(fā)課程設(shè)計》給出的范例僅供您參考拓展思維使用,Java Web開發(fā)課程設(shè)計:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。