Java Web應(yīng)用開發(fā)項目教程-第十章后臺用戶管理模塊_第1頁
Java Web應(yīng)用開發(fā)項目教程-第十章后臺用戶管理模塊_第2頁
Java Web應(yīng)用開發(fā)項目教程-第十章后臺用戶管理模塊_第3頁
Java Web應(yīng)用開發(fā)項目教程-第十章后臺用戶管理模塊_第4頁
Java Web應(yīng)用開發(fā)項目教程-第十章后臺用戶管理模塊_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章后臺用戶管理模塊本章要點:后臺管理總體規(guī)劃管理員登錄、查詢、添加與刪除功能模塊設(shè)計與實現(xiàn)管理員密碼修改功能模塊設(shè)計與實現(xiàn)會員查詢功能模塊設(shè)計與實現(xiàn)會員刪除功能模塊設(shè)計與實現(xiàn)Struts2的攔截器Action接口和ActionSupport類Struts2異常處理Struts2標(biāo)簽庫第10章后臺用戶管理模塊功能分析:E-Store后臺主要由用戶管理、商品信息管理、商城信息管理三大模塊用戶管理:管理員和會員第10章后臺用戶管理模塊用戶權(quán)限分析:會員普通管理員超級管理員第10章后臺用戶管理模塊本章功能模塊:管理員登錄管理員增、刪、改、查會員查詢、刪除10.1

E-Store后臺總體規(guī)劃總體規(guī)劃:相關(guān)文件的位置描述如下:

(1)JSP存放在WebRoot/pages/admin。

(2)實體類存放在com.estore.struts.entity。

(3)Action類存放在com.estore.struts.action。

(4)數(shù)據(jù)操作類存放在com.estore.struts.dao。10.2管理員登錄設(shè)計與實現(xiàn)功能說明:與E-Store電子商城的前臺不同,前臺的未登錄用戶可以瀏覽和查詢商品,后臺管理員只有登錄后才能進(jìn)行所有相關(guān)操作,后臺登錄頁面:10.2管理員登錄設(shè)計與實現(xiàn)普通管理員登錄界面超級管理員登錄界面10.2管理員登錄設(shè)計與實現(xiàn)流程分析與設(shè)計:設(shè)計數(shù)據(jù)庫字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint(4)NoYesID(自動編號)accountvarchar(50)Yes管理員名稱passwordvarchar(50)Yes登錄密碼real_namevarchar(50)Yes真實姓名signbit(1)No類型標(biāo)識10.2管理員登錄設(shè)計與實現(xiàn)流程分析與設(shè)計:設(shè)計數(shù)據(jù)庫3)在數(shù)據(jù)庫中創(chuàng)建表數(shù)據(jù)庫中創(chuàng)建tb_manager 數(shù)據(jù)表如圖所示:10.2管理員登錄設(shè)計與實現(xiàn)功能流程圖:10.2管理員登錄設(shè)計與實現(xiàn)開發(fā)流程:

(1)創(chuàng)建userLogin.jsp,提供用戶登錄的信息,訪問form表單里指定的action,并將用戶名和密碼封裝在manager對象中。

(2)根據(jù)struts.xml文件中的配置調(diào)用clsss類即ManagerAction.java類中method方法login()。

(3)login()方法中,以用戶名和密碼為參數(shù)調(diào)用ManagerDao類的selectOne()方法,查詢數(shù)據(jù)庫表。10.2管理員登錄設(shè)計與實現(xiàn)開發(fā)流程:(4)查詢結(jié)果為空,對result進(jìn)行賦值”用戶不存在”,查詢結(jié)構(gòu)不為空對result不操作,將result參數(shù)傳到landResult.jsp頁面。

(5)驗證result是否為空。若不為空,則登錄失敗,頁面提示重新登錄,系統(tǒng)頁面返回到登錄頁面。

(6)result為空字符串,則登錄成功,頁面跳轉(zhuǎn)至前臺商品展示頁面,同時將用戶信息保存在會話中,以供該管理員本次在網(wǎng)站訪問時使用。10.2管理員登錄設(shè)計與實現(xiàn)前提:為工程引入Struts支持:在Package

Explorer選中當(dāng)前工程,選擇菜單Myeclipse→ProjectCapabilities→Add

