單元6 購(gòu)物網(wǎng)站喜愛(ài)商品投票統(tǒng)計(jì)模塊設(shè)計(jì)(Struts2+JSTL+JFreeChart組件)_第1頁(yè)
單元6 購(gòu)物網(wǎng)站喜愛(ài)商品投票統(tǒng)計(jì)模塊設(shè)計(jì)(Struts2+JSTL+JFreeChart組件)_第2頁(yè)
單元6 購(gòu)物網(wǎng)站喜愛(ài)商品投票統(tǒng)計(jì)模塊設(shè)計(jì)(Struts2+JSTL+JFreeChart組件)_第3頁(yè)
單元6 購(gòu)物網(wǎng)站喜愛(ài)商品投票統(tǒng)計(jì)模塊設(shè)計(jì)(Struts2+JSTL+JFreeChart組件)_第4頁(yè)
單元6 購(gòu)物網(wǎng)站喜愛(ài)商品投票統(tǒng)計(jì)模塊設(shè)計(jì)(Struts2+JSTL+JFreeChart組件)_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單元6

購(gòu)物網(wǎng)站喜愛(ài)商品投票統(tǒng)計(jì)模塊設(shè)計(jì)(Struts2+JSTL+JFreeChart組件)

Struts2是Apache軟件組織的一項(xiàng)開(kāi)放源代碼項(xiàng)目,是基于WebWork核心思想的全新框架,是一種成熟的MVC模型解決方案,在JavaWeb開(kāi)發(fā)領(lǐng)域中占有十分重要的地位。 Struts2是Apache軟件組織的一項(xiàng)開(kāi)放源代碼項(xiàng)目,是基于WebWork核心思想的全新框架,是一種成熟的MVC模型解決方案,在JavaWeb開(kāi)發(fā)領(lǐng)域中占有十分重要的地位。

隨著JSP技術(shù)的成熟,越來(lái)越多的JavaWeb開(kāi)發(fā)人員專注于MVC框架,Struts2受到廣泛的青睞。 Struts2是一種支持國(guó)際化的MVC的WebFramework。

在設(shè)計(jì)國(guó)際化的Struts2應(yīng)用時(shí),盡量將一些文本、消息、圖片、標(biāo)簽、按鈕等從程序代碼中單獨(dú)提取出來(lái),存放在資源文件中,這樣對(duì)于不同語(yǔ)言的用戶,只要提供與之相應(yīng)的資源文件即可。 JSTL(JSPStandardTagLibrary,JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù))是一個(gè)不斷完善的開(kāi)放源代碼的JSP標(biāo)簽庫(kù),是由Apache的Jakarta小組來(lái)維護(hù)的。 JSTL只能運(yùn)行在支持JSP1.2和Servlet2.3及以上版本規(guī)范的容器上。

使用JSTL可以取代在傳統(tǒng)JSP程序中嵌入Java代碼的做法,提高了程序的可維護(hù)性和可讀性?!局R(shí)梳理】1.Struts簡(jiǎn)介 Struts是Apache軟件基金會(huì)(ASF)贊助的一個(gè)開(kāi)源項(xiàng)目,它最初是Jakarta項(xiàng)目中的一個(gè)子項(xiàng)目,并在2004年3月成為ASF的頂級(jí)項(xiàng)目,它通過(guò)采用JavaServlet/JSP技術(shù)實(shí)現(xiàn)了基于JavaEEWeb應(yīng)用的MVC設(shè)計(jì)模式的應(yīng)用框架,是MVC經(jīng)典設(shè)計(jì)模式中的一個(gè)經(jīng)典產(chǎn)品。2.Struts2簡(jiǎn)介(1)Struts2基本組成 WebWork與Struts合并之后,根據(jù)功能的細(xì)分和設(shè)計(jì),拆分出一個(gè)叫xWork的部分,用來(lái)處理與Web無(wú)關(guān)的部分,也就是與Servlet無(wú)關(guān)的部分,如用戶數(shù)據(jù)的類型轉(zhuǎn)換、動(dòng)作調(diào)用之前的數(shù)據(jù)驗(yàn)證、動(dòng)作的調(diào)用等。

