JSP課程設(shè)計(jì)-基于JSP網(wǎng)絡(luò)通訊錄設(shè)計(jì)文檔_第1頁
JSP課程設(shè)計(jì)-基于JSP網(wǎng)絡(luò)通訊錄設(shè)計(jì)文檔_第2頁
JSP課程設(shè)計(jì)-基于JSP網(wǎng)絡(luò)通訊錄設(shè)計(jì)文檔_第3頁
JSP課程設(shè)計(jì)-基于JSP網(wǎng)絡(luò)通訊錄設(shè)計(jì)文檔_第4頁
JSP課程設(shè)計(jì)-基于JSP網(wǎng)絡(luò)通訊錄設(shè)計(jì)文檔_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)院Jsp技能訓(xùn)練計(jì)劃(2010年至2011學(xué)年度第1學(xué)期)學(xué)院:專業(yè):訓(xùn)練項(xiàng)目:JSP設(shè)計(jì)成員: 目錄JSP實(shí)現(xiàn)網(wǎng)絡(luò)通訊錄 3第1章JavaWeb應(yīng)用背景介紹 31.1什么是Web編程 31.2JSP簡(jiǎn)介 31.3JSP的優(yōu)點(diǎn) 4第二章網(wǎng)絡(luò)通訊錄的實(shí)現(xiàn) 42.1需求分析 42.2數(shù)據(jù)庫實(shí)現(xiàn)過程 42.3在線通訊錄的實(shí)體類設(shè)計(jì) 62.4在線通訊錄的功能 72.5在線通訊錄MVC模式設(shè)計(jì) 72.6各階段具體實(shí)現(xiàn)過程 82.6.1項(xiàng)目文件結(jié)構(gòu)圖 82.6.2用戶登錄的實(shí)現(xiàn) 82.6.3通訊錄名片的插入操作 92.6.4通訊錄名片的查看操作 112.6.5通訊錄名片的刪除操作 112.6.6通訊錄名片的分類查詢操作 12第三章個(gè)人總結(jié) 13個(gè)人總結(jié) 13JSP實(shí)現(xiàn)網(wǎng)絡(luò)通訊錄第1章JavaWeb應(yīng)用背景介紹WWW是目前Internet上的主要服務(wù)類型之一,WWW的基礎(chǔ)是基于HTML的頁面,使用在HTML基礎(chǔ)上的腳本語言進(jìn)行應(yīng)用程序開發(fā),可以創(chuàng)建動(dòng)態(tài)生成內(nèi)容的Web頁面。JSP是一種在服務(wù)器端編譯執(zhí)行的Web設(shè)計(jì)語言,其腳本語言采用Java,并繼承了Java的所有優(yōu)點(diǎn)。1.1什么是Web編程Web編程簡(jiǎn)單地說是基于WWW的Internet上的應(yīng)用程序開發(fā),隨著Internet的普及與傳播,越來越多的人通過WWW走進(jìn)網(wǎng)絡(luò)世界的大門。CGI(CommonGatewayInterface)應(yīng)用程序的第一次引入了動(dòng)態(tài)交互的概念,這些運(yùn)行于服務(wù)器端的腳本程序通常用Perl語言或C語言寫成,需要編譯才能運(yùn)行。隨著Web應(yīng)用程序技術(shù)的發(fā)展,CGI所引入的動(dòng)態(tài)內(nèi)容概念被很多新技術(shù)所實(shí)現(xiàn)和發(fā)展,基于程序運(yùn)行的地點(diǎn)大致可以分為兩大類:一類是隨著HTML頁面下載并運(yùn)行于客戶端的程序腳本,例如ActiveX控件,DHTML,JavaApplet和JavaScript;另一類程序是基于服務(wù)器端的技術(shù),例如ActiveServerPage(ASP),PHP,JavaServerPage(JSP),JavaServlet等。1.2JSP簡(jiǎn)介JSP是JavaServerPage技術(shù)的縮寫,是由Java語言的創(chuàng)造者Sun公司提出、多家公司參與制定的動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。通過在傳統(tǒng)的(*.html,*.htm)中加入Java代碼和JSP標(biāo)記,構(gòu)成后綴為*.jsp的JSP網(wǎng)頁文件。Web服務(wù)器在遇到訪問JSP頁面的請(qǐng)求時(shí),首先執(zhí)行其中的代碼片斷,然后將執(zhí)行的結(jié)果以普通HTML方式返回客戶瀏覽器,JSP頁面中的程序代碼在客戶端是看不到的。這些內(nèi)嵌的Java程序代碼可以完成數(shù)據(jù)庫的操作、文件上傳、網(wǎng)頁重定向、發(fā)送電子郵件的等功能,所有的操作均在服務(wù)器端進(jìn)行,客戶端得到的僅僅是運(yùn)行的結(jié)果,因而對(duì)客戶瀏覽器的要求很低。JSP有JavaServlet技術(shù)為基礎(chǔ),利用可跨平臺(tái)運(yùn)行的JavaBeans組件,可以方便的操作數(shù)據(jù)庫,執(zhí)行各種復(fù)雜的查詢,使邏輯處理和顯示互相分離。1.3JSP的優(yōu)點(diǎn)1.3.1跨平臺(tái)運(yùn)行JSP的最大優(yōu)勢(shì)在于平臺(tái)可移植性,利用Java語言的平臺(tái)無關(guān)性,任何JSP程序只要編譯一次,就可以在任何服務(wù)器平臺(tái)使用。1.3.2執(zhí)行效率高JSP在服務(wù)器端被Java虛擬機(jī)編譯成Servlet執(zhí)行,編譯的過程只在第一次執(zhí)行時(shí)進(jìn)行,以后Servlet對(duì)于每個(gè)客戶端請(qǐng)求都使用內(nèi)存中的同一副本處理,而不像CGI那樣需要為每個(gè)請(qǐng)求創(chuàng)建單獨(dú)的進(jìn)程,而只要在Java虛擬機(jī)中裝載一個(gè)Servlet,因而節(jié)省了大量的服務(wù)器資源,執(zhí)行時(shí)性能優(yōu)化,代碼效率高。1.3.3服務(wù)器端組件支持服務(wù)器端編程語言往往由于缺少?gòu)?qiáng)大的服務(wù)器組件支持而受到限制,JSP使用成熟的JavaBeans技術(shù),可以輕松得到各種服務(wù)器組件的支持。1.3.4數(shù)據(jù)庫支持JSP技術(shù)利用Java語言的數(shù)據(jù)庫操縱能力可以與任何JDBC兼容數(shù)據(jù)庫建立連接,執(zhí)行常用的查詢、添加、更新、刪除操作和復(fù)雜的邏輯代數(shù)。利用Sun公司開發(fā)的JDBC-ODBC橋,JSP還可以訪問現(xiàn)有的ODBC(OpenDataBaseConnection)驅(qū)動(dòng)的數(shù)據(jù)庫系統(tǒng)。目前市場(chǎng)上的主流數(shù)據(jù)庫產(chǎn)品都帶有ODBC支持,所以JSP可以訪問Oracle、MicrosoftSQLServer和MySQL等數(shù)據(jù)庫產(chǎn)品。第二章網(wǎng)絡(luò)通訊錄的實(shí)現(xiàn)2.1需求分析由于紙制或電子形式的通訊錄,攜帶不方便,或容易忘記等方面的缺點(diǎn),所以要開發(fā)一個(gè)網(wǎng)絡(luò)通訊錄,方便用戶提供使用:用戶注冊(cè)、登錄功能登錄后,顯示出與當(dāng)前用戶相關(guān)的聯(lián)系人名單添加新聯(lián)系人刪除聯(lián)系人根據(jù)聯(lián)系人類型查找聯(lián)系人信息 根據(jù)以上要求,開發(fā)一個(gè)網(wǎng)絡(luò)通訊錄。2.2數(shù)據(jù)庫實(shí)現(xiàn)過程創(chuàng)建在線通訊錄數(shù)據(jù)庫、表,數(shù)據(jù)庫名為:addressBook。數(shù)據(jù)表為:USERS、BOOK.實(shí)現(xiàn)代碼如下:Book表Users表USE[addressBook]GO/******Object:Table[dbo].[users]ScriptDate:12/29/201012:30:07******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[users]( [userID][int]IDENTITY(1,1)NOTNULL, [userName][varchar](50)NULL, [password][varchar](50)NULL, [realName][varchar](50)NULL, [sex][varchar](50)NULL,CONSTRAINT[PK_users]PRIMARYKEYCLUSTERED( [userID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******Object:Table[dbo].[book]ScriptDate:12/29/201012:30:07******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[book]( [id][int]IDENTITY(1,1)NOTNULL, [name][varchar](50)NULL, [sex][varchar](50)NULL, [phone][varchar](50)NULL, [address][varchar](50)NULL, [mobilePhone][varchar](50)NULL, [company][varchar](50)NULL, [comPhone][varchar](50)NULL, [comAddress][varchar](50)NULL, [relation][int]NULL, [userID][int]NULL,CONSTRAINT[PK_book]PRIMARYKEYCLUSTERED( [id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO2.3在線通訊錄的實(shí)體類設(shè)計(jì)用戶類:Users.java通訊錄類:Book.java實(shí)體類實(shí)體類數(shù)據(jù)庫表Users.javaBook.javaUSERSBOOK對(duì)應(yīng)關(guān)系系屬性對(duì)應(yīng)字段2.4在線通訊錄的功能用戶登錄驗(yàn)證添加新聯(lián)系人刪除聯(lián)系人信息查找所有聯(lián)系人按照類別查找聯(lián)系人用戶用戶登錄驗(yàn)證查找所有聯(lián)系人添加聯(lián)系人刪除聯(lián)系人分類查找聯(lián)系人查詢聯(lián)系人2.5在線通訊錄MVC模式設(shè)計(jì)模型(Model)——就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。視圖(View)——視圖就是用戶交互的界面。控制器(Controller)——可以理解為從用戶接受請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。2.6各階段具體實(shí)現(xiàn)過程2.6.1項(xiàng)目文件結(jié)構(gòu)圖2.6.2用戶登錄的實(shí)現(xiàn)用戶登錄文件為index.jsp,用來實(shí)現(xiàn)用戶的登錄。用戶輸入用戶名和密碼后,提交"LoginServlet"進(jìn)行驗(yàn)證處理,驗(yàn)證正確之后。實(shí)現(xiàn)登陸。具體代碼如下:StringuserName=request.getParameter("userName"); Stringpassword=request.getParameter("password"); UserBouserBo=newUserBo(); Usersuser=userBo.valiUser(userName,password); if(user==null){ //登陸失敗 PrintWriterout=response.getWriter(); out.println("<script>alert('用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!');history.back();</script>"); out.flush(); out.close(); }else{ //登陸成功 HttpSessionsession=request.getSession(); session.setAttribute("user",user); request.getRequestDispatcher("SelectServlet").forward(request,response); }2.6.3通訊錄名片的插入操作實(shí)現(xiàn)名片的增加操作,涉及到一下頁面:addBook.jsp、AddServlet.java、UsersBo.java。其中,addBook.jsp為用戶所見的界面;AddServlet.java處理數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)的插入,將新增名片內(nèi)容寫入數(shù)據(jù)庫。具體代碼如下:response.setContentType("text/html;charset=GBK"); Bookbook=newBook(); request.setCharacterEncoding("GBK"); book.setName(request.getParameter("name")); book.setSex(request.getParameter("sex")); book.setPhone(request.getParameter("phone")); book.setAddress(request.getParameter("address")); book.setMobilePhone(request.getParameter("mobilePhone")); book.setCompany(request.getParameter("company")); book.setComPhone(request.getParameter("comPhone")); book.setComAddress(request.getParameter("comAddress")); book.setRelation(Integer.parseInt(request.getParameter("relation"))); book.setUserID(((Users)request.getSession().getAttribute("user")).getUserID()); BookBobookBo=newBookBo(); intresult=bookBo.addBook(book); PrintWriterout=response.getWriter(); if(result>0){ //添加成功 out.println("<script>alert('添加成功');location.href='addBook.jsp'</script>"); }else{ //添加失敗 out.println("<script>alert('添加失敗');location.href='addBook.jsp'</script>"); } }2.6.4通訊錄名片的查看操作實(shí)現(xiàn)通訊錄的查看操作涉及到一下頁面:SelectServlet.java、bookContent.jsp。其中,SelectServlet.java實(shí)現(xiàn)在數(shù)據(jù)庫中查找信息,交給bookContent.jsp向用戶展示。具體代碼如下:Stringrelation=request.getParameter("relation"); BookBobookBo=newBookBo(); HttpSessionsession=request.getSession(false); if(session==null||session.getAttribute("user")==null){ response.sendRedirect("index.jsp"); }else{ Listlist=null; Usersuser=(Users)session.getAttribute("user"); if(relation!=null&&!relation.equals("")){ //根據(jù)用戶ID和聯(lián)系人類型查詢列表 list=bookBo.selectAllBook(user.getUserID(),Integer.parseInt(relation)); request.setAttribute("list",list); }else{ list=bookBo.selectAllBook(user.getUserID()); request.setAttribute("list",list); } request.getRequestDispatcher("bookContent.jsp").forward(request,response); } }2.6.5通訊錄名片的刪除操作實(shí)現(xiàn)通訊錄名片的刪除操作,涉及到一下頁面:DeleteServlet.java,它的作用是當(dāng)用戶觸發(fā)“刪除”按鈕后,在數(shù)據(jù)庫中將該條數(shù)據(jù)刪除。具體代碼如下:Stringid=request.getParameter("id"); BookBobookBo=newBookBo(); if(id==null||id.equals("")){ request.getRequestDispatcher("SelectServlet").forward(request,response); }else{ intresult=bookBo.deleteBook(Integer.parseInt(id)); PrintWriterout=response.getWriter(); if(result>0){ //刪除成功 out.println("<script>alert(刪除成功!');location.href='SelectServlet'</script>"); }else{ //刪除失敗 out.println("<script>alert(刪除失敗!');location.href='SelectServlet'</script>"); } out.flush(); out.close(); }2.6.6通訊錄名片的分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論