Struts

Capabilities如圖,這樣Struts類庫就被導(dǎo)入到當(dāng)前Web應(yīng)用中,本例中使用的Struts版本為Struts2.1。10.2管理員登錄設(shè)計與實現(xiàn)(1)創(chuàng)建后臺登錄頁面userLogin.jspuserLogin.jsp與前臺登錄頁面很相似,都需要包括一個FORM提交表單,但是Struts中的表單不是提交給某個JSP,而是提交給所謂的控制器來驗證。<form

name="form"

method="post"action="<%=path%>/manager/login

"onSubmit="return

checkEmpty()">

可以看到提交的對象是managerAction,為了驗證用戶輸入時是否合法,還需要使用JavaScript腳本進(jìn)行驗證。上一章已經(jīng)詳細(xì)述及,本頁面創(chuàng)建略過。10.2管理員登錄設(shè)計與實現(xiàn)■(2)準(zhǔn)備struts.xml文件中的配置,準(zhǔn)備clsss類即ManagerAction.java類中method方法login()。Struts.xml在ManagerAction.java類中添加login方法10.2管理員登錄設(shè)計與實現(xiàn)■(3)login()方法中,以用戶名和密碼為參數(shù)調(diào)用ManagerDao類的selectOne()方法,查詢數(shù)據(jù)庫表。分成兩步來完成創(chuàng)建ManagerDao類和ManagerEntity類在Dao中添加的selectOne()方法,完成查詢邏輯10.2管理員登錄設(shè)計與實現(xiàn)DAO類ManagerDAO.java:ManagerDAO.java封裝了與管理員有關(guān)的數(shù)據(jù)庫操作。驗證后臺管理員登錄時需要使用方法selectOne()獲得管理員對象。public

ManagerEntity

selectOne(String

account) 該方法以管理員名稱為參數(shù)查詢數(shù)據(jù)庫獲得管理員對象ManagerEntity。在登錄驗證中,如查詢到該管理員則表示該管理員已經(jīng)存在,再對密碼做下一步驗證。10.2管理員登錄設(shè)計與實現(xiàn)創(chuàng)建組件類ManagerEntityjava1)在工程下創(chuàng)建包com.mycompany.struts.entity2)參照創(chuàng)建普通類的方法,在上述按右鍵,選擇new→Class,打開類

創(chuàng)建頁面,如圖所示,創(chuàng)建類ManagerEntity.java,并為其增加屬性account,id,real_name,password,sign,并使用工具自動

生成get/set方法。10.2管理員登錄設(shè)計與實現(xiàn)創(chuàng)建組件類ManagerEntityjava類中定義的屬性分別與數(shù)據(jù)庫中的字段一一對應(yīng)。其中

ID為標(biāo)識,sign為管理員屬性標(biāo)識,1標(biāo)識超級管理員,0標(biāo)識普通管理員,默認(rèn)情況下定義sign為0。10.2管理員登錄設(shè)計與實現(xiàn)■(2)準(zhǔn)備struts.xml文件中的配置,準(zhǔn)備clsss類即ManagerAction.java類中method方法login()。Struts.xml在ManagerAction.java類中添加login方法10.2管理員登錄設(shè)計與實現(xiàn)■(4)查詢結(jié)果為空,對result進(jìn)行賦值”用戶不存在”,查詢結(jié)構(gòu)不為空對result不操作,將result參數(shù)傳到landResult.jsp頁面。10.2管理員登錄設(shè)計與實現(xiàn)■(5)驗證result是否為空。若不為空,則登錄失敗,頁面提示重新登錄,系統(tǒng)頁面返回到登錄頁面。(6)result為空字符串,則登錄成功,頁面跳轉(zhuǎn)至前臺商品展示頁面,同時將用戶信息保存在會話中,以供該管理員本次在網(wǎng)站訪問時使用10.2管理員登錄設(shè)計與實現(xiàn)配置文件修改1)web.xml<filter><filter-name>struts2</filter-name><filter-class>

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter>對該Servlet的訪問路徑為<servlet-mapping><servlet-name>struts2</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping>類似*.action的訪問都將被ActionServlet處理,稱ActionServlet為中央控制器的原因。10.2管理員登錄設(shè)計與實現(xiàn)配置文件修改