其余與Web相關(guān)的部分,也就是與servlet相關(guān)的部分,被稱為Struts2部分。

這里的“Struts2部分”可以理解為一個(gè)模塊,是Struts2框架的一部分,例如,如何接收用戶請(qǐng)求的數(shù)據(jù),如何跳轉(zhuǎn)到下一個(gè)頁(yè)面。

其中Struts2部分調(diào)用了xWork部分,但是xWork部分并不依賴于Struts2部分,xwork是完全獨(dú)立的、純Java的應(yīng)用。(2)Struts2的核心功能

①Struts2通過(guò)簡(jiǎn)單、集中的配置來(lái)調(diào)度動(dòng)作類,使得配置和修改都非常容易。

②Struts2提供簡(jiǎn)單、統(tǒng)一的表達(dá)式語(yǔ)言來(lái)訪問(wèn)所有可供訪問(wèn)的數(shù)據(jù)。

③Struts2提供內(nèi)存式的數(shù)據(jù)中心,所有可供訪問(wèn)的數(shù)據(jù)都集中存放在內(nèi)存中,在調(diào)用中不需要將數(shù)據(jù)傳來(lái)傳去,都去這個(gè)內(nèi)存數(shù)據(jù)中心訪問(wèn)即可。

④Struts2提供在動(dòng)作類執(zhí)行的前或后附加執(zhí)行一定功能的能力,能實(shí)現(xiàn)AOP(AspectOrientedProgramming,面向切面編程)。

⑤Struts2提供標(biāo)準(zhǔn)的、強(qiáng)大的驗(yàn)證框架和國(guó)際化框架,且與Struts2的其他特性緊密結(jié)合。3.Struts2的處理流程 Struts是一個(gè)開(kāi)源框架,使用Struts的目的就是為了幫助減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。圖6-1

Struts2的簡(jiǎn)單處理流程示意圖 Struts2的簡(jiǎn)單處理流程說(shuō)明如下。

①Web客戶端的瀏覽器發(fā)送請(qǐng)求。

②核心處理器根據(jù)Struts.xml文件查找對(duì)應(yīng)的處理請(qǐng)求的Action類。

③WebWork的攔截器鏈自動(dòng)請(qǐng)求應(yīng)用通用功能,如WorkFlow、Validation等功能。

④如果Struts.xml文件中配置了Method參數(shù),則調(diào)用Method參數(shù)對(duì)應(yīng)的Action類中的Method方法,否則調(diào)用Action的的Execute()方法來(lái)處理用戶請(qǐng)求。

⑤將Action類中的對(duì)應(yīng)方法get×××()返回的結(jié)果響應(yīng)給瀏覽器。

一個(gè)請(qǐng)求在Struts2框架中的處理大概分為以下幾個(gè)步驟。

①客戶端提交一個(gè)指向Servlet容器(如Tomcat)的HTTP請(qǐng)求。

②這個(gè)請(qǐng)求經(jīng)過(guò)一系列的過(guò)濾器(包括ActionContext、ClearUp過(guò)濾器和其他過(guò)濾器),最后會(huì)到達(dá)FilterDispatcher過(guò)濾器。

③接著FilterDispatcher被調(diào)用,F(xiàn)ilterDispatcher詢問(wèn)ActionMapper是否需要調(diào)用某個(gè)Action來(lái)處理這個(gè)請(qǐng)求。

④如果ActionMapper決定需要調(diào)用某個(gè)Action,F(xiàn)ilterDispatcher把請(qǐng)求的處理交給ActionProxy。

⑤ActionProxy通過(guò)ConfigurationManager(struts.xml)讀取框架的相關(guān)配置,找到需要調(diào)用的Action類。

⑥ActionProxy創(chuàng)建一個(gè)ActionInvocation的實(shí)例。

⑦ActionInvocation實(shí)例使用命名模式來(lái)調(diào)用,在調(diào)用Action的過(guò)程前后,涉及一系列的相關(guān)攔截器(Intercepter)的調(diào)用。

