0人贊同了該回答
? 1. 模塊命名、數(shù)據(jù)庫表命名、域模型命名、各分層的類/方法命名、頁面的命名;
模塊命名:
a. 包命名:com.project_name.module_name.action/service/dao/ws;
service的實現(xiàn)都置于com.project_name.module_name.service.impl下;
b. 接口命名遵守XxxxService,接口實現(xiàn)遵守XxxxServiceImpl;
2. 包的設(shè)計、頁面的層次結(jié)構(gòu)設(shè)計(jsp/css/js等文件的結(jié)構(gòu));
3. log、異常(聲明式異常)的約定設(shè)計;
4. 鏈接、按鈕、表單提交的統(tǒng)一方式;通用式Ajax調(diào)用與頁面跳轉(zhuǎn)統(tǒng)一模型;
5. 響應(yīng)一個請求的分層結(jié)構(gòu)約定,列舉幾個示例(常規(guī)調(diào)用、Ajax調(diào)用、WebService調(diào)用、提供WebService暴露、硬件設(shè)備接口調(diào)用);
6. 驗證代碼質(zhì)量的約定,如JUnit、EMMA、FindBugs、CheckStyle、PMD的使用;Hudson持續(xù)集成需注意的;
7. 壓力測試、防內(nèi)存泄漏測試;
基礎(chǔ)CSS:標簽的各種狀態(tài)的樣式;表格單雙行的樣式;
開發(fā)一個Action請求的響應(yīng):
前置條件:該Action涉及的Entity及EntityName.hbm.xml已經(jīng)準備好。
步驟:
a. 前端頁面觸發(fā)Action的請求;
統(tǒng)一采用全路徑請求,URL格式:
1> basePath/web/moduleName/*_ *.action {1} ? EntityName,{2} ? ActionMethodName
2> basePath/web/moduleName/gotoXxx.action (無需調(diào)用Service,直接跳轉(zhuǎn))
包括jQuery的Ajax方式和非Ajax方式;
包括表單提交;
參數(shù)設(shè)值的方式:
1> URL參數(shù):
basePath/web/moduleName/*_*.action?entity.propertyName=paramValue¶mName=paramValue
2> 或
另外,對于表單的提交,前后臺都必須做數(shù)據(jù)校驗,SWDF已提供了此能力,進行簡單的配置即可,前臺直接提供類似以下代碼即可,點此查看前端校驗詳細規(guī)則說明。
前端校驗示例;
后臺數(shù)據(jù)校驗,點此查看校驗詳細說明.
b. 配置struts-moduleName.xml;
直接跳轉(zhuǎn)示例;
調(diào)用Service示例;
c. 開發(fā)對應(yīng)的{EntityName}Action類;
該類必須繼承com.hikvision.swdf.xx.BaseAction,該Action類有一個關(guān)鍵屬性entity,即泛型Entity類的一個實體,該屬性默認填充好了請求提交過來的entity對應(yīng)參數(shù)(即entity.propertyName);
d. 開發(fā)Service接口和Service接口實現(xiàn),并在Action中通過set方法注入該Service;
接口文件:UserService
接口實現(xiàn):UserServiceImpl
注入Service
e. 開發(fā)DAO,DAO繼承com.hikvision.xxx.HibernateBaseDAO;
示例
f. 配置applicationContext-*.xml;
配置DAO bean、Service Bean、Action Bean及注入的配置;
g. 測試;
備注:
1. Action建議統(tǒng)一遵守通配符的約定,basePath/web/moduleName/*_ *.action {1} ? EntityName,{2} ? ActionMethodName
2. 統(tǒng)一命名規(guī)則:接口類似UserService,接口實現(xiàn)類型UserServiceImpl;(IUserService和UserServiceImpl)
開發(fā)一個Action調(diào)用關(guān)聯(lián)應(yīng)用提供的WebService
前置條件:該WebService?WSDL可正常獲取
步驟:
a. 配置applicationContext-wsclient.xml;
Spring管理第三方WebService實例bean
Jaxws-client配置代碼
b. 生成第三方WebService接口文件;(提供系統(tǒng)自動生成)
自動生成代碼
c. 頁面調(diào)用Action請求,Action中注入WebService實例bean;
Action對應(yīng)方法直接調(diào)用第三方WebService的相關(guān)方法;
d. 測試;
備注:
1. 步驟b,接口文件必須同包名同類名置于src目錄下;
開發(fā)一個Action調(diào)用關(guān)聯(lián)應(yīng)用開放的HTTP請求
步驟:
1. 頁面調(diào)用Action請求;
2. Action類相應(yīng)方法使用封裝好的HttpClient相關(guān)工具類,準備好HTTP請求的相關(guān)參數(shù)header參數(shù)和body參數(shù)并以xml的方式提交HTTP請求;
3. 解析該HTTP請求返回值(XML或JSON);
4. 響應(yīng)結(jié)果;
5. 測試;
備注:
開發(fā)一個需要對第三方應(yīng)用發(fā)布的WebService
步驟:
a. 開發(fā)WebService接口,@WebService進行注解該接口;
b. 開發(fā)WebService接口實現(xiàn)類,@WebService注解該實現(xiàn)類,并制定endpointInterface;
c. 配置applicationContext-ws.xml
d. 測試
備注:
開發(fā)一個需要對第三方應(yīng)用發(fā)布的RESTful Service
步驟:
a. 開發(fā)RS接口,提供如下Annotation;
b. 開發(fā)RS接口實現(xiàn),并提供如下Annotation;
c. 配置applicationContext-rs.xml
備注:
所有Annotation的涵義解釋如下:
發(fā)布于2023-06-15