2)struts.xmlStruts應(yīng)用struts.xml用來配置和連接Struts應(yīng)用中各個組件。10.2管理員登錄設(shè)計與實現(xiàn)■后臺主頁面main.jsp的設(shè)計可以參照前臺同名頁面來實現(xiàn)。后臺main.jsp中將包含三個JSP文件,分別為: top.jsp,left.jsp,statusBarNavigation.jsp這幾個JSP文件中包含的都是靜態(tài)頁面,完成方法完全類同于前臺。10.2管理員登錄設(shè)計與實現(xiàn)管理員查詢功能功能說明管理員分普通管理員和超級管理員,只有超級管理員才有管理管理員的權(quán)限,登錄后在left.jsp中有“后臺管理員”鏈接單擊該鏈接將出現(xiàn)管理員查詢結(jié)果頁面。10.3管理員查詢設(shè)計與實現(xiàn)■功能實現(xiàn)流程設(shè)計

(1)在main.jsp頁面(包含left.jsp)中單擊超級鏈接“臺管理員”。(2)修改配置文件struts.xml,增加selectManager配置項。(3)為ManageAction中增加處理方法selectManager。

(4)為ManagerDao增加selectManager方法,該方法查詢所有的管理員信息并將結(jié)果保存在managerList對象中。(5)創(chuàng)建managerSelect.jsp頁面。流程圖10.3管理員查詢設(shè)計與實現(xiàn)10.3管理員查詢設(shè)計與實現(xiàn)■編程詳解●修改ManagerDao.java為ManagerDao增加方法selectManager,該方法查詢所有的管理員信息,返回管理員列表。核心實現(xiàn)代碼如下:10.3管理員查詢設(shè)計與實現(xiàn)■編程詳解●修改ManagerAction.java10.3管理員查詢設(shè)計與實現(xiàn)■編程詳解●修改ManagerAction.javaselectManager()方法將查詢的管理員信息保存在

managerList列表對象中,并將此managerList對象作為

request對象的一個屬性。為了實現(xiàn)“分頁”功能還需要保存另外3個屬性,number表示當(dāng)前是第幾頁,初始化為第

“0”頁,maxPage為計算總頁數(shù),pageNumber為總記錄

數(shù),規(guī)定每頁顯示“6”條記錄。將number,pageNumber,maxPage保存在request的相應(yīng)屬性中。10.3管理員查詢設(shè)計與實現(xiàn)■編程詳解●創(chuàng)建managerSelect.jsp在managerSelect.jsp中分頁顯示管理員信息,首先利用request對象獲得傳遞的數(shù)據(jù)隨后對信息分頁,分頁方法同前臺main.jsp10.3管理員查詢設(shè)計與實現(xiàn)■編程詳解●修改配置文件struts.xml10.3管理員查詢設(shè)計與實現(xiàn)■Struts2的攔截器

1.Struts2攔截器是在訪問某個Action或Action的某個方法,字段之前或之后實施攔截,并且Struts2攔截器是可插拔的,攔截器是AOP的一種實現(xiàn)。

2.攔截器棧:Struts2攔截器棧就是將攔截器按一定的順序聯(lián)結(jié)成一條鏈。在訪問被攔截的方法或字段時,

Struts2攔截器鏈中的攔截器就會按其之前定義的順序被調(diào)用。10.3管理員查詢設(shè)計與實現(xiàn)■Struts2的攔截器原理

當(dāng)請求action時,Struts會查找配置文件,并根據(jù)其配置實例化相對的攔截器對象,然后形成一個列表,最后一個一個地調(diào)用列表中的攔截器10.3管理員查詢設(shè)計與實現(xiàn)■攔截器接口(Interceptor)

(1)destroy()方法:執(zhí)行完成之后釋放init()方法里面打開的資源。

(2)init()方法:由攔截器在執(zhí)行之前調(diào)用,用于初始化系統(tǒng)資源。

(3)interceptor方法:該方法是攔截器的核心方法,實現(xiàn)具體的攔截操作,返回一個字符串作為邏輯視圖。10.3管理員查詢設(shè)計與實現(xiàn)■抽象攔截器(AbstractInterceptor)AbstractInterceptor是Struts2提供的攔截器接口對應(yīng)的抽象類,該類對init()方法和destroy()方法提供了空實現(xiàn),這樣在開發(fā)自定義攔截器時只需實現(xiàn)interceptor

