正文

都市供求信息網(22)

JSP項目開發(fā)案例全程實錄(第2版) 作者:明日科技


若用戶沒有登錄,則進入登錄頁面,在該頁面中輸入用戶名和密碼后提交表單進行登錄,請求將被提交到LogInOutAction類中的Login()方法進行身份驗證。Login()方法的代碼如下:

例程50 代碼位置:光盤\TM\01\src\com\yxq\action\LogInOutAction.java

/* 功能:查詢數據表,驗證是否存在該用戶 */

public String Login(){

String sql="select * from tb_user where user_name=? and user_password=?";

Object[] params={user.getUserName(),user.getUserPassword()}; //獲取輸入的用戶名和密碼,并保存

OpDB myOp=new OpDB();

if(myOp.LogOn(sql, params)){ //存在該用戶,登錄成功

session.put("loginUser",user); //保存當前用戶到session中

return LOGIN; //進入后臺

}

else{ //用戶名或密碼錯誤

addFieldError("loginE",getText("city.login.wrong.input")); //保存提示信息

return INPUT; //返回登錄頁面

}

}

請求被提交給Login()方法之前,需要進行表單驗證,所以可實現(xiàn)validateLogin()方法來驗證表單,其實現(xiàn)代碼比較簡單,這里不再給出,具體代碼可查看本書附帶光盤。

5.配置cityinfo.xml文件

之所以能在觸發(fā)“進入后臺”超鏈接和提交登錄表單后,請求LogInOutAction類相應的方法進行處理,是因為在cityinfo.xml文件中指定了它們之間的關系。配置代碼如下:

例程51 代碼位置:光盤\TM\01\WEB-INF\classes\cityinfo.xml

<!-- 管理員登錄/退出 -->

<action name="log_*" class="com.yxq.action.LogInOutAction" method="{1}">

<result name="input">/pages/admin/Login.jsp</result>

<result name="login">/pages/admin/view/AdminTemp.jsp</result>

<result name="logout" type="redirectAction">goindex</result>

</action>

1.10 后臺頁面設計

1.10.1 后臺頁面概述

本系統(tǒng)中的所有后臺頁面都采用同一個頁面框架,該頁面框架采用二分欄結構,分為4個區(qū)即頁頭、側欄、頁尾和內容顯示區(qū),該頁面框架的總體結構與前臺頁面框架的結構相同。網站后臺首頁的運行效果如圖1.51所示。

1.10.2 后臺頁面的技術分析

本系統(tǒng)中,實現(xiàn)后臺頁面框架的JSP文件為AdminTemp.jsp,該頁面的布局如圖1.52所示。

本系統(tǒng)中,對后臺管理員所有請求的響應都通過該框架頁面進行顯示。在AdminTemp.jsp文件中主要采用include動作和include指令來包含各區(qū)域所對應的JSP文件。其實現(xiàn)技術與前臺頁面的實現(xiàn)技術是相同的,讀者可查看1.6.2節(jié)介紹的前臺頁面實現(xiàn)技術分析。

1.10.3 后臺頁面的實現(xiàn)過程

根據以上的頁面概述及技術分析,需要分別創(chuàng)建實現(xiàn)各區(qū)域的JSP文件,如實現(xiàn)頁頭的top.jsp、實現(xiàn)內容顯示區(qū)的main.jsp、實現(xiàn)側欄的right.jsp、實現(xiàn)頁尾的end.jsp等。下面主要介紹框架頁面AdminTemp.jsp和main.jsp頁面的實現(xiàn)。

在AdminTemp.jsp頁面中應用include指令和動作標識來包含各區(qū)域對應的JSP文件。代碼如下:

例程52 代碼位置:光盤\TM\01\pages\admin\view\AdminTemp.jsp

<table>

<tr><td colspan="2"><%@ include file="top.jsp"%></td></tr> <!-- 包含頁頭文件 -->

<tr><td colspan="2"></td></tr>

<tr>

<td><jsp:include page="main.jsp"/></td> <!-- 包含main.jsp文件 -->

<td><jsp:include page="right.jsp"/></td> <!-- 包含側欄文件 -->

</tr>

<tr><td colspan="2"></td></tr>

<tr><td colspan="2"><%@ include file="end.jsp" %></td></tr> <!-- 包含頁尾文件 -->

</table>

在main.jsp文件中實現(xiàn)了內容顯示區(qū)中的背景圖片,并在該頁面中加載要顯示在內容顯示區(qū)中的JSP文件。代碼如下:

例程53 代碼位置:光盤\TM\01\pages\admin\view\main.jsp

<%

String mainPage=(String)request.getAttribute("mainPage");

if(mainPage==null||mainPage.equals(""))

mainPage="default.jsp";

%>

<table>

<tr><td><img src="images/default_t.jpg"></td></tr>

<tr><td background="images/default_m.jpg" valign="top"><jsp:include page="<%=mainPage%>"/></td></tr>

<tr><td><img src="images/default_e.jpg"></td></tr>

</table>


上一章目錄下一章

Copyright ? 讀書網 www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號