⑧一旦Action執(zhí)行完畢,ActionInvocation負(fù)責(zé)根據(jù)struts.xml中的配置找到對(duì)應(yīng)的返回結(jié)果。將返回相應(yīng)的結(jié)果視圖(JSP、FreeMarker和Veiocity等),在這些視圖之中可以使用struts標(biāo)簽顯示數(shù)據(jù)并控制數(shù)據(jù)邏輯。然后HTTP請(qǐng)求回應(yīng)給瀏覽器,在回應(yīng)的過(guò)程中同樣經(jīng)過(guò)一系列過(guò)濾器。4.Action對(duì)象簡(jiǎn)介

在傳統(tǒng)的MVC框架中,Action需要實(shí)現(xiàn)特定的接口,這些接口由MVC框架定義,實(shí)現(xiàn)這些接口會(huì)與MVC框架耦合。 Struts2比Action更為靈活,可以實(shí)現(xiàn)或不實(shí)現(xiàn)Struts2的接口。(1)Action對(duì)象簡(jiǎn)介 Action對(duì)象是Struts2框架中的重要對(duì)象,

主要用于處理HTTP請(qǐng)求。

在Struts2API中,Action對(duì)象是一個(gè)接口,位于com.opensymphony.xwork2包中。

通常情況下,在開(kāi)發(fā)基于Struts2的應(yīng)用項(xiàng)目時(shí),創(chuàng)建Action對(duì)象都要直接或間接地實(shí)現(xiàn)com.opensymphony.xwork2.Action接口,在該接口中,除了定義execute()方法外,還定義了5個(gè)字符串類型的靜態(tài)常量。

在Action接口中,包含了以下5個(gè)靜態(tài)常量,它們是Struts2API為處理結(jié)果所定義的靜態(tài)常量。

①SUCCESS。

②NONE。

③ERROR。

④INPUT。

⑤LOGIN。(2)Action的基本流程 Struts2框架主要通過(guò)Struts2的過(guò)濾器對(duì)象攔截HTTP請(qǐng)求,然后將請(qǐng)求分配到指定的Action進(jìn)行處理。5.Struts2的攔截器(1)攔截器概述(2)Struts2API(3)攔截器Interceptor中包含的方法(4)AbstractInterceptor類6.軟件的國(guó)際化支持

為了使Web應(yīng)用程序能同時(shí)支持多國(guó)語(yǔ)言、支持全球用戶,就必須對(duì)Web應(yīng)用程序進(jìn)行國(guó)際化的處理。

國(guó)際化(簡(jiǎn)稱為I18N)指的是在設(shè)置軟件系統(tǒng)時(shí)使軟件具有支持多種語(yǔ)言的功能。

當(dāng)需要在應(yīng)用中添加對(duì)一種新的語(yǔ)言和國(guó)家的支持時(shí),無(wú)須修改應(yīng)用程序的代碼。

國(guó)際化是相對(duì)本地化而言的,本地化意味著針對(duì)不同語(yǔ)言的用戶,開(kāi)發(fā)出不同的軟件版本,而國(guó)際化則意味著同一個(gè)軟件可以面向使用各種不同語(yǔ)言的用戶。7.Struts2中國(guó)際化語(yǔ)言的動(dòng)態(tài)切換方法

為了適應(yīng)不同語(yǔ)言的用戶,由用戶自己選擇合適的語(yǔ)言進(jìn)行瀏覽是軟件國(guó)際化的普通需求。

在一些大型網(wǎng)站上,經(jīng)常能看到“英文版

中文版”等語(yǔ)言動(dòng)態(tài)切換的超鏈接。8.Web應(yīng)用程序開(kāi)發(fā)過(guò)程常見(jiàn)的中文亂碼問(wèn)題及其解決方法(1)解決HTML頁(yè)面中的中文問(wèn)題(2)解決JSP頁(yè)面中的中文問(wèn)題(3)解決Servlet響應(yīng)結(jié)果的中文問(wèn)題(4)解決頁(yè)面數(shù)據(jù)傳輸?shù)闹形膯?wèn)題(5)解決HTTP(get)請(qǐng)求中的中文問(wèn)題(6)解決MySQL數(shù)據(jù)庫(kù)的中文問(wèn)題9.JSTL標(biāo)簽庫(kù) JSTL(JSPStandardTagLibrary,JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù))是一個(gè)不斷完善的開(kāi)放源代碼的JSP標(biāo)簽庫(kù),是由Apache的Jakarta小組來(lái)維護(hù)的。 JSTL只能運(yùn)行在支持JSP1.2和Servlet2.3及以上版本規(guī)范的容器上。