抽象方法即可。10.4管理員添加設(shè)計與實現(xiàn)管理員添加功能說明

超級管理員可以為系統(tǒng)添加新的管理員用戶,添加的管理員為普通管理員。添加管理員時需要注冊“用戶名”、“密碼”、“姓名”等字段,添加管理員頁面如圖10.15所示。

添加成功后跳轉(zhuǎn)至管理員查詢頁面,可以看到查詢頁面已經(jīng)顯示剛添加的管理員信息10.4管理員添加設(shè)計與實現(xiàn)流程分析與設(shè)計功能實現(xiàn)流程設(shè)計

(1)創(chuàng)建managerInsert.jsp,提供Form表單提交添加管理員所需的數(shù)據(jù)。(2)為ManagerAction添加managerInsert方法。

(3)為ManagerDao添加insertManager方法,insertManager方法完成數(shù)據(jù)添加功能。(4)修改配置文件struts.xml10.4管理員添加設(shè)計與實現(xiàn)流程分析與設(shè)計管理員添加功能流程圖10.4管理員添加設(shè)計與實現(xiàn)編程詳解

1、創(chuàng)建視圖

managerInsert.jsp–完成表單驗證方法checkEmpty(form)–當(dāng)用戶提交的數(shù)據(jù)非空時,提交至對應(yīng)的Action,供處理10.4管理員添加設(shè)計與實現(xiàn)修改ManagerAction添加方法managerInsert。 –獲得包含用戶提交數(shù)據(jù)的ManagerEntity;–ManagerDAO.selectOne方法,確定上述用戶的存在狀態(tài),從而完成相應(yīng)的邏輯10.4管理員添加設(shè)計與實現(xiàn)修改struts.xml在manager命名空間中,增加insertManager的配置項:10.4管理員添加設(shè)計與實現(xiàn)Action組件Struts框架中的Action組件類作為業(yè)務(wù)調(diào)度控制器而完成實際的業(yè)務(wù)功能請求的控制和管理,并根據(jù)請求的類型而實際調(diào)用特定的業(yè)務(wù)功能組件以完成最終的處理。開發(fā)者在一般的應(yīng)用開發(fā)狀況下,只需要對Struts框架的標(biāo)準(zhǔn)Action組件類進(jìn)行繼承和擴(kuò)展,并重寫其中的execute()方法,然后在

struts.xml配置文件中加以配置定義10.4管理員添加設(shè)計與實現(xiàn)為什么要使用Action使用Action的目的是為了將Web應(yīng)用系統(tǒng)中的表示層和模型層分開?;贛VC系統(tǒng)架構(gòu)模式的設(shè)計思想,需要在表示層和業(yè)務(wù)邏輯層之間增加一個關(guān)聯(lián)的控制層,而在Struts框架的系統(tǒng)架構(gòu)設(shè)計中是通過提供Action組件類來承擔(dān)這樣的職責(zé)。另外Action組件類實現(xiàn)業(yè)務(wù)模塊的調(diào)度,加載對應(yīng)的表示層

JSP頁面以完成對用戶請求的實際處理。10.4管理員添加設(shè)計與實現(xiàn)如何實現(xiàn)自己的業(yè)務(wù)控制器由于Struts框架中從總體應(yīng)用方面是采用繼承的方式實現(xiàn)對應(yīng)用系統(tǒng)的功能擴(kuò)展,因此所有用戶自己的業(yè)務(wù)控制器

Action處理器組件類都必須從Struts框架的API中的

org.apache.struts.action.ActionSupport類進(jìn)行派生,并在子類中重寫基類的execute()方法。Action組件類的核心職責(zé)為:訪問業(yè)務(wù)層組件并為表現(xiàn)層目標(biāo)組件準(zhǔn)備結(jié)果數(shù)據(jù)對象,并通過RequestDispatcher轉(zhuǎn)發(fā)到目標(biāo)頁面進(jìn)行顯示輸出,同時也處理其中出現(xiàn)的各種異常和錯誤10.4管理員添加設(shè)計與實現(xiàn)■Action接口與ActionSupport類

