




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第3章 JSP實(shí)現(xiàn)用戶注冊,用戶注冊就是將個人信息提交到注冊的服務(wù)器上,以便日后核對信息。用戶注冊是網(wǎng)站常用的功能,因?yàn)闊o論是E-mail還是論壇等,如果想要使用就要先進(jìn)行注冊。在本章將介紹實(shí)現(xiàn)一個JSP與數(shù)據(jù)庫相連的用戶注冊完整程序,包括HTML在JSP設(shè)計(jì)中的應(yīng)用,在JSP中使用內(nèi)建對象,其中request和response將作為重點(diǎn)介紹對象,以及如何在JSP中處理中文亂碼問題和如何與數(shù)據(jù)庫連接進(jìn)行數(shù)據(jù)存儲。最后是一個完整的JSP實(shí)現(xiàn)用戶注冊程序。,3.1 HTML表單設(shè)計(jì),HTML(超文本標(biāo)記語言)主要用于對WWW頁面內(nèi)容的格式進(jìn)行說明,是網(wǎng)絡(luò)上的通用語言。其經(jīng)常用到的語法主要有:基本文
2、檔標(biāo)記、段落標(biāo)記、文字標(biāo)記、格式標(biāo)記、圖文標(biāo)記、表格、表單以及框架等。這里主要介紹一些與表單有關(guān)的知識,如果對HTML感興趣的讀者可以參考介紹HTML方面的書籍。,3.1.1 表單元素,表單是可以把用戶輸入的數(shù)據(jù)傳送到服務(wù)器端的HTML元素,服務(wù)器端處理表單傳過來的數(shù)據(jù),從而進(jìn)行一些動作。在這里主要介紹一些常用的表單元素,,3.1.2 form表單,使用form表單是網(wǎng)站與用戶交互的主要手段。form標(biāo)簽是成對出現(xiàn)的,以開始,以結(jié)束。在form標(biāo)簽里有兩個必須的屬性:action和method。其中action是form表單所填數(shù)據(jù)將被傳送到的地方,如一個JSP頁面。method表示form表
3、單的數(shù)據(jù)在傳送過程中的方法,有g(shù)et和post兩種方式。使用get時所填的信息都將在頁面的地址欄內(nèi)顯示而且傳輸?shù)臄?shù)據(jù)量比較少,安全性也比較低,所以很多時候使用post。,3.1.3 實(shí)現(xiàn)用戶信息填寫界面,本小節(jié)主要是通過一個例子來進(jìn)一步熟悉HTML,為后面的學(xué)習(xí)打下良好的基礎(chǔ)。實(shí)現(xiàn)用戶信息填寫最簡單也是最貼近生活的應(yīng)該是注冊了,相信讀者都有過網(wǎng)上注冊的經(jīng)歷,通過下面的實(shí)踐就可以實(shí)現(xiàn)和網(wǎng)站上一樣的注冊了。這里用到了上面介紹過的表單元素,有單行文本框、密碼框、單選框、復(fù)選框、下拉列表、多行文本域還有提交和重置按鈕。相信很多讀者完全可以自己實(shí)現(xiàn)。,3.2 JSP處理請求數(shù)據(jù),從上一節(jié)的例子可以看出,
4、當(dāng)用戶提交注冊信息時請求的是check.jsp頁面。本節(jié)將介紹JSP頁面是怎樣得到那些數(shù)據(jù)信息的,并如何做出響應(yīng)。 在JSP中提供9種內(nèi)建對象,有時稱作Implicit Object(隱式對象),它們是Web容器加載的一組類,不用像一般的Java對象那樣用“new”去獲取實(shí)例,而是可以直接在JSP頁面上使用。隱式對象的名稱是JSP中的保留字,在JSP使用Java中定義的隱式對象來訪問網(wǎng)頁的動態(tài)內(nèi)容,,3.2.1 request對象處理用戶請求信息,request對象實(shí)現(xiàn)的是javax.servlet.http.HttpServletRequest接口,表示客戶端對網(wǎng)頁的請求,并使用HTTP協(xié)議
5、處理客戶端的請求。request對象的常用方法有String getParameter(String name),根據(jù)頁面表單組件名稱獲取請求頁面提交數(shù)據(jù),返回值為String類型,參數(shù)與請求頁面標(biāo)簽內(nèi)的“name”值相對應(yīng)。 例如,String name=(String)request.getParameter(username),表示把“username”(請求頁面的值)賦給“name”(本頁面中的值)。String getParameterValues(String name),用來獲取頁面請求中一個表單組件對應(yīng)多個值時的用戶請求數(shù)據(jù),返回值為String類型的數(shù)組,同樣,參數(shù)與請求頁面
6、標(biāo)簽內(nèi)的“name”值相對應(yīng),注意,這個“name”在請求頁面要對應(yīng)多個值,如String channels=request.getParameterValues(channel)。除了這兩個之外,request對象還有一些方法,,3.2.2 response對象處理用戶請求響應(yīng),response對象實(shí)現(xiàn)的同樣是javax.servlet.http.HttpServletRequest接口,用于處理JSP生成的響應(yīng)并將響應(yīng)發(fā)送給客戶端,同樣的也是通過HTTP將響應(yīng)發(fā)送給客戶端。response對象的常用方法有void setContentType(String name),設(shè)置作為響應(yīng)生成內(nèi)容
7、的類型和字符編碼,無返回值,“name”為類型和字符編碼,如response.setContentType(text/html;charset=GBK),其中“charset”是字符編碼;void sendRedirect(String name),發(fā)送一個響應(yīng)給瀏覽器,指示其應(yīng)請求另一個URL,無返回值,“name”為要請求的URL,如response.sendRedirect(response2.jsp)。response的其他方法如表,3.2.3 過濾器處理中文問題,在Java的開發(fā)中,中文問題的處理一直以來都困擾著開發(fā)人員。在JSP的開發(fā)中也會遇到相同的問題,即頁面間傳輸漢字將出現(xiàn)亂碼
8、。產(chǎn)生中文亂碼的原因有很多種,所以解決中文亂碼問題的方案也有很多。產(chǎn)生亂碼最主要的原因就是字符在傳輸過程中使用的字符集不同。 Java語言默認(rèn)的編碼方式是UNICODE,而中國漢字使用的通常是GB2312或BIG5等編碼方式。由于兩種編碼方式的沖突,就會導(dǎo)致中文在傳輸或顯示的時候出現(xiàn)亂碼。從Java源代碼到得到正確的結(jié)果,要經(jīng)過“Java源代碼Java字節(jié)碼虛擬機(jī)操作系統(tǒng)顯示設(shè)備”的過程。而在每一個過程中都必須正確處理漢字的編碼,才能最終得到正確的顯示結(jié)果。,3.3 存儲用戶信息到數(shù)據(jù)庫,數(shù)據(jù)庫作為商業(yè)軟件的靈魂和大腦??梢哉f不管軟件的大小、用途都要用它來進(jìn)行數(shù)據(jù)的存儲。常用的數(shù)據(jù)庫模型有4種
9、,如表所示。 常用的4種數(shù)據(jù)庫模型 名 稱說 明層次型(Hierarchical)最早出現(xiàn)的數(shù)據(jù)庫模型,采用層次模型作為數(shù)據(jù)的組織方式,優(yōu)點(diǎn)是自然、直觀、容易理解網(wǎng)狀型(Network)網(wǎng)狀數(shù)據(jù)庫采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式關(guān)系型(Relational)關(guān)系型數(shù)據(jù)庫是目前最常用的,采用關(guān)系模型作為數(shù)據(jù)的組織方式面向?qū)ο笮?Object Oriented)面向?qū)ο髷?shù)據(jù)庫是數(shù)據(jù)庫技術(shù)也面向?qū)ο蟪绦蛟O(shè)計(jì)方法相結(jié)合的產(chǎn)物,支持面向?qū)ο髷?shù)據(jù)模型,3.3.1 創(chuàng)建JDBC連接,JDBC是一種為常用數(shù)據(jù)庫提供無縫連接的技術(shù),是一種用于執(zhí)行SQL的Java API,它由一組用Java語言編寫的類和接口組成。
10、JDBC為工具/數(shù)據(jù)庫開發(fā)提供了一個標(biāo)準(zhǔn)的API,使它們能用Java API來編寫數(shù)據(jù)庫應(yīng)用程序。 JDBC在Web和Inernet應(yīng)用程序中的作用與ODBC在Windows系列平臺應(yīng)用程序中的作用類似。ODBC(Open DataBase Connectivity)稱為開放式數(shù)據(jù)庫互連技術(shù),是由Microsoft公司倡導(dǎo)并得到業(yè)界普遍響應(yīng)的一種數(shù)據(jù)庫連接技術(shù)。JDBC是由Sun公司制定的,JDBC不是ODBC規(guī)則派生的,JDBC完全用Java編寫,而ODBC是C語言接口。但是JDBC和ODBC都是基于X/OPENSQL的命令層接口(CLI),相同的概念性基礎(chǔ)使API工作進(jìn)展更快,使API的接
11、受更加容易。Sun公司提供了將JDBC變?yōu)镺DBC的JDBC-ODBC橋,這個用本地方法完成的版本雖然小但很有效。,3.3.2 插入數(shù)據(jù)信息,在用JDBC成功地與數(shù)據(jù)庫連接好后,就可以將用戶提交的數(shù)據(jù)信息插入到數(shù)據(jù)庫中了。因?yàn)橐c數(shù)據(jù)庫進(jìn)行交互,所以要使用SQL語句。JDBC的數(shù)據(jù)庫語句有3種類型, JDBC的3種數(shù)據(jù)庫語句 類 型 名 稱說 明Statement嵌入一般的SQL語句,包括插入、刪除、更新、查詢等PreparedStatement稱為準(zhǔn)備語句,它是將SQL語句中的某些參數(shù)暫不指定,而等到執(zhí)行時再統(tǒng)一指定CallableStatement用于執(zhí)行數(shù)據(jù)庫的存儲過程,3.4 完整的用戶注冊的實(shí)現(xiàn),經(jīng)過前三節(jié)的學(xué)習(xí),相信大家已經(jīng)對用戶注冊過程有了一定的了解,這一節(jié)主要就是通過一個完整的實(shí)例來進(jìn)一步地掌握與鞏固前面所學(xué)的知識。 首先運(yùn)行程序進(jìn)到注冊頁面,輸入完信息后提交,如果注冊成
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動公司退費(fèi)管理辦法
- 舟山企業(yè)能耗管理辦法
- 土壤檢測資質(zhì)管理辦法
- 肩周炎的中醫(yī)治療
- 肥胖慢病課件
- 廣東24年一模數(shù)學(xué)試卷
- 瘋狂李老師課堂數(shù)學(xué)試卷
- 巔峰訓(xùn)練初一數(shù)學(xué)試卷
- 東林中學(xué)數(shù)學(xué)試卷
- 廣東到福建中考數(shù)學(xué)試卷
- 山東省德州市禹城市2023-2024學(xué)年五年級下學(xué)期道德與法治期末檢測試題
- 2024年湖北普通高中學(xué)業(yè)水平選擇性考試地理真題解析(參考版)(解析版)
- 2023年湖北省高級人民法院及直屬法院招聘雇員制審判輔助人員考試真題
- 神經(jīng)內(nèi)科??谱o(hù)士進(jìn)修匯報
- 危險化學(xué)品應(yīng)急處置卡
- 金屬材料生物相容性研究
- 幕墻工程施工的重點(diǎn)難點(diǎn)分析及針對措施
- 新版人教版七年級全冊英語單詞表(含音標(biāo))可打印
- 人教版六年級數(shù)學(xué)下冊全冊分層作業(yè)設(shè)計(jì)含答案
- 自動駕駛卡車的應(yīng)用與發(fā)展詳述
- 備考2024四川省安全員之C2證(土建安全員)通關(guān)提分題庫(考點(diǎn)梳理)
評論
0/150
提交評論