使用JSTL可以取代在傳統(tǒng)JSP程序中嵌入Java代碼的做法,提高了程序的可維護(hù)性和可讀性。

①使用JSTL標(biāo)簽之前必須在JSP頁(yè)面的頂部使用“<%@taglib%>指令定義標(biāo)簽庫(kù)的位置和訪問(wèn)前綴。

②<c:if>標(biāo)簽。 <c:if>標(biāo)簽可以根據(jù)不同的條件處理不同的業(yè)務(wù),即執(zhí)行不同的程序代碼。

③<c:forEach>標(biāo)簽。 <c:forEach>標(biāo)簽可以根據(jù)循環(huán)條件遍歷數(shù)組和集合類中的所有或部分?jǐn)?shù)據(jù)。10.過(guò)濾器的配置

在創(chuàng)建一個(gè)過(guò)濾器對(duì)象之后,需要對(duì)其進(jìn)行配置才可以使用。

過(guò)濾器的配置方法與Servlet的配置方法類似,都是通過(guò)web.xml文件進(jìn)行配置。(1)聲明過(guò)濾器對(duì)象(2)映射過(guò)濾器可選值功能說(shuō)明REQUEST當(dāng)客戶端直接請(qǐng)求時(shí),通過(guò)過(guò)濾器進(jìn)行處理INCLUDE當(dāng)客戶端通過(guò)RequestDispatcher對(duì)象的include()方法請(qǐng)求時(shí),通過(guò)過(guò)濾器進(jìn)行處理FORWARD當(dāng)客戶端通過(guò)RequestDispatcher對(duì)象的forward()方法請(qǐng)求時(shí),通過(guò)過(guò)濾器進(jìn)行處理ERROR當(dāng)產(chǎn)生聲明式異常時(shí),通過(guò)過(guò)濾器進(jìn)行處理表6-2

<dispatcher>元素的可選值及功能說(shuō)明【應(yīng)用技巧】

本單元的應(yīng)用技巧如下所示。

①應(yīng)用JfreeChart組件實(shí)現(xiàn)動(dòng)態(tài)圖表,顯示投票結(jié)果。

②應(yīng)用JfreeChart組件繪制柱形圖。

③應(yīng)用JfreeChart組件繪制餅圖。

④在服務(wù)器端的Application對(duì)象中存儲(chǔ)投票總結(jié)果,在Struts2.x中利用Map對(duì)象模擬Application對(duì)象。

⑤JSP頁(yè)面中實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)的兩列顯示。

⑥JSP頁(yè)面中通過(guò)設(shè)置div區(qū)塊的寬度樣式顯示投票結(jié)果。

⑦通過(guò)IP地址和Cookie信息設(shè)計(jì)投票過(guò)濾器,控制投票的有效性,從而防止惡意投票和虛假投票。

⑧Web應(yīng)用程序開(kāi)發(fā)過(guò)程中文亂碼問(wèn)題的解決方法。⑨Struts2國(guó)際化支持的實(shí)現(xiàn)。⑩Struts2中國(guó)際化語(yǔ)言環(huán)境的動(dòng)態(tài)切換?!经h(huán)境創(chuàng)設(shè)】

①下載與配置Struts2。

②下載JFreeChart組件的最新版本。

③準(zhǔn)備開(kāi)發(fā)Web應(yīng)用程序所需的圖片文件和JavaScript文件。

④在數(shù)據(jù)庫(kù)eshop中創(chuàng)建“投票信息”數(shù)據(jù)表,其結(jié)構(gòu)信息如表6-3所示。字段名數(shù)據(jù)類型字段名數(shù)據(jù)類型投票IDint投票人IPbigint上次投票時(shí)間smalldatetime表6-3“投票信息”數(shù)據(jù)表的結(jié)構(gòu)信息

⑤在數(shù)據(jù)庫(kù)eshop中創(chuàng)建“商品投票”數(shù)據(jù)表,其結(jié)構(gòu)信息如表6-4所示。

