freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[精品]基于ssh的中小企業(yè)在線(xiàn)資產(chǎn)管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)-資料下載頁(yè)

2024-11-16 17:15本頁(yè)面
  

【正文】 方法對(duì)用戶(hù)登錄請(qǐng)求進(jìn)行驗(yàn)證。 UserForm 對(duì)象為用戶(hù) ActionForm 對(duì)象, Struts 自動(dòng)將JSP頁(yè)面表單信息封裝在此對(duì)象中,所以可以直接獲取 ActionForm對(duì)象中的屬性信息。LoginAction類(lèi)通過(guò) UserForm中的用戶(hù)名及密碼屬性,調(diào)用 UserDao對(duì)象中的 login()方法對(duì)用戶(hù)信息進(jìn)行查詢(xún),當(dāng)數(shù)據(jù)庫(kù)中存在與之匹配的數(shù)據(jù),則登錄成功,否則失敗。 其關(guān)鍵代碼如下: public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { UserForm uf = (UserForm) form。 String userName = ()。 String password = ()。 User user = null。 if (userName != null amp。amp。 password != null) { UserDao userDao = new UserDao()。 user = (userName, password)。 } if (user != null) { ().setAttribute(user, user)。 return (manage)。 } else { (error, error)。 return (loginFail)。 } } } 登錄頁(yè)面如圖 : 圖 登錄頁(yè)面 基本信息 管理模塊 資產(chǎn)基本信息管理包括資產(chǎn)信息管理和資產(chǎn)類(lèi)別管理,資產(chǎn)信息即 企業(yè)資產(chǎn)的名稱(chēng)、數(shù)量、價(jià)格等基本 屬性,資產(chǎn)類(lèi)別管理將企業(yè)內(nèi)所有的資產(chǎn)進(jìn)行分類(lèi),方便管理。 資產(chǎn) 類(lèi)別管理 CategoryDao類(lèi)是資產(chǎn)類(lèi)別的數(shù)據(jù)庫(kù)操作類(lèi),提供了對(duì)資產(chǎn)類(lèi)別的數(shù)據(jù)庫(kù)操作方法。其中 loadCategory()方法用于查詢(xún)指定 id的資產(chǎn)類(lèi)別信息,其關(guān)鍵代碼如下: public Category loadCategory(int id){ Category c = null。 try{ session = ()。 ()。 c = (Category)(, new Integer(id))。 ().mit()。 }catch(Exception e){ …… } return c。 } 在添加資產(chǎn)信息時(shí),需要添加與之對(duì)應(yīng)的類(lèi)別信息,所以還需要提供一個(gè)查詢(xún)所有資產(chǎn)類(lèi)別信息的方法 fingAllCategory(),其關(guān)鍵代碼如下: public List findAllCategory(){ List list = null。 try{ session = ()。 ()。 list = (from Category c) .list()。 ().mit()。 }catch(Exception e){ …… } return list。 } 為方便資產(chǎn)類(lèi)別數(shù)據(jù)的統(tǒng)計(jì),對(duì)資產(chǎn)類(lèi)別中資產(chǎn)的數(shù)量進(jìn)行統(tǒng)計(jì)的操作被定義在fingCategoryAndCount()方法中,由 HQL語(yǔ)句的內(nèi)連接查詢(xún)進(jìn)行實(shí)現(xiàn),其關(guān)鍵代碼如下: public List findCategoryAndCount(){ List list = null。 try{ session = ()。 ()。 String hql = select ,count(*) from Medicine m join c group by c。 list = (hql).list()。 ().mit()。 }catch(Exception e){ …… } return list。 } 將資產(chǎn)類(lèi)別的相關(guān)請(qǐng)求封裝在 CategoryAction類(lèi)中,此類(lèi)繼承了 BaseAction對(duì)象,所以在對(duì) 類(lèi)別信息進(jìn)行處理時(shí),不必考慮用戶(hù)是否登錄的安全問(wèn)題。此類(lèi)中處理添加類(lèi)別信息請(qǐng)求的方法為 add(),由于 CategoryAction類(lèi)是一個(gè) DispatchAction對(duì)象,所以當(dāng)請(qǐng)求的參數(shù)為 add 時(shí),將由此方法進(jìn)行處理。此方法調(diào)用了 CategoryDao 對(duì)象的saveOrUpdate()方法,所以資產(chǎn)類(lèi)別信息的添加與修改操作均可以通過(guò)此方法實(shí)現(xiàn);當(dāng)傳遞的 CategoryForm對(duì)象含有 id值時(shí),則進(jìn)行修改操作。 其關(guān)鍵代碼如下: public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { CategoryForm cf = (CategoryForm)form。 Category c = new Category()。 (())。 (())。 (new Date())。 if(() != 0){ (())。 } CategoryDao dao = new CategoryDao()。 (c)。 return (paging)。 } 類(lèi)別添加頁(yè)面 如圖 : 圖 類(lèi)別添加頁(yè)面 在 CategoryAction類(lèi)中,資產(chǎn)類(lèi)別信息的分頁(yè)查詢(xún)方法為 paging(),由于此類(lèi)繼承于BaseAction類(lèi),所以調(diào)用其父類(lèi)中的 getPage()方法可以實(shí)現(xiàn),它將返回結(jié)果集與分頁(yè)條對(duì)象。此方法中, currPage 屬性為請(qǐng)求的頁(yè)碼; Action對(duì)象為 JSP 頁(yè)面所請(qǐng)求的 action地址; hql 為查詢(xún)語(yǔ)句,由于它不含有占位符參數(shù),所以 getPage()方法的條件參數(shù)設(shè)置 為 null。 其關(guān)鍵代碼如下: public ActionForward paging(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String currPage = (currPage)。 String action = ()+/baseData/?mand=paging。 String hql = from Category。 Map map = (hql, recPerPage, currPage, action,null)。 (list, (list))。 (pagingBar, (bar))。 return (findAllSuccess)。 } 處理修改類(lèi)別信息請(qǐng)求的方法為 edit(),此方法通過(guò)類(lèi)別 id加載資產(chǎn)類(lèi)別對(duì)象,將類(lèi)別信息保存到 CategoryForm 對(duì)象中,最后轉(zhuǎn)發(fā)到編輯頁(yè)面。其中的 BeanUtils 類(lèi) [17]是一個(gè)工具類(lèi),其 copyProperties 方法用于加工兩個(gè)具有相同屬性的類(lèi)快速賦值, 此處使用本方法完成了 persistence 到 view 的轉(zhuǎn)換 。 此方法在加載類(lèi)別信息后,會(huì)將頁(yè)面轉(zhuǎn)到類(lèi)別添加頁(yè)面,因?yàn)轭?lèi)別添加請(qǐng)求處理的方法調(diào)用 了 Hibernate的 saveOrUpdate()方法,所以會(huì)對(duì)其進(jìn)行自動(dòng)更新。 關(guān)鍵代碼如下: public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { CategoryForm cf = (CategoryForm)form。 if(() 0){ CategoryDao dao = new CategoryDao()。 Category c = (())。 (cf, c)。 } return (edit)。 } 處理刪除類(lèi)別請(qǐng)求的方法為 delete(),可根據(jù)指定的資產(chǎn)類(lèi)別 id刪除資產(chǎn)類(lèi)別對(duì)象,關(guān)鍵代碼如下: public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { CategoryForm cf = (CategoryForm)form。 if(() 0){ CategoryDao dao = new CategoryDao()。 Category c = (())。 (c)。 } return (paging)。 } 資產(chǎn) 信息管理 MedicineDao 類(lèi)是資產(chǎn)對(duì)象的數(shù)據(jù)庫(kù)操作類(lèi)繼承了 SupperDao 類(lèi),此類(lèi)主要包含 3個(gè)方法,分別為 loadMedcine()、 loadMedcineAndCategory()、 findMedicineByMedNo()。其中 loadMedcine()、 findMedicineByMedNo()方法用于根據(jù)資產(chǎn) id 及資產(chǎn)編碼 查詢(xún)資產(chǎn)信息; loadMedcineAndCategory() 方法用于查詢(xún)資產(chǎn)信息與資產(chǎn)類(lèi)別信息。loadMedcineAndCategory()方法使用內(nèi)連接對(duì)資產(chǎn)信息表與資產(chǎn)類(lèi)別表進(jìn)行聯(lián)合查詢(xún),可以減少 SQL語(yǔ)句的數(shù)量。 資產(chǎn)實(shí)體與資產(chǎn)類(lèi)別實(shí)體存在多對(duì)一的關(guān)聯(lián)關(guān)系,當(dāng)同時(shí)查看資產(chǎn)信息與資產(chǎn)類(lèi)別信息時(shí), Hibernate 將發(fā)出兩條 SQL語(yǔ)句,分別為查詢(xún)資產(chǎn)信息的 SQL語(yǔ)句與查詢(xún)資產(chǎn)類(lèi)別的 SQL語(yǔ)句,所以采用內(nèi)連接將資產(chǎn)信息與資產(chǎn)類(lèi)別信息一次加載出來(lái),減少 SQl語(yǔ)句,提高了數(shù)據(jù)庫(kù)的性能。 其關(guān)鍵代碼如下: public Medicine loadMedicineAndCategory(int id) { Medicine med = null。 try { session = ()。 ()。 String hql = select a from Medicine a join fetch b where = + id。 med = (Medicine) (hql) .uniqueResult()。 ().mit()。 } catch (Exception e) { ()。 ().rollback()。 } return med。 } 資產(chǎn)編碼是資產(chǎn)對(duì)象的一個(gè)標(biāo)識(shí),當(dāng)添加一個(gè)資產(chǎn)信息時(shí),需要判斷此資產(chǎn)是否已經(jīng)在數(shù)據(jù)庫(kù)中,如果存在則只需 要更新資產(chǎn)的數(shù)量即可,其添加流程如圖 : 不存在 存在 圖 資產(chǎn)添加流程 資產(chǎn)管理的 Action類(lèi)為 MedicineAction,它繼承于 BaseAction,是一個(gè) DispatchAction對(duì)象。此類(lèi)的 findMedicineByMedNo()方法用于根據(jù)資產(chǎn)編碼查詢(xún)資產(chǎn)信息是否存在,當(dāng)所添加的資產(chǎn)編碼存在時(shí),將跳轉(zhuǎn)到資產(chǎn)更新頁(yè)面,否則跳轉(zhuǎn)到資產(chǎn)添加頁(yè)面。 資產(chǎn)添加的請(qǐng)求處理代碼如下: public ActionForward findMedicineByMedNo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MedicineForm df = (MedicineForm) form。 Medicine med = null。 if (df != null amp。amp。 () != null) { MedicineDao dao = new MedicineDao()。 med = (())。 } if (med != null) { (df, med)。 (med, med
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1