日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

1 項(xiàng)目介紹

1.1 項(xiàng)目背景

國稅協(xié)同辦公平臺(tái)包括了行政管理、后勤服務(wù)、在線學(xué)習(xí)、納稅服務(wù)、我的空間等幾個(gè)子系統(tǒng);我們本次主要的開發(fā)功能是納稅服務(wù)子系統(tǒng)的部分模塊和基于納稅服務(wù)子系統(tǒng)信息的個(gè)人工作臺(tái)首頁。納稅服務(wù)子系統(tǒng)是辦稅PC前端或移動(dòng)端的后臺(tái)管理系統(tǒng),主要包括的功能有系統(tǒng)角色管理、用戶管理、信息發(fā)布管理、投訴受理、納稅咨詢、易告知、服務(wù)預(yù)約、服務(wù)調(diào)查等模塊。

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

————————————————————————————

此處上接實(shí)戰(zhàn)第二天課程內(nèi)容

4 抽取BaseAction

在action中繼承了ActionSupport和其它一些公共屬性,如selectedRow等;可能以后還會(huì)產(chǎn)生更多公共的內(nèi)容,所以應(yīng)該把這些共有的抽取出來,放入到一個(gè)基本action中,我們命名為BaseAction,讓它去繼承ActionSupport和其它公共屬性,其它的action只要繼承它就可以了。

5 系統(tǒng)異常處理

當(dāng)在頁面中發(fā)送了請求,請求被系統(tǒng)處理時(shí)出現(xiàn)錯(cuò)誤時(shí),如果沒有特別處理在請求過程中出現(xiàn)的異常信息時(shí),那么返回給用戶的則是后臺(tái)的異常信息頁面;為避免直接將這報(bào)錯(cuò)的頁面呈現(xiàn)給用戶,可對這報(bào)錯(cuò)進(jìn)行處理。

5.1 分層異常

在本系統(tǒng)中的后臺(tái)處理有分3個(gè)層,分別是action、service和dao層,每個(gè)層次都有可能出現(xiàn)相應(yīng)錯(cuò)誤。① Action層可能出現(xiàn)解析請求參數(shù)、返回結(jié)果有問題;② Service 層則可能出現(xiàn)請求中要做的業(yè)務(wù)操作出現(xiàn)問題;出現(xiàn)了問題要根據(jù)實(shí)際情況判斷是否會(huì)影響本次操作結(jié)果,action中要根據(jù)異常信息進(jìn)行判斷然后確定是否操作成功;③ dao層也可能出現(xiàn)在操作數(shù)據(jù)庫時(shí)出現(xiàn)錯(cuò)誤;而此種錯(cuò)誤一般都是致命的會(huì)影響操作結(jié)果。以此;在3個(gè)層次中至少要有兩種類型的異常信息來標(biāo)識(shí)。

制定總的系統(tǒng)異常類:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

Action層異常類:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

Service層異常類:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

5.2 異常處理

5.2.1 全局異常映射

在struts總配置文件(struts.xml)中配置一個(gè)包括 全局異常映射和全局結(jié)果的package,然后讓其它所有的業(yè)務(wù)模塊的struts配置文件(*-struts.xml)繼承后便可處理由后臺(tái)拋出的特定異常并處理。

在總配置文件struts.xml中:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

在子業(yè)務(wù)模塊中的*-sturts.xml中繼承總配置文件中的package:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

在具體的后臺(tái)處理代碼中拋出系統(tǒng)異常:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

如果在action中只拋出了ActionException,那么非此異常出現(xiàn)時(shí),如果在全局異常映射中配置了java.lang.Exception 異常類的映射,同樣可以捕獲。

5.2.2 制定返回類型(StrutsResultSupport)

在有特殊情況時(shí);如果沒有異常信息,但是有錯(cuò)誤并且有錯(cuò)誤信息等內(nèi)容;此時(shí)也需要進(jìn)行友好的錯(cuò)誤處理的話,那么可以借助StrutsResultSupport 返回結(jié)果類型來實(shí)現(xiàn)特定處理。此種方式先需要繼承StrutsResultSupport ,然后可以在子類中獲取本次請求的相關(guān)信息,再根據(jù)相關(guān)信息進(jìn)行結(jié)果處理:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

在struts.xml總配置文件中定義全局處理類型和全局處理結(jié)果:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

6 角色管理

6.1 角色與權(quán)限說明

6.1.1 角色與權(quán)限的關(guān)系

系統(tǒng)中可以存在多個(gè)角色,每個(gè)角色可以自由的組合系統(tǒng)定義的權(quán)限集合。即角色和權(quán)限的關(guān)系是多對多的關(guān)系。為了保存這種多對多關(guān)系,需要一個(gè)角色權(quán)限表來保存。角色與角色權(quán)限的關(guān)系是一對多的關(guān)系;而權(quán)限與角色權(quán)限的關(guān)系也為一對多關(guān)系。

6.1.2 定義系統(tǒng)權(quán)限集

將系統(tǒng)中需要使用到的權(quán)限先定義出來:粗粒度的分為各個(gè)子系統(tǒng)的訪問權(quán)限;這些權(quán)限可以定義在常量文件中。

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

6.2 角色管理CRUD

6.2.1 實(shí)體類及映射文件

1 Role/Role.hbml.xml

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

2 RolePrivilege/RolePrivilegeId,RolePrivilege.hbm.xml

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

6.2.2 dao、service層主要操作方法

dao中主要方法:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

service中主要方法:

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

6.2.3 action中主要方法

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

十一天SSH項(xiàng)目快速實(shí)戰(zhàn)課程(第3天)

6.2.4 配置文件

配置role-spring.xml及role-struts.xml,并將role-struts.xml加入到struts.xml總配置文件中。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁
返回頂部
东源县| 鹿邑县| 玛沁县| 苍溪县| 玉环县| 岐山县| 洮南市| 宾川县| 正镶白旗| 元江| 平昌县| 全椒县| 乌海市| 广元市| 象山县| 牙克石市| 安陆市| 秀山| 随州市| 葵青区| 邛崃市| 大英县| 德阳市| 新乡县| 金门县| 信宜市| 柳州市| 将乐县| 施甸县| 堆龙德庆县| 洛宁县| 江华| 伽师县| 从江县| 宁国市| 和平区| 黎平县| 浠水县| 广宗县| 漳浦县| 寿宁县|