⑥在計(jì)算機(jī)的【資源管理器】中創(chuàng)建文件夾unit06。字段名數(shù)據(jù)類型字段名數(shù)據(jù)類型商品IDint商品名稱nvarchar(100)品牌名稱nvarchar(50)圖片地址nvarchar(100)投票數(shù)量int排列順序int表6-4“商品投票”數(shù)據(jù)表的結(jié)構(gòu)信息

⑦啟動(dòng)Eclipse,設(shè)置工作空間為unit06,然后進(jìn)入Eclipse的開(kāi)發(fā)環(huán)境。

⑧在Eclipse集成開(kāi)發(fā)環(huán)境中配置與啟動(dòng)Tomcat服務(wù)器。

⑨新建動(dòng)態(tài)Web項(xiàng)目,命名為project06X,本單元有2個(gè)任務(wù),每個(gè)任務(wù)創(chuàng)建一個(gè)獨(dú)立的Web項(xiàng)目,命名分別為project061和project062。

⑩添加Struts2和JFreeChart組件的核心類包。圖6-2添加的Struts2核心類包【任務(wù)描述】【任務(wù)6-1】基于JSTL+JavaBean+JFreeChart組件實(shí)現(xiàn)喜愛(ài)的手機(jī)品牌評(píng)選投票

①創(chuàng)建JSP頁(yè)面index.jsp,該頁(yè)面是投票統(tǒng)計(jì)程序的起始頁(yè)面。

②創(chuàng)建Servlet類GetDataServlet,該類主要獲取手機(jī)品牌的相關(guān)信息,然后轉(zhuǎn)移到JSP頁(yè)面task6-2.jsp。

③創(chuàng)建JSP頁(yè)面task6-2.jsp,該頁(yè)面是投票的核心頁(yè)面之一,主要顯示手機(jī)品牌的相關(guān)信息以及投票、查看投票結(jié)果等多個(gè)鏈接按鈕。

④創(chuàng)建GoodsInfo類,該類為商品信息類,包含多個(gè)屬性定義和方法定義。

⑤創(chuàng)建DbManage類,該類為公共的數(shù)據(jù)庫(kù)操作類,主要包含創(chuàng)建數(shù)據(jù)庫(kù)連接、關(guān)閉數(shù)據(jù)庫(kù)連接、對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作(查、增、刪、改)等多個(gè)方法。

⑥創(chuàng)建GetDataDao類,該類包含獲取手機(jī)品牌的相關(guān)信息、獲取投票總數(shù)和最大投票數(shù)量、更新投票數(shù)量等多個(gè)方法。

⑦創(chuàng)建GetVoteServlet類,該類主要獲取手機(jī)品牌的相關(guān)信息、投票總數(shù)、最大投票數(shù)量,然后轉(zhuǎn)移到JSP頁(yè)面vote6-2.jsp。

⑧創(chuàng)建JSP頁(yè)面vote6-2.jsp,該頁(yè)面以網(wǎng)頁(yè)表現(xiàn)形式顯示投票結(jié)果。

⑨創(chuàng)建VoteServlet類,該類是實(shí)現(xiàn)圖形方式顯示投票結(jié)果的核心類,主要實(shí)現(xiàn)以柱形圖和餅形圖兩種方式顯示投票結(jié)果。

⑩創(chuàng)建JSP頁(yè)面showResult.jsp,該類主要顯示投票結(jié)果的柱形圖或餅形圖。

?創(chuàng)建過(guò)濾器類SubmitFilter,該類用于判

斷表單提交時(shí)的請(qǐng)求方式是否為POST方式。

?創(chuàng)建過(guò)濾器類VoteLimitFilter,該類負(fù)責(zé)過(guò)濾投票者的信息,控制是否能成功投票,從而防止惡意投票和虛假投票。

?創(chuàng)建VoterDao類,該類主要獲取某一位投票最近一次的投票時(shí)間,更新投票數(shù)據(jù)。

?創(chuàng)建JSP頁(yè)面fail.jsp,該頁(yè)面主要顯示錯(cuò)誤提示信息,當(dāng)投票程序運(yùn)行時(shí)出現(xiàn)錯(cuò)誤時(shí),轉(zhuǎn)移到該頁(yè)面。

?