在實際的開發(fā)中,需要對開發(fā)的Action組件進(jìn)行規(guī)范,統(tǒng)一編程接口,在這種情況下可以使用Struts2提供的Action接口,該接口定義了Struts2中Action應(yīng)該遵循的規(guī)范,該接口(Action.java)的定義了5個學(xué)量字符串,作為控制器execute方法的返回值,代碼如下:10.4管理員添加設(shè)計與實現(xiàn)■Action接口的默認(rèn)抽象類ActionSupport上述類提供了包括數(shù)據(jù)驗證、獲取國際化信息等默認(rèn)方法。因此用戶編寫業(yè)務(wù)控制器類繼承了ActionSupport類,將會大大簡化業(yè)務(wù)控制器類的開發(fā)。在struts.xml中配置Action時,如果沒有指定該Action的class屬性,系統(tǒng)將自動使用ActionSupport作為業(yè)務(wù)控制器。10.4管理員添加設(shè)計與實現(xiàn)Action組件類的編程原則Action組件類更多的是承擔(dān)“控制和協(xié)調(diào)”的職責(zé)。因此,不要在Action組件類中寫太多的業(yè)務(wù)功能實現(xiàn)的代碼,而具體的業(yè)務(wù)功能實現(xiàn)則應(yīng)該是通過調(diào)用相應(yīng)的JavaBean組件或者EJB等業(yè)務(wù)功能組件來完成對業(yè)務(wù)功能的處理10.4管理員添加設(shè)計與實現(xiàn)Action組件的一般編程模式獲得業(yè)務(wù)請求參數(shù),進(jìn)行表單數(shù)據(jù)的邏輯檢查執(zhí)行必要的業(yè)務(wù)邏輯的前期處理,比如存取數(shù)據(jù)庫、參數(shù)和環(huán)境的初始化調(diào)用業(yè)務(wù)JavaBean或者EJB

Bean組件等,但不應(yīng)該自己完成具體的業(yè)務(wù)功能實現(xiàn)業(yè)務(wù)處理后的狀態(tài)結(jié)果實現(xiàn)10.5管理員刪除設(shè)計與實現(xiàn)管理員刪除功能說明

超級管理員具有刪除普通管理員的權(quán)限。在管理員信息的查詢頁面中可以通過單擊“刪除”鏈接完成刪除某個管理員操作10.5管理員刪除設(shè)計與實現(xiàn)流程分析與設(shè)計功能實現(xiàn)流程設(shè)計(1)在managerSelect.jsp頁面中增加“刪除”鏈接(2)為ManagerDao添加deleteManager方法,完成數(shù)據(jù)刪除功能。(3)為ManagerAction添加deleteManager方法(4)修改配置文件struts.xml10.5管理員刪除設(shè)計與實現(xiàn)流程分析與設(shè)計管理員刪除功能流程圖10.5管理員刪除設(shè)計與實現(xiàn)編程詳解1、managerSelect.jsp頁面中增加“刪除”鏈接10.5管理員刪除設(shè)計與實現(xiàn)修改ManagerDao2、為ManagerDao添加deleteManager方法,完成數(shù)據(jù)刪除功能。10.5管理員刪除設(shè)計與實現(xiàn)修改ManagerAction3、為ManagerAction添加方法deleteManager10.5管理員刪除設(shè)計與實現(xiàn)修改struts.xml4、在manager命名空間中,增加deleteManager的配置項:10.6管理員密碼修改與實現(xiàn)功能說明

已登錄管理員可以修改自己的密碼,修改密碼之前必須正確輸入舊密碼。密碼修改成功后,返回到登錄頁面,并能使用新密碼登陸。10.6管理員密碼修改與實現(xiàn)流程分析與設(shè)計管理員密碼修改功能流程圖10.6管理員密碼修改與實現(xiàn)編程詳解

(1)創(chuàng)建JSP頁面managerUpdatePassword.jsp,修改密碼時需要輸入原密碼、新密碼、再次輸入新密碼以確認(rèn)。(2)為ManagerAction.java增加方法updatePassword。(3)為ManagerDAO.java增加updateManagerPassword方法,完成密碼修改,密碼修改成功后頁面跳轉(zhuǎn)至后臺登錄頁面userLogin.jsp,要求管理員重新登錄,并在此頁面顯示“密碼修改成功”提示窗口。10.6管理員密碼修改與實現(xiàn)編程詳解

