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

正文內(nèi)容

基于ssh的電子商務公共服務平臺的設計與實現(xiàn)系統(tǒng)架構及企業(yè)網(wǎng)站子系統(tǒng)-在線瀏覽

2024-08-07 18:50本頁面
  

【正文】 展性很少的小軟件,特別是對于開發(fā)時間要求比較緊的情況下,采用MVC模式,其實不是一種明智的選擇。三層體系將數(shù)據(jù)表現(xiàn)、業(yè)務邏輯和數(shù)據(jù)訪問分開??蛻舳瞬恢苯优c數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫打交道。Struts也可用到表現(xiàn)層,其實就是用它的標簽,Struts強大的標簽庫為我們表現(xiàn)數(shù)據(jù)提供了一個很好的平臺,通過Struts標簽,我們能很好地表現(xiàn)處理后的數(shù)據(jù)。控制層主要是對整個系統(tǒng)訪問流程的控制,而業(yè)務邏輯層主要是對業(yè)務的控制。業(yè)務邏輯層主要由Service來控制,它主要封裝的是業(yè)務邏輯,負責對更底層的DAO層進行封裝。DAO層封裝好了對數(shù)據(jù)庫的增、刪、改、查的操作,而PO層主要是對實體對象的映射。而且Hibernate還提供了很多關連和檢出方式,這就極大的提高了程序運行的效率。將Web層、Service層、DAO層及PO無縫整合。采用IOC(控制反轉),很好地提高了對象的生成,提高了系統(tǒng)的內(nèi)存利用率。AOP提供的是一種全新的編程模式,切面編程。它能夠分離關注點,且能夠?qū)M切關注點嵌入到面向?qū)ο蟮能浖到y(tǒng)中,很好地解決了像權限控制,日志登記,操作記錄等的問題。它由三個部分組成,核心控制器FilterDispatcher、業(yè)務控制器和用戶實現(xiàn)的業(yè)務邏輯組件。如果用戶請求以action結尾,該請求將被轉入Struts 2框架處理。 ! struts2配置 filter filternamestruts2/filtername filterclass /filterclass /filter filtermapping filternamestruts2/filtername urlpattern*.action/urlpattern /filtermapping filtermapping filternamestruts2/filtername urlpattern*.jsp/urlpattern /filtermapping攔截器也是本系統(tǒng)中使用的一個Struts2重要組件功能,該組件功能提供一個事件攔截的方法,讓你可以對某些動作進行攔截。 public String intercept(ActionInvocation ai) throws Exception { Map session=().getSession()。 }else{ ActionContext ac=()。 return 。本系統(tǒng)數(shù)據(jù)庫封裝是采用外設形式。采用此種做法的優(yōu)點在于可以靈活配置數(shù)據(jù)庫和對不同數(shù)據(jù)進行切換,考慮到以后有可能升級數(shù)據(jù)庫,采用此種做法是很好的。本系統(tǒng)對Spring作了一個小小的調(diào)整就是所有執(zhí)行操作都放到Spring統(tǒng)一管理。 bean id=enterpriseManagerDao class= property name=sessionFactory ref=sessionFactory/property /bean bean id=enterpriseManagerService class= property name=vipc ref=enterpriseManagerDao/property /bean bean id=enterpriseManagerAction class= autowire=byName scope=prototype property name=vs ref=enterpriseManagerService/property /beanSSH框架功能強大毋庸置疑,但它也不是萬金油,并不是所有的開發(fā)都要用這個框架。相對于model1和model2模式,SSH是一個笨重的框架,在開發(fā)上它的效率是比不上model1和model2的,SSH框架采用的層次比較多,在執(zhí)行效率上也不及model1和model2。受制于HQL語言的限制,Hibernate對于一些復雜的檢出是比較麻煩的,在這一方面,它遠沒有jdbc來得方便。 插件式設計分析應用程序框架插件接口配置文件插件2插件3插件n插件1圖 23 插件式設計分析插件式設計比起許多設計模式更簡單,更靈活,更容易理解和操作。各種基于插件設計的架構都有自己的特色,但從總體架構上看,其模型都大同小異。通過插件接口,系統(tǒng)框架可以非常靈活地使用外部插件,這也非常符合24種設計模式中的接口分離原則。 應用程序框架它只負責整個程序流程的調(diào)控,并且可以在程序中嵌入插件接口,但不并不了解插件的實際執(zhí)行情況,只負責接口的接入。 插件接口外部插件的入口,它是一個協(xié)議,與程序框架的關聯(lián)點,外部插件就是通過此入口來接入程序框架,它只負責兩者的整合。 具體插件具體插件,負責實際的功能操作與具體實現(xiàn),通過配置文件的配置被調(diào)用。本系統(tǒng)中采用的插件有FCKEditor、Displaytag、Struts2標簽庫、JQuery。FCKEditor對于文章編輯,圖片編輯非常方便,它里面已經(jīng)集成好了很多編輯的功能方法,對字體、段落的格式提供了豐富的選擇,還可以添加表情等,功能極其豐富。 tr tdamp。/td td align=center width=80% FCK:editor instanceName=description value= height=185pt /FCK:editor /td /trDisplaytag插件對于后臺分頁非常方便,它提供了分頁、打印、導出、排序等功能,對于管理類數(shù)據(jù)的管理非常方便。 tr bgcolor=EEEEEE id=displayTableDiv display:table class=displayTableShow name=productsList requestURI= id=product pagesize=10 style=width:100%。?id=${}39。確定要刪除嗎?39。?id=${}amp。 value=刪除 / /display:column /display:table /tr 設計模式引入模式其實就是前人總結的一些經(jīng)驗,如果遵循某些規(guī)則會讓開發(fā)者少走很多彎路。設計模式不僅是一種技術,更是一種藝術,采用設計模式來開發(fā)軟件,會有很多意想不到的效果。圖 24 設計模式引入數(shù)據(jù)庫連接級別圖接口public interface IDBConnection { public int getRowCount(String strSql) throws SQLException。 public int insert(String sql) throws SQLException。 public int delete(String sql) throws SQLException。 try{ stmt = (PreparedStatement) getStmtread(select count(*) from +strSql)。 if(()){ intCount = (1)。 } }catch(Exception e){ intCount = 1。 ()。 } return intCount。 單例模式本系統(tǒng)數(shù)據(jù)連接采用了單例模式。public class DBFactory { private static IDBConnection dbconnection。//(生成數(shù)據(jù)庫操作實例!)。 }} 享元模式享元模式可以避免大量非常相似類的開銷。如果能發(fā)現(xiàn)這些實例除了幾個參數(shù)外基本上都是相同的,有時就能夠受大幅度地減少需要實例化的類的數(shù)量。在本系統(tǒng)中我們需要生成大量的企業(yè)網(wǎng)站,但這些企業(yè)網(wǎng)站的功能框架是都一樣的,只是具體的參數(shù)不一樣,這就非常符合享元模式了。圖25 設計模式引入享元模式圖可以生成無數(shù)個企業(yè)網(wǎng)站只需調(diào)用以上幾個共用的享元頁面就可以了。 前臺分頁方法改進目前java世界里分頁方法有很多,針對不同的用途分頁也不同,所采用的分頁原理也不一樣。有些分頁方法則是根據(jù)當前頁的首ID和尾ID號來確定上一頁和下一頁的內(nèi)容,每次點擊上一頁或下一頁都去數(shù)據(jù)庫把相應的數(shù)據(jù)查詢出來,這種做法是提高了查詢的速度,但是每次查詢都要訪問數(shù)據(jù)庫,增加了數(shù)據(jù)庫服務器的負擔,運行效率不高。采用此種分頁方法既減少于數(shù)據(jù)庫的訪問,又提高了數(shù)據(jù)查詢速度,可謂是一舉兩得。 * **/ panyInfo = ().getSession().getAttribute(panyInfo)==null?null: (CompanyInfoBean)().getSession().getAttribute(panyInfo)。 try { panyInfo = (1)。//(初次訪問!)。 } } } 數(shù)據(jù)庫設計?!簭秃详P鍵字符號;6. ‘CPK’:復合關鍵字縮寫;7. ‘UNIQUE’:唯一索引;各數(shù)據(jù)表描述表21 數(shù)據(jù)庫表描述數(shù)據(jù)表描述相關區(qū)域VIP_client企業(yè)客戶信息表AdministratorCOMPANY_CATEGORY公司類型表AdministratorCOMPANY_CULTURE企業(yè)文化表AdministratorCOMPANY_HONOR公司榮譽表AdministratorPRODUCT_CATEGORY產(chǎn)品類別表AdministratorPRODUCT產(chǎn)品表AdministratorCOMPANY_PUCTURE公司相冊表AdministratorORDER_ONE訂單一表VisitorORDER_TWO訂單二表VisitorENTERPRISE_MANAGER管理員表AdministratorLEAVE_MESSAGES留言表Visitor2 數(shù)據(jù)庫字典表22 企業(yè)文化表描述列名數(shù)據(jù)類型長度主鍵否允許空默認值約束功能描述IDINT是否自增 *編號CLIENT _IDINT否FK(VIPCLIENT ID)企業(yè)ID號CONTENTTEXT內(nèi)容表23 公司榮譽表描述列名數(shù)據(jù)類型長度主鍵否允許空默認值約束功能描述IDINT是否自增 *編號CLIENT_IDINT否FK(VIPCLIENT ID)企業(yè)ID號CONTENTTEXT內(nèi)容表24 產(chǎn)品類別表描述列名數(shù)據(jù)類型長度主鍵否允許空默認值約束功能描述IDINT是否自增 *編號CLIENT_IDINT否FK(VIPCLIENT ID)企業(yè)IDCATEGORYVARCHAR50否類別表25 產(chǎn)品表描述列名數(shù)據(jù)類型長度主鍵否允許空默認值約束功能描述IDINT是否自增 *編號CLIENT_IDINT否FK(VIPCLIENT ID)企業(yè)IDCATEGORY_IDINT否FK(PRODUCT_CATAGOORY ID)產(chǎn)品類別COMPANY_CATEGORY_IDINT否FK (COMPANY_CATEGORY ID)公司類型NAMEVARCHAR50否產(chǎn)品名稱TYPEVARCHAR50否適用類型PRICEDOUBLE否單價MIN_BUYINT否最低批發(fā)量DESCRIPTIONVARCHAR1000說明PICTURE_PATHVARCHAR500否圖片路徑MORE_PICTUREVARCHAR1000更多圖片STATEVARCHAR1否00=‘不展示’,1=‘展示’是否在平臺首頁展示表26 公司相冊表描述列名數(shù)據(jù)類型長度主鍵否允許空默認值約束功能描述IDINT是否自增 *編號CLIENT_IDINT否FK(VIPCLIENT ID)企業(yè)IDPATHVARCHAR500否相片路徑DESCRIP
點擊復制文檔內(nèi)容
職業(yè)教育相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1