創(chuàng)建配置文件web.xml。圖6-3手機(jī)品牌評(píng)選投票實(shí)現(xiàn)過(guò)程【任務(wù)6-2】基于Struts2實(shí)現(xiàn)投票程序的國(guó)際化

支持

①創(chuàng)建中文、英文的資源文件messageResource_en_US.properties和messageResource_zh_

CN.properties。②創(chuàng)建配置文件struts.xml和web.xml。③創(chuàng)建類ChangeLocale,該類實(shí)現(xiàn)了LocaleProvider接口,用于實(shí)現(xiàn)國(guó)際化語(yǔ)言環(huán)境的動(dòng)態(tài)切換。

④創(chuàng)建JSP頁(yè)面task6-3.jsp,該頁(yè)面用于顯示投票信息和提供國(guó)際化語(yǔ)言環(huán)境的動(dòng)態(tài)切換按鈕。【任務(wù)實(shí)施】【網(wǎng)頁(yè)結(jié)構(gòu)設(shè)計(jì)】

本單元將會(huì)創(chuàng)建多個(gè)網(wǎng)頁(yè),其主體結(jié)構(gòu)的HTML代碼如表6-5所示。行號(hào)HTML代碼0102030405<navclass="navnav-subprw"></nav><!--網(wǎng)頁(yè)頭部導(dǎo)航結(jié)束

--><formname="form1"method="post"action=""><divclass="layoutw"style="margin:4pxauto0px;"><ulclass="jhy1wbox">表6-5單元6網(wǎng)頁(yè)主體結(jié)構(gòu)的HTML代碼行號(hào)HTML代碼06070809101112131415161718

<li></li><li></li></ul></div></form><!--網(wǎng)頁(yè)底部導(dǎo)航開(kāi)始

--><footerclass="footerw"><divclass="tr"></div><ulclass="list-ui-afoot-listtc"><li></li></ul><divclass="tccopyright"></div></footer>續(xù)表【網(wǎng)頁(yè)CSS設(shè)計(jì)】

在DreamweaverCS6開(kāi)發(fā)環(huán)境中創(chuàng)建3個(gè)CSS文件:base.css、view.css和stylecss。

這3個(gè)CSS文件具體的代碼見(jiàn)本書提供的電子資源?!眷o態(tài)網(wǎng)頁(yè)設(shè)計(jì)】

在DreamweaverCS6中創(chuàng)建靜態(tài)網(wǎng)頁(yè)unit06.html,該網(wǎng)頁(yè)的初始HTML代碼如表1-5所示。

在網(wǎng)頁(yè)unit06.html中<head>和</head>之間編寫如下所示的代碼,引入所需的CSS樣式文件。

網(wǎng)頁(yè)unit06.html的瀏覽效果如圖6-4所示。圖6-4網(wǎng)頁(yè)unit06.html的瀏覽效果【網(wǎng)頁(yè)功能實(shí)現(xiàn)】【任務(wù)6-3】基于JSTL+JavaBean+JFreeChart組件實(shí)現(xiàn)喜愛(ài)的手機(jī)品牌評(píng)選投票(1)在項(xiàng)目project061中創(chuàng)建多個(gè)包(2)創(chuàng)建JSP頁(yè)面index.jsp

(3)在web.xml文件中對(duì)GetDataServlet類進(jìn)行配置

(4)創(chuàng)建Servlet類GetDataServlet

(5)創(chuàng)建JSP頁(yè)面task6-2.jsp

(6)創(chuàng)建GoodsInfo類

(7)創(chuàng)建DbManage類

(8)創(chuàng)建GetDataDao類

(9)創(chuàng)建GetVoteServlet類

(10)在web.xml文件中對(duì)GetVoteServlet類進(jìn)行配置

(11)創(chuàng)建JSP頁(yè)面vote6-2.jsp

(12)創(chuàng)建VoteServlet類(13)在web.xml文件中對(duì)VoteServlet類進(jìn)行配置(14)創(chuàng)建JSP頁(yè)面showResult.jsp(15)創(chuàng)建JSP頁(yè)面fail.jsp(16)在web.xml文件中對(duì)過(guò)濾器類filter.SubmitFilter和VoteLimitFilter

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論