1、創(chuàng)建視圖

managerUpdatePassword.jsp通過session對象獲取在線用戶信息完成數(shù)據(jù)輸入的驗證,以減輕后期控制器復(fù)雜度10.6管理員密碼修改與實現(xiàn)修改ManagerAction2、添加方法updatePassword–只須調(diào)用ManagerDAO.java的updateManagerPassword方法就可以實現(xiàn)密碼修改10.6管理員密碼修改與實現(xiàn)■修改ManagerDao.java類3、添加方法updateManagerPassword–以ManagerEntity為參數(shù),將實現(xiàn)管理員密碼的修改功能10.6管理員密碼修改與實現(xiàn)修改struts.xml在manager命名空間中,增加updateManagerPassword的配置項:10.6管理員密碼修改與實現(xiàn)Struts2標(biāo)簽庫(這一節(jié)待完善或直接刪除)●Struts2標(biāo)簽庫是????Struts2標(biāo)簽庫作用?Struts2標(biāo)簽庫分類?Struts2標(biāo)簽庫的使用?10.6管理員密碼修改與實現(xiàn)Struts

HTML標(biāo)簽 Struts

HTML標(biāo)簽可以和標(biāo)準(zhǔn)的HTML標(biāo)簽完成相同的功能,在Struts應(yīng)用中提倡使用Struts

HTML標(biāo)簽這是因為這些標(biāo)簽可以和Struts框架的其他組件緊密結(jié)合在一起,例如,<html:form>標(biāo)簽用來定義HTML表單,Struts框架能夠把這個表單中的數(shù)據(jù)自動映射到相應(yīng)的ActionForm組件中。Struts

HTML標(biāo)簽大致分為以下幾類:用于生成基本的HTML元素的標(biāo)簽用于生成HTML表單的標(biāo)簽顯示錯誤或正常消息的標(biāo)簽10.6管理員密碼修改與實現(xiàn)用于生成基本的HTML元素的標(biāo)簽 Struts

HTML標(biāo)簽庫中的許多標(biāo)簽的哦和基本的HTML元素對應(yīng),這些標(biāo)簽包括:<html:html>:生成HTML<html>元素<html:base>:生成HTML<base>元素<html:link>:生成HTML

Anchorage<a>元素<html:rewrite>:生成用戶請求的URL<html:img>:生成HTML<img>元素10.6管理員密碼修改與實現(xiàn)用于生成基本的HTML元素的標(biāo)簽

1)<html:html>標(biāo)簽<html:html>標(biāo)簽用于在網(wǎng)頁的開頭生成HTML的<html>元素。10.6管理員密碼修改與實現(xiàn)用于生成基本的HTML元素的標(biāo)簽

2)<html:base>標(biāo)簽<html:base>標(biāo)簽在網(wǎng)頁<head>部分生成HTML<base>元素。HTML<base>元素用于生成當(dāng)前網(wǎng)頁的絕對URL路徑。10.6管理員密碼修改與實現(xiàn)用于生成基本的HTML元素的標(biāo)簽

3)<html:link><html:link>標(biāo)簽用于生成HTML<a>元素。10.6管理員密碼修改與實現(xiàn)用于生成基本的HTML元素的標(biāo)簽4)<html:rewrite>用于輸出超鏈接中的URI部分,但它并不生成HTML<a>元素。URI指的是URL中的協(xié)議、主機(jī)和端口以后的內(nèi)容。URI用于指定具體的請求資源。例如,對于URL:http://localhost:8080/htmltaglibs/HtmlBasic.do10.6管理員密碼修改與實現(xiàn)用于生成基本的HTML元素的標(biāo)簽

5)<html:img>標(biāo)簽<html:img>標(biāo)簽用于在HTML頁中嵌入圖片,此外它還允許包含請求變量,以便動態(tài)控制圖片的輸出。10.6管理員密碼修改與實現(xiàn)基本的表單標(biāo)簽Struts

HTML標(biāo)簽庫提供了一組生成HTML表單的標(biāo)簽<html:form>:生成HTML<form>元素<html:text>:生成HTML<in

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論