Java Web應(yīng)用開(kāi)發(fā)技術(shù)課件 5-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶登錄功能-任務(wù)實(shí)施_第1頁(yè)
Java Web應(yīng)用開(kāi)發(fā)技術(shù)課件 5-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶登錄功能-任務(wù)實(shí)施_第2頁(yè)
Java Web應(yīng)用開(kāi)發(fā)技術(shù)課件 5-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶登錄功能-任務(wù)實(shí)施_第3頁(yè)
Java Web應(yīng)用開(kāi)發(fā)技術(shù)課件 5-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶登錄功能-任務(wù)實(shí)施_第4頁(yè)
Java Web應(yīng)用開(kāi)發(fā)技術(shù)課件 5-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶登錄功能-任務(wù)實(shí)施_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

任務(wù)5.2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶登錄功能任務(wù)實(shí)施主講:

新聞發(fā)布系統(tǒng)—Servlet技術(shù)實(shí)現(xiàn)任務(wù)實(shí)施01Servlet實(shí)現(xiàn)用戶登錄前面已實(shí)現(xiàn)新聞發(fā)布系統(tǒng)用戶注冊(cè)功能,用戶注冊(cè)成功后可以進(jìn)行登錄,登錄成功后管理員用戶可以進(jìn)入后臺(tái)系統(tǒng)對(duì)新聞?lì)悇e、新聞等進(jìn)行相關(guān)管理。如果用戶未登錄則不能進(jìn)入系統(tǒng)后臺(tái)進(jìn)行相關(guān)管理工作。新聞發(fā)布系統(tǒng)后臺(tái)首頁(yè)需要在用戶登錄時(shí)對(duì)用戶的登錄狀態(tài)進(jìn)行跟蹤記錄,防止未登錄的用戶直接進(jìn)入系統(tǒng)后臺(tái)。本任務(wù)使用Servlet技術(shù)實(shí)現(xiàn)用戶登錄功能。Servlet實(shí)現(xiàn)用戶登錄瀏覽器后臺(tái)首界面是用戶是否登錄進(jìn)入登錄界面否用戶名或密碼是否正確是重新登錄用戶信息存入Session對(duì)象獲取用戶登錄信息否DoLogin-負(fù)責(zé)業(yè)務(wù)處理login.jspUserDaoUserbottom_index.jsp任務(wù)實(shí)施1.打開(kāi)新聞發(fā)布系統(tǒng)Web項(xiàng)目打開(kāi)IntelliJIDEA,打開(kāi)在5.1任務(wù)中創(chuàng)建的news_servlet項(xiàng)目任務(wù)實(shí)施2.設(shè)計(jì)并實(shí)現(xiàn)用戶登錄頁(yè)面在manager目錄下實(shí)現(xiàn)用戶登錄頁(yè)面login.jsp,如圖所示。單擊“登錄”按鈕時(shí),提交數(shù)據(jù)至后臺(tái)名稱(chēng)為DoLogin的Servlet,完成登錄。任務(wù)實(shí)施3.在UserDao接口中添加登錄驗(yàn)證方法,并在接口實(shí)現(xiàn)類(lèi)中實(shí)現(xiàn)登錄驗(yàn)證方法示例代碼如下。publicclassUserDaoImplextendsBaseDaoimplementsUserDao{ publicUserlogin(Stringuname,Stringupassword){Useruser=null;Stringsql="selectu_idfromnrc_userwhereu_username=?andu_userpwd=?";try{super.getConnection();pstm=con.prepareStatement(sql);pstm.setString(1,uname);pstm.setString(2,upassword);rs=pstm.executeQuery();

if(rs.next()){user=newUser(uname,upassword);user.setU_id(rs.getInt(1));}}catch(Exceptione){e.printStackTrace();}finally{super.closeAll();}returnuser;}任務(wù)實(shí)施4.創(chuàng)建名為DoLogin的Servlet類(lèi),用于實(shí)現(xiàn)登錄邏輯處理在servlet包下創(chuàng)建名為DoLogin的Servlet類(lèi),該類(lèi)用來(lái)獲取login.jsp頁(yè)面提交的表單數(shù)據(jù)信息,連接數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證。如果用戶名、密碼不正確,則將頁(yè)面請(qǐng)求轉(zhuǎn)發(fā)回登錄頁(yè)面login.jsp;如果用戶名、密碼正確,則將用戶信息存入Session對(duì)象中,并將頁(yè)面重定向至后臺(tái)首頁(yè)(bottom_index.jsp)。示例代碼如下。任務(wù)實(shí)施@WebServlet("/manager/DoLogin")publicclassDoLoginextendsHttpServlet{@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//獲取用戶提交的用戶名、密碼request.setCharacterEncoding("UTF-8");Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");//驗(yàn)證用戶名、密碼在數(shù)據(jù)庫(kù)中是否存在UserDaoImpluserDao=newUserDaoImpl();Useruser=userDao.login(username,password);任務(wù)實(shí)施//如果存在,把用戶信息存入Session對(duì)象中,重定向至bottom_index.jspif(user!=null){//把用戶信息存入Session對(duì)象中HttpSessionsession=request.getSession();session.setAttribute("login_user",user);//重定向至bottom_index.jspresponse.sendRedirect(request.getContextPath()+"/manager/bottom_index.jsp");

}else{//如果不存在,請(qǐng)求轉(zhuǎn)發(fā)回登錄頁(yè)面request.getRequestDispatcher("/manager/login.jsp").forward(request,response);}}@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}}任務(wù)實(shí)施5.后臺(tái)管理首頁(yè)通過(guò)Session對(duì)象實(shí)現(xiàn)訪問(wèn)控制

在login.jsp同級(jí)目錄下創(chuàng)建后臺(tái)管理首頁(yè)bottom_index.jsp。

用戶登錄后才可訪問(wèn)bottom_index.jsp頁(yè)面,在該頁(yè)面中通過(guò)Session獲取用戶登錄時(shí)的信息,如果session.getAttribute("login_user",user)能獲取到信息,說(shuō)明用戶已登錄,可以訪問(wèn)該頁(yè)面;否則說(shuō)明用戶尚未登錄,需要重定向至登錄頁(yè)面(login.jsp)。bottom_index.jsp頁(yè)面中驗(yàn)證用戶登錄信息示例代碼如下。任務(wù)實(shí)施<bodyclass="layui-layout-body"><%Useruser=(User)session.getAttribute("login_user");if(user==null){//說(shuō)明用戶尚未登錄response.sendRedirect(request.getContextPath()+"/manager/login.jsp");}%><divclass="layui-layoutlayui-layout-admin"><divclass="layui-header"><divclass="layui-logo">新聞發(fā)布系統(tǒng)后臺(tái)管理頁(yè)面</div></div>...</div></body>任務(wù)實(shí)施6.測(cè)試新聞發(fā)布系統(tǒng)后臺(tái)登錄功能新聞發(fā)布系統(tǒng)登錄功能編程實(shí)現(xiàn)后需要進(jìn)行測(cè)試。(1)啟動(dòng)Tomcat服務(wù)器,訪問(wèn)bottom_index.jsp頁(yè)面。在瀏覽器地址欄輸入訪問(wèn)路徑http://localhost:8080/news_servlet_war_exploded/manager/bottom_index.jsp后按Enter鍵,會(huì)看到自動(dòng)跳轉(zhuǎn)至http://localhost:8080/news_servlet_war_exploded/manager/login.jsp。(2)在登錄頁(yè)面中輸入未注冊(cè)的用戶名和密碼,提交后地址欄中的內(nèi)容變?yōu)閔ttp://localhost:8080/news_servlet_war_exploded/manager/DoLogin,而頁(yè)面依然是登錄頁(yè)面,這是因?yàn)镈oLogin這個(gè)Servlet類(lèi)在用戶名和密碼不正確的情況下,將請(qǐng)求轉(zhuǎn)發(fā)回了登錄頁(yè)面。(3)在登錄頁(yè)面中輸入正確的用戶名和密碼,跳轉(zhuǎn)至bottom_index.jsp頁(yè)面。在當(dāng)前瀏覽器不關(guān)閉的情況下新打開(kāi)一個(gè)選項(xiàng)卡直接訪問(wèn)bottom_index.jsp頁(yè)

溫馨提示

  • 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)論