久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

java畢業(yè)論文-免費(fèi)(精選5篇)

時(shí)間:2019-05-14 08:33:48下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《java畢業(yè)論文-免費(fèi)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《java畢業(yè)論文-免費(fèi)》。

第一篇:java畢業(yè)論文-免費(fèi)

編號(hào)

武漢軟件工程職業(yè)學(xué)院

免費(fèi)的

畢 業(yè) 論 文

學(xué)生姓名 _______ _ 學(xué)

號(hào) ___________

業(yè) ____ 班

級(jí) ____ 指導(dǎo)教師

200 年 月

1.Java語言的出現(xiàn)

自從1946年世界上第一臺(tái)電子計(jì)算機(jī)問世以來,計(jì)算模式的發(fā)展經(jīng)歷了三個(gè)階段:集中計(jì)算模式、分散計(jì)算模式和網(wǎng)絡(luò)計(jì)算模式。Internet的出現(xiàn),為在網(wǎng)絡(luò)計(jì)算模式下的科學(xué)計(jì)算和信息處理提供了良好平臺(tái)。然而,要充分利用網(wǎng)絡(luò)計(jì)算模式的功能與效益,平臺(tái)的運(yùn)行環(huán)境是個(gè)制約因素,而Java語言和Java技術(shù)則是解決這一問題的最佳途徑。1991年,SUN公司的Jame Gosling,Bill Joe等人試圖為電視、烤箱等家用電器開發(fā)一種交互式的軟件系統(tǒng),這種應(yīng)用需要的是那種小而可靠的系統(tǒng),它能夠移植,并且實(shí)時(shí)性好,適用于網(wǎng)絡(luò)分布環(huán)境。流行的C++是自然的選擇。不過,開發(fā)過程中遇到的許多難以克服的困難使他們意識(shí)到必須徹底解決問題了,最終,開發(fā)成功了一個(gè)名為Oak的軟件,此中蘊(yùn)藏著Java的原型,當(dāng)時(shí),并未引起人們的注意。1994年下半年,隨著Internet的迅猛發(fā)展,環(huán)球信息網(wǎng)www.tmdps.cn、Motorola等公司均是Sun的堅(jiān)強(qiáng)同盟。

在我國,Java的引進(jìn)與開發(fā)起步早,發(fā)展水平基本與世界同步。目前,Sun公司已在中國建成了由5個(gè)授權(quán)中心、20多個(gè)Internet/Intarnet Java解決方案中心和10所Java大學(xué)、若干培訓(xùn)中心組成的三級(jí)結(jié)構(gòu)。全面推動(dòng)Java在中國的普及、應(yīng)用、研究、開發(fā),培養(yǎng)了數(shù)以十萬計(jì)的Java開發(fā)人員。此外,Sun還牽頭成立了中外軟件廠商的開發(fā)聯(lián)盟。

在中國,Java的開發(fā)可以說是“人才濟(jì)濟(jì),成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題組面向全國,自96年開始舉辦了多期Java培訓(xùn)班和講座,開設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊(cè),承擔(dān)了國家“九五”攻關(guān)項(xiàng)目“基于Java技術(shù)的交互式遠(yuǎn)程教學(xué)系統(tǒng)”,并與日本就Java開發(fā)進(jìn)行了國際合作,成績(jī)斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術(shù),并成功地將JVM移植到汽車導(dǎo)航平臺(tái)。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡(luò)打印機(jī)軟件,以及一套Jini信息家電網(wǎng)絡(luò)的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運(yùn)行支持環(huán)境等多項(xiàng)成果;在臺(tái)灣,22家知名計(jì)算機(jī)公司成立了“Java聯(lián)盟”,并在臺(tái)北建立了“Java開發(fā)中心”,新竹建立了“Java語言實(shí)驗(yàn)室”;在香港,舉行了全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮。Java的浪潮洶涌澎湃,席卷全球!

4.Java技術(shù)

Java發(fā)展至今日,已不僅僅是一種編程語言,實(shí)際上已形成了一門技術(shù).其內(nèi)容包括: 1)Java軟件包

Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。2)Java虛擬機(jī)及其規(guī)范 3)Java嵌入技術(shù)(Java芯片)

已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設(shè)計(jì)的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計(jì)時(shí)采用了模塊式高性能計(jì)算引擎,實(shí)質(zhì)為一種芯片級(jí)并行處理機(jī),能以更有效的方式分解計(jì)算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJC芯片的發(fā)布催生出一個(gè)基于Java語言的微處理器家族,與Intel公司競(jìng)爭(zhēng)。設(shè)想中的Java處理器將應(yīng)用在從低價(jià)消費(fèi)電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。4)Java計(jì)算

基于Java技術(shù)的企業(yè)Internet/Intranet信息系統(tǒng)以及其他應(yīng)用系統(tǒng)。5)Jini技術(shù)

1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動(dòng)識(shí)別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。它把網(wǎng)絡(luò)上的各類設(shè)備(包括消費(fèi)類電子設(shè)備如移動(dòng)電話、PDA、DTV、HPC、NC、游戲機(jī)、電冰箱、智能卡等等)和各種軟件組合成一個(gè)單

一、動(dòng)態(tài)的分布式系統(tǒng),使網(wǎng)絡(luò)更易于操縱、易于管理,具有更高的可配臵性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴(kuò)展了“計(jì)算”和“計(jì)算機(jī)”的含義,極大地簡(jiǎn)化了網(wǎng)絡(luò)操作,對(duì)家庭用戶來說,使用網(wǎng)上設(shè)備即插即用,就像使用電話一樣方便。Java和Jini 不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場(chǎng)中強(qiáng)占制高點(diǎn)。6)Jiro平臺(tái)

異質(zhì)網(wǎng)絡(luò)環(huán)境中安裝的存儲(chǔ)系統(tǒng)的多樣性和分布性,給存儲(chǔ)管理帶來了巨大的挑戰(zhàn)。用戶和開發(fā)人員都希望能有一種技術(shù),能更好地促進(jìn)企業(yè)存儲(chǔ)管理方案的開發(fā)。而Jiro平臺(tái)正是解決此問題的革命性方案。Jiro平臺(tái)實(shí)現(xiàn)了Java和Jini 技術(shù),它是一個(gè)便于用戶管理異質(zhì)網(wǎng)絡(luò)上由各種服務(wù)器、存儲(chǔ)和設(shè)備組成的混合環(huán)境的開放式存儲(chǔ)管理平臺(tái)。它對(duì)操作系統(tǒng)是中立的。Jiro為跨異質(zhì)存儲(chǔ)局域網(wǎng)(SAN)的管理服務(wù)和設(shè)備提供了一個(gè)開放平臺(tái),允許服務(wù)器、存儲(chǔ)和聯(lián)網(wǎng)設(shè)備在異質(zhì)網(wǎng)絡(luò)環(huán)境中無縫地協(xié)同工作。Jiro平臺(tái)為開發(fā)者帶來的好處有: 允許開發(fā)者利用各種實(shí)現(xiàn)管理存儲(chǔ)網(wǎng)絡(luò)的目標(biāo)功能創(chuàng)建應(yīng)用; 提供了一個(gè)可以在各種應(yīng)用、服務(wù)和設(shè)備之間交互操作的組件模型; 允許設(shè)備易被增加、刪除; 允許應(yīng)用或服務(wù)被自動(dòng)更新。

1999年7月,Sun發(fā)布了正式的Jiro規(guī)范草案,供公眾討論、修改。目前,Jiro平臺(tái)的團(tuán)體成員已超過25家,支持Jiro平臺(tái)的廠商超過300家。有眼光的廠商紛紛加入到這些組行列,從而加快了Jiro的發(fā)展。

結(jié)語

Java自問世以來,以其得天獨(dú)厚的優(yōu)勢(shì),在IT業(yè)界掀起了研究、開發(fā)它的浪潮,顯示了“鵬程萬里”的美好前景。作為一種與底層硬件無關(guān)的、“編寫一次,到處運(yùn)行”的高級(jí)語言和計(jì)算平臺(tái),Java天生就具有將網(wǎng)絡(luò)上的各個(gè)平臺(tái)連成一體的能力,真正實(shí)現(xiàn)了“網(wǎng)絡(luò)就是計(jì)算機(jī)”的理念。以Java為代表的網(wǎng)絡(luò)的成長(zhǎng),改變了我們的聯(lián)系方式、生活方式、學(xué)習(xí)方式和經(jīng)營方式。它的來到使我們目睹了一場(chǎng)類似印刷術(shù)的重大變革。毫無疑問,它將影響人類社會(huì)的發(fā)展,這就是:Java加速人類進(jìn)入網(wǎng)絡(luò)時(shí)代!

Java是當(dāng)今IT產(chǎn)業(yè)和人類文明的創(chuàng)新和希望!

第二篇:java課程設(shè)計(jì)畢業(yè)論文

許多計(jì)算機(jī)專業(yè)的同學(xué)每學(xué)期都要做個(gè)畢業(yè)設(shè)計(jì),下面是小編整理的java課程設(shè)計(jì)畢業(yè)論文,希望對(duì)你有所幫助!

在瀏覽器中輸入圖片網(wǎng)址,里面有很多的Java項(xiàng)目,有SSH的,還有適合初學(xué)java的新手教程

也有安卓的教程和一些案例,也有Html5的教程

下載方法:

找到要下載的項(xiàng)目,點(diǎn)擊圖片中紅線標(biāo)出的區(qū)域,這是真正的下載地址

點(diǎn)擊按鈕后會(huì)到如圖所示的頁面,輸入驗(yàn)證碼后即可下載

第三篇:基于java的博客網(wǎng)站設(shè)計(jì)與開發(fā)畢業(yè)論文

編號(hào)

中央廣播電視大學(xué)計(jì)算機(jī)與科學(xué)技術(shù)專業(yè)

業(yè)

學(xué)生姓名:黃志剛

學(xué) 號(hào):14360012501

專 業(yè):計(jì)算機(jī)與科學(xué)技術(shù)

班 級(jí):

指導(dǎo)教師:李慧

2016年04月

目錄

目錄

I V VII VIII 1 1 1 2 2 2 3 3 3 4 5 6 6 7 摘要

前言

文獻(xiàn)綜述

第1章 緒論

第1節(jié) 第2節(jié) 背景

研究的目的與意義

第2章 設(shè)計(jì)簡(jiǎn)介及設(shè)計(jì)方案

第1節(jié) 第2節(jié) 第3節(jié) 設(shè)計(jì)原則 運(yùn)行架構(gòu) 設(shè)計(jì)方案

第3章 相關(guān)技術(shù)介紹

第1節(jié) 第2節(jié) 第3節(jié) MVC簡(jiǎn)介

Spring 的起源和背景 Hibernate 概述

第4章 需求分析

第1節(jié) 第2節(jié) 注冊(cè)博友 普通用戶

I 9 10 10 11 11 12 12 14 15 15 15 15 17 18 20 第5章 系統(tǒng)架構(gòu)設(shè)計(jì)

第1節(jié) 第2節(jié) 系統(tǒng)架構(gòu)說明: Hibernate層

5.2.1 設(shè)計(jì)持久化對(duì)象(PO)5.2.2 實(shí)現(xiàn)DAO 層 5.2.3 DAO組件的定義 5.2.4 實(shí)現(xiàn)DAO組件 5.2.5 部署DAO 層

第3節(jié) 第4節(jié) 實(shí)現(xiàn)Service 層 MVC 層實(shí)現(xiàn)

5.4.1 1.Model 部分 5.4.2 View 部分

5.4.3 3.Controller部分 5.4.4 采用Ajax加深用戶體驗(yàn)

設(shè)計(jì)結(jié)果及對(duì)設(shè)計(jì)結(jié)果的分析

全文總結(jié)

致謝21

目錄

目錄

I V VII 摘要

前言

II

VIII 1 1 1 2 2 2 3 3 3 4 5 6 6 7 9 9 10 10 11 11 12 文獻(xiàn)綜述

第1章 緒論

第1節(jié) 第2節(jié) 背景

研究的目的與意義

第2章 設(shè)計(jì)簡(jiǎn)介及設(shè)計(jì)方案

第1節(jié) 第2節(jié) 第3節(jié) 設(shè)計(jì)原則 運(yùn)行架構(gòu) 設(shè)計(jì)方案

第3章 相關(guān)技術(shù)介紹

第1節(jié) 第2節(jié) 第3節(jié) MVC簡(jiǎn)介

Spring 的起源和背景 Hibernate 概述

第4章 需求分析

第1節(jié) 第2節(jié) 注冊(cè)博友 普通用戶

第5章 系統(tǒng)架構(gòu)設(shè)計(jì)

第1節(jié) 第2節(jié) 系統(tǒng)架構(gòu)說明: Hibernate層

5.2.1 設(shè)計(jì)持久化對(duì)象(PO)5.2.2 實(shí)現(xiàn)DAO 層 5.2.3 DAO組件的定義 5.2.4 實(shí)現(xiàn)DAO組件

III 14 15 15 15 15 17 18 20 5.2.5 部署DAO 層

第3節(jié) 第4節(jié) 實(shí)現(xiàn)Service 層 MVC 層實(shí)現(xiàn)

5.4.1 1.Model 部分 5.4.2 View 部分

5.4.3 3.Controller部分 5.4.4 采用Ajax加深用戶體驗(yàn)

設(shè)計(jì)結(jié)果及對(duì)設(shè)計(jì)結(jié)果的分析

全文總結(jié)

致謝21

IV

摘要

越來越多的網(wǎng)絡(luò)用戶希望能夠在網(wǎng)絡(luò)平臺(tái)上更多地展現(xiàn)自己的個(gè)性,更方便地與他人互動(dòng)交流,擁有一個(gè)自己獨(dú)立的空間,隨著Web2.0時(shí)代的到來,一個(gè)新的概念出現(xiàn)了——博客。

首先介紹了博客網(wǎng)站設(shè)計(jì)的意義和背景,主流博客網(wǎng)站的主要功能。重點(diǎn)介紹了基于J2EE架構(gòu)的博客網(wǎng)站設(shè)計(jì)方案,實(shí)現(xiàn)的主要功能。

其次,重點(diǎn)講述了博客網(wǎng)站的業(yè)務(wù)邏輯層和持久層的設(shè)計(jì)與開發(fā)過程中所涉及的技術(shù)及開源框架。系統(tǒng)如何以Spring 框架為核心,向下整合Hibernate進(jìn)行持久層訪問,向上整合Struts 按清晰的MVC 模式控制,怎樣劃分應(yīng)用的層次。簡(jiǎn)述了頁面的請(qǐng)求的分發(fā)及流程。

最后對(duì)BLOG網(wǎng)站開發(fā)中所碰到的一些問題,并針對(duì)這些問題提出一些解決方案,最后對(duì)系統(tǒng)性能作出一些簡(jiǎn)要評(píng)估,闡述了一些個(gè)人想法。

關(guān)鍵詞: 博客,J2EE, Spring,Struts,Hibernate

Abstract More and more network users hope to unfold there characteristics in the network platform and interact with people more conveniently.From the begining of Web 2.0, a new concept of blog emerged.Firstly, we introduce the meaning and background of designing of blog site, and then introduce the main function of the blog site briefly.We also introduce the designing scheme of blog site which is based on the architecture of J2EE.The main function carried out in our blog project is presented.Secondly, we introduce the designing of logic and permanent layer of the blog site.The technic and structure refered in the process of developing are presented.We also depict how to be around with frame of Spring, how to work with Hibernate to visit permanent layer below, how to work with Struts to control the clear MVC model up and how to divide layers of application.We also give the brief introduce of distribution and flow of pages’request.Finally, we discuss some problems about the blog realization and show schemes of solving problems.Brief evaluation on the performance of system is given.We give a comment on problems occurring in our work.V

Keywords: blog, J2EE, Spring, Struts, Hibernate

VI

前言

本文介紹了基于輕量級(jí)J2EE開發(fā)博客網(wǎng)站。同時(shí)利用Spring、Struts、Hibernate、Ajax等框架整合開發(fā)。本文主要分為七章。

第一章主要介紹了進(jìn)行博客網(wǎng)站的背景及意義。第二章對(duì)博客網(wǎng)站設(shè)計(jì)方案做了簡(jiǎn)要介紹。第三章介紹了博客網(wǎng)站的需求分析。

第四章詳細(xì)介紹了系統(tǒng)的架構(gòu)設(shè)計(jì),并詳細(xì)講述了通過Spring 框架,向下整合Hibernate 進(jìn)行持久層訪問,利用DAO模式隔離業(yè)務(wù)邏輯層與具體持久層,向上整合Struts按清晰的MVC模式構(gòu)建系統(tǒng)。

第五章簡(jiǎn)單講述了系統(tǒng)設(shè)計(jì)時(shí)遇到的問題及解決方案,另外對(duì)系統(tǒng)的性能作了一個(gè)簡(jiǎn)要的評(píng)論及設(shè)計(jì)結(jié)果和設(shè)計(jì)結(jié)果分析。

第六章對(duì)全文所使用的方法、結(jié)果以及目的和意義做了全面的總結(jié),展望java技術(shù)在Web上的一些應(yīng)用。

本文的完成得到了戴祖旭博士的幫助和指導(dǎo),在此向他表示衷心的感謝。

VII

文獻(xiàn)綜述

Hibernate相關(guān)文獻(xiàn)介紹

文獻(xiàn)錯(cuò)誤!未找到引用源。圍繞著ORM,講述了對(duì)象映射配置,對(duì)象關(guān)系映射、集合映射、對(duì)象的操作和查詢。及詳細(xì)如何利用Hibernate 構(gòu)建DAO層,怎樣根據(jù)PO的關(guān)系。面向?qū)ο蟛僮鲾?shù)據(jù)庫,怎么配置數(shù)據(jù)庫映射文件。Java基礎(chǔ)文獻(xiàn)概述

文獻(xiàn)錯(cuò)誤!未找到引用源。講述了java基礎(chǔ)知識(shí),如控制流程、初始化和清理、接口和內(nèi)部類等。并講述如何利用對(duì)象提供服務(wù),并通過接口隱藏具體實(shí)現(xiàn)。J2EE相關(guān)文獻(xiàn)概述

文獻(xiàn)錯(cuò)誤!未找到引用源。論述了在J2EE平臺(tái)中在各層經(jīng)常遇到的問題,該文獻(xiàn)詳細(xì)講解如何解決J2EE平臺(tái)所遇到的問題。

文獻(xiàn)錯(cuò)誤!未找到引用源。將述了如何構(gòu)建輕量級(jí)的J2EE企業(yè)應(yīng)用程序,并講解MVC在Web中應(yīng)用,怎么將請(qǐng)求控制并轉(zhuǎn)發(fā),Struts標(biāo)簽。

文獻(xiàn)錯(cuò)誤!未找到引用源。詳細(xì)講述了Spring 的控制反轉(zhuǎn)、AOP編程思想。及其怎么利用Spring整合Hibernate,利用Spring提供IOC容器管理DAO組件,利用事務(wù)管理SessionFactory。

文獻(xiàn)錯(cuò)誤!未找到引用源。以8 個(gè)小型J2EE項(xiàng)目講述怎么利用Struts、Hibernate、Spring等框架構(gòu)建J2EE Web應(yīng)用。并且也詳細(xì)講述各個(gè)框架的在項(xiàng)目中應(yīng)用。文獻(xiàn)錯(cuò)誤!未找到引用源。這本書是有3個(gè)具有15以上的開發(fā)經(jīng)驗(yàn)的企業(yè)java架構(gòu)師或首席架構(gòu)師所著。本書講述了J2EE的3層所涉及的核心模式。通過通用模式可以更快構(gòu)建穩(wěn)定的J2EE應(yīng)用。

文獻(xiàn)錯(cuò)誤!未找到引用源。這本書詳細(xì)講述了架構(gòu)設(shè)計(jì)的方法。架構(gòu)設(shè)計(jì)應(yīng)該包括那些方面。

怎么應(yīng)用架構(gòu)模式。Ajax技術(shù)文獻(xiàn)概述

文獻(xiàn)錯(cuò)誤!未找到引用源。講述了JavaScript、CSS、DOM、XML的在Ajax上一些應(yīng)用。如何利用這四個(gè)技術(shù)實(shí)現(xiàn)html片段的替換。并結(jié)合一些實(shí)例講述如何利用Ajax 實(shí)現(xiàn)友好用戶體驗(yàn)。Eclipse文獻(xiàn)概述

文獻(xiàn)錯(cuò)誤!未找到引用源。講述了如何利用Eclipse開發(fā)java應(yīng)用程序。該文獻(xiàn)主要講如何構(gòu)建java開發(fā)環(huán)境,如何安裝Eclipse插件。并利用Eclipse自動(dòng)生成一些代碼。Jsp文獻(xiàn)概述

文獻(xiàn)錯(cuò)誤!未找到引用源。圍繞著實(shí)例講述Jsp的各種技術(shù)。比如Servlet,JavaBean 在Jsp中的應(yīng)用。本文中的圖片播放器和音頻播放器是基于這書上實(shí)例改進(jìn)的。

VIII

第1章 緒論

第1節(jié) 背景

商業(yè)網(wǎng)站設(shè)計(jì)的主要目的一般是通過網(wǎng)站的推廣,實(shí)現(xiàn)更多網(wǎng)絡(luò)用戶的關(guān)注,從而吸引更多的企業(yè)用戶投入更多的宣傳經(jīng)費(fèi)到網(wǎng)站上。

長(zhǎng)期的戰(zhàn)略目標(biāo),商業(yè)網(wǎng)站不僅是公共產(chǎn)品信息和服務(wù)的推廣,它還是將買家與賣家、廠商和合作伙伴緊密結(jié)合的平臺(tái),借助這些商業(yè)網(wǎng)站可以消除企業(yè)與客戶之間時(shí)間與空間帶來的障礙。

Blog博客網(wǎng)站致力于為廣大博客提供優(yōu)質(zhì)博客頁面服務(wù)的商業(yè)網(wǎng)站。每個(gè)博客都希望借助自己的博客頁面宣傳自己,而博客數(shù)量越多,網(wǎng)站的點(diǎn)擊率越高就越能夠吸引廣大的企業(yè)客戶選擇該商業(yè)網(wǎng)站作為媒介,將自己的產(chǎn)品展現(xiàn)給客戶。可以說,對(duì)這些博客網(wǎng)站而言:為博客提供良好的服務(wù)就意味著為網(wǎng)站帶來更多的商業(yè)客戶。因此,在具體設(shè)計(jì)實(shí)現(xiàn)該博客網(wǎng)站時(shí),主要考慮了主流博客網(wǎng)站的幾個(gè)主要功能。

1.博客的注冊(cè)、登錄驗(yàn)證功能

2.網(wǎng)絡(luò)用戶通過關(guān)鍵字搜索博文功能 3.最熱門博客頁面推薦瀏覽

4.文章詳細(xì)內(nèi)容及相關(guān)評(píng)論顯示 5.博客頁面訪問量統(tǒng)計(jì)

6.博客個(gè)人文章管理維護(hù)功能

7.博客個(gè)人文章分類管理維護(hù)功能 8.博客個(gè)人友情鏈接維護(hù)功能

9.博客個(gè)人基本信息管理維護(hù)功能 10.博客圖片上傳及個(gè)人相冊(cè)管理

11.網(wǎng)絡(luò)用戶寫留言,博主查看留言。第2節(jié) 研究的目的與意義

Blog記載了日常發(fā)生的事情和自己的興趣愛好,把自己的思想和知識(shí)和他人分享、交流,同時(shí)又通過“六度空間”結(jié)識(shí)了更多志趣相投的朋友;而越來越多專業(yè)知識(shí)的 Blog 的出現(xiàn),讓我們看到了 Blog 更多所蘊(yùn)涵的巨大的信息價(jià)值:不同的 Blog 選擇不同的內(nèi)容,收集和整理成為很多人關(guān)注的專業(yè) Blog ——目前越來越多的人獲取信息的來源是一些固定的 Blog。隨著博客人數(shù)的增加,Blog 作為一種新的生活方式、新的工作方式、新的學(xué)習(xí)方式已經(jīng)被越來越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié)構(gòu):網(wǎng)絡(luò)信息不再是虛假不可驗(yàn)證的,交流和溝通更有明確的選擇和方向性,單一的思想和群體的智慧結(jié)合變的更加有效,個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想—— Blog 正在影響和改變著我們的生活。

第2章 設(shè)計(jì)簡(jiǎn)介及設(shè)計(jì)方案

在整個(gè)blog進(jìn)行開發(fā)之前,要確定出整個(gè)項(xiàng)目的整體架構(gòu),包括系統(tǒng)的選型、運(yùn)行環(huán)境的確定及系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。下面對(duì)這進(jìn)行詳細(xì)介紹。第1節(jié) 設(shè)計(jì)原則

在進(jìn)行軟件系統(tǒng)開發(fā)的最初環(huán)節(jié),一般都需要進(jìn)行系統(tǒng)的選型,即根據(jù)系統(tǒng)功能的實(shí)際需求,選擇合適的開發(fā)工具及軟件架構(gòu)。

blog對(duì)系統(tǒng)的可靠性、穩(wěn)定性有比較高的要求。本系統(tǒng)設(shè)計(jì)時(shí),比較主流的B/S設(shè)計(jì)有基于JSP、ASP、PHP、CGI及J2EE等模式。相比較而言PHP的功能相對(duì)簡(jiǎn)單,不適合做大程序;而CGI效率相對(duì)較低,所以也不考慮。由于J2EE的開源的框架中提供了MVC模式實(shí)現(xiàn)框架Struts、對(duì)象關(guān)系模型中的Hibernate 的框架及擁有事務(wù)管理和依賴注入的Spring。利用現(xiàn)存框架可以更快開發(fā)系統(tǒng)。所以選擇Java技術(shù)作為blog 的開發(fā)工具。第2節(jié) 運(yùn)行架構(gòu)

為了增加系統(tǒng)的吞吐量,提高并發(fā)處理客戶請(qǐng)求數(shù)量,系統(tǒng)采用了IBM服務(wù)器作為主機(jī)。在數(shù)據(jù)庫處理方面,不需要在數(shù)據(jù)層借助存儲(chǔ)過程及數(shù)據(jù)庫服務(wù)器端函數(shù)封裝過多的業(yè)務(wù)邏輯,因此數(shù)據(jù)庫系統(tǒng)采用相對(duì)精巧的MySQL錯(cuò)誤!未找到引用源。

該在線博客系統(tǒng)服務(wù)器端如果需要布置到其他主機(jī)上,則該主機(jī)必備條件如下:

1.服務(wù)器端操作系統(tǒng):獨(dú)立于操作系統(tǒng)的跨平臺(tái)系統(tǒng),客戶端MicroSoft Windows 2000及以上;

2.數(shù)據(jù)庫:MySQL 5.0.27版本; 3.Web服務(wù)器:Tomcat 5.5及以上版本,配合MVC設(shè)計(jì)模式及 Hibernate開發(fā)架構(gòu); 4.客戶端運(yùn)行環(huán)境:能運(yùn)行IE 5以上或Netscape 5以上瀏覽器的操作系統(tǒng),配合

使用Ajax技術(shù);

5.客戶端運(yùn)行工具:目前的系統(tǒng)采用瀏覽器作為客戶端,為了支持Ajax開發(fā)框架,應(yīng)該選擇使用IE 5以上版本瀏覽器。

本網(wǎng)站以NT為Web平臺(tái),JSP+Ajax+Servlet+JavaBean+Hibernate為網(wǎng)站實(shí)現(xiàn)技術(shù),建立基于MySQL數(shù)據(jù)庫系統(tǒng)的核心動(dòng)態(tài)網(wǎng)頁,實(shí)現(xiàn)博客網(wǎng)站前臺(tái)及博客個(gè)人維護(hù)管理等功能模塊。第3節(jié) 設(shè)計(jì)方案

為了在更短的時(shí)間內(nèi)實(shí)現(xiàn)博客網(wǎng)站,我們采用J2EE架構(gòu)。集成開發(fā)環(huán)境我采用對(duì)于插件即插即用的Eclipse,JSP運(yùn)行環(huán)境我們采用Tomcat應(yīng)用服務(wù)器,數(shù)據(jù)庫管理系統(tǒng)我們采用的是MYSQL,博客網(wǎng)站主要實(shí)現(xiàn)注冊(cè)用戶可以在 服務(wù)器上開辟自己的空間,也可以發(fā)布消息,上傳文件,回復(fù)消息,從服務(wù)器發(fā)送客戶端的數(shù)據(jù)應(yīng)用XML來封裝.本系統(tǒng)采用的是經(jīng)典的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。并利用Spring、Hibernate、Spring等輕量級(jí)框架實(shí)現(xiàn)三層結(jié)構(gòu)的設(shè)計(jì)。即采用的是貧血模式,業(yè)務(wù)邏輯對(duì)象正面封裝了全部的業(yè)務(wù)邏輯方法,Web 層僅與業(yè)務(wù)邏輯組件交互即可,無須訪問底層的DAO 對(duì)象。Spring 的聲明式事務(wù)管理將負(fù)責(zé)業(yè)務(wù)邏輯對(duì)象方法的事務(wù)性。在貧血模式下,其分層非常清晰。Domain Object 并不具備領(lǐng)域?qū)ο蟮臉I(yè)務(wù)邏輯功能,僅僅是ORM 框架持久化所需的POJO,僅是數(shù)據(jù)載體。貧血模型容易理解,開發(fā)便捷,但嚴(yán)重背離了面向?qū)ο蟮脑O(shè)計(jì)思想,所有的Domain Object 并不是完整的Java 對(duì)象。

第3章 相關(guān)技術(shù)介紹

第1節(jié) MVC簡(jiǎn)介

MVC 是Model、View、Controller 三個(gè)詞的縮寫,三個(gè)詞分別代表應(yīng)用的三個(gè)組成部分:模型、視圖與控制器。三個(gè)部分以最少的稿合,協(xié)同工作,從而提高應(yīng)用的可擴(kuò)展性及可維護(hù)性。起初,MVC 模式是針對(duì)相同的數(shù)據(jù)需要不同顯示的應(yīng)用而設(shè)計(jì)的,其整體的效果如圖1 所示:

圖1 MVC結(jié)構(gòu)

在經(jīng)典的MVC 模式中,事件由控制器處理,控制器根據(jù)事件的類型改變模型或視圖,反之亦然。具體地說,模型維護(hù)一個(gè)視圖列表,這些視圖為獲得模型變化通知,通常采用觀察者模式登記給模型。當(dāng)模型發(fā)生改變時(shí),模型向所有登記過的視圖發(fā)送通知:接下來,視圖從對(duì)應(yīng)的模型中獲得信息,然后更新自己。概括起來,MVC 有如下特點(diǎn)。.多個(gè)視圖可以對(duì)應(yīng)一個(gè)模型。按MVC 設(shè)計(jì)模式,一個(gè)模型對(duì)應(yīng)多個(gè)視圖,可以減少代碼的復(fù)制及代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。

1.模型返回的數(shù)據(jù)與顯示邏輯分離。模型數(shù)據(jù)可以應(yīng)用任何的顯示技術(shù),例如使用JSP 頁面、Velocity 模板或者直接產(chǎn)生Excel 文檔等。

2.應(yīng)用被分隔為三層,降低了各層之間的稿合,提供了應(yīng)用的可擴(kuò)展性。

3.控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起,完成不同的請(qǐng)求。因此,控制層可以說是包含了用戶請(qǐng)求權(quán)限的概念。

4.MVC 更符合軟件工程化管理的精神。不同的層各司其職,每一層的組件具有相同的特征,有利于通過工程化和工具化產(chǎn)生管理程序代碼。第2節(jié) Spring 的起源和背景

2002 年wrox 出版了《Expert one on one J2EE design and development》 一書。該書的作者是Rod Johnson。在書中,Johnson 對(duì)傳統(tǒng)的J2EE 架構(gòu)提出深層次的思考和質(zhì)疑。并提出J2EE 的實(shí)用主義思想。2003 年,J2EE 領(lǐng)域出現(xiàn)一個(gè)新的框架: Spring,該框架同樣出自Johnson 之手。事實(shí)上,Spring 框架是?Expert one on one J2EE design and development? 一書中思想的全面體現(xiàn)和完善,Spring 對(duì)實(shí)用主義J2EE 思想進(jìn)一步改造和擴(kuò)充,使其發(fā)展成更開放、清晰、全面及高效的開發(fā)框架。一經(jīng)推出,就得到眾多開發(fā)者的擁戴。傳統(tǒng)J2EE 應(yīng)用的開發(fā)效率低,應(yīng)用服務(wù)器廠商對(duì)各種技術(shù)的支持并沒有真正統(tǒng)一,導(dǎo)致J2EE 的應(yīng)用并沒有真正實(shí)現(xiàn)Write Once 及Run Anywhere 的承諾。Spring 作為開源的中間件,獨(dú)立于各種應(yīng)用服務(wù)器,甚至無須應(yīng)用服務(wù)器的支持,也能提供應(yīng)用服務(wù)器的功能,如聲明式事務(wù)等。Spring 致力于J2EE 應(yīng)用的各層的解決方案,而不是僅僅專注于某一層的方案。可以說Spring 是企業(yè)應(yīng)用開發(fā)的“一站式”選擇,并貫穿表現(xiàn)層、業(yè)務(wù)層及持久層。然而,Spring 并不想取代那些已有的框架,而與它們無縫地整合。總結(jié)起來,Spring 有如下優(yōu)點(diǎn): 1.低侵入式設(shè)計(jì),代碼污染極低。

2.獨(dú)立于各種應(yīng)用服務(wù)器,可以真正實(shí)現(xiàn)Write Once, Run Anywhere 的承諾。3.Spring 的DI 機(jī)制降低了業(yè)務(wù)對(duì)象替換的復(fù)雜性。

4.Spring 并不完全依賴于Spring,開發(fā)者可自由選用Spring 框架的部分或全部。

第3節(jié) Hibernate 概述

Hibernate 是目前最流行的ORM 框架,其采用非常優(yōu)雅的方式將SQL 操作完全包裝成對(duì)象化的操作。其作者Gavin King 在持久層設(shè)計(jì)上極富經(jīng)驗(yàn),采用非常少的代碼實(shí)現(xiàn)了整個(gè)框架,同時(shí)完全開放源代碼,即使偶爾遇到無法理解的情況,也可以參照源代碼來理解其在持久層上靈巧而智能的設(shè)計(jì)。目前Hibernate 在國內(nèi)的開發(fā)人員相當(dāng)多,Hibernate 的文檔也非常豐富,這些都為學(xué)習(xí)Hiberante 鋪平了道路,因而Hibernate 的學(xué)習(xí)相對(duì)簡(jiǎn)單一些。下面通過對(duì)比來了解Hibernate 和傳統(tǒng)JDBC 操作數(shù)據(jù)庫持久層之間的差異。

第4章 需求分析

Blog網(wǎng)站主要是實(shí)現(xiàn)注冊(cè)用戶登錄、管理相關(guān)信息、博文及相關(guān)評(píng)論、查看留言、友情鏈接、及圖片的上傳和圖像的播放而為上網(wǎng)用戶提供按博文主題搜索,查看注冊(cè)用戶的博文及提出相關(guān)評(píng)論,并為注冊(cè)用戶寫留言,游覽注冊(cè)用戶的相冊(cè)、注冊(cè)等功能的系統(tǒng)。下面就以兩種不同的用戶來分析博客網(wǎng)站的需求。第1節(jié) 注冊(cè)博友

首先必須在博客首頁中登錄填寫用戶名和密碼,這樣才能執(zhí)行一些相關(guān)操作,不然就是普通用戶只能查看一些信息,而不能發(fā)表博文。可以在管理頁面上添加博文的分類,可以上傳圖片和游覽自己的相冊(cè),在上傳過程中可以將一張圖片定義為自己的簽名,在個(gè)人管理頁面中注冊(cè)用戶還可以修改自己的個(gè)人信息。博文管理,友情鏈接管理及博文分類管理,用例圖2。

圖2 博客管理頁面的用例圖

在博客主界面中發(fā)表博文時(shí)可以選擇博文類型,這樣可以更好管理自己的博文。并查看和刪除網(wǎng)友對(duì)自己的博文的一些評(píng)論、查看和刪除網(wǎng)友留下的一些留言,提供與其他網(wǎng)友交流的空間。更好交流,在信息時(shí)代人們通過個(gè)人空間溝通也用來但不能在自己的博客主頁面中提交評(píng)論和留言。這樣在本系統(tǒng)中就可以為博友提供更多的個(gè)人色彩。在管理頁面中添加和刪除友情連接。這樣博友可以在自己空間中快速定位自己的關(guān)心的網(wǎng)站。這樣還可以讓網(wǎng)友看到自己的一些信息。友情鏈接及網(wǎng)頁訪問量統(tǒng)計(jì)顯示:在博客的個(gè)人頁面中還提供了推薦給普通網(wǎng)絡(luò)用戶的相關(guān)友情鏈接,此外,對(duì)個(gè)人頁面的訪問量也在隨時(shí)進(jìn)行統(tǒng)計(jì),并在個(gè)人頁面中進(jìn)行直觀的顯示。博客主頁面的用例圖如圖3所示:

圖3 博客主頁面的用例圖

第2節(jié) 普通用戶

在博客注冊(cè)頁面注冊(cè)成為博客的注冊(cè)用戶,才可以擁有自己獨(dú)立的空間,進(jìn)入某一博客頁面查看相關(guān)文章信息時(shí),可以隨時(shí)對(duì)自己所感興趣的文章發(fā)表評(píng)論,同時(shí)也可以查看到其他人針對(duì)該博文的評(píng)論。普通用戶在閱讀博文時(shí)可以在最后留下自己的一些評(píng)論。他也可以留下更多的信息。這樣他可以寫留言。這樣他留下的信息就更快地被博友所看到。普通用戶進(jìn)入博友的用例圖如圖4所示:

圖4上網(wǎng)博友在博客主頁面的用例圖

普通網(wǎng)友可以搜索自己關(guān)心的一些數(shù)據(jù)。并且在搜索結(jié)果中提供在結(jié)果范圍內(nèi)再次搜索。這樣就可以將范圍縮小。首頁向注冊(cè)用戶提供登陸模塊,注冊(cè)用戶在博客網(wǎng)站首頁跟上網(wǎng)網(wǎng)友一樣可以查看博客和博文推薦。上網(wǎng)網(wǎng)友可以注冊(cè)成為博客用戶,擁有自己獨(dú)立的空

間。這一模塊的用例圖如圖5所示:

圖5 博客首頁的用例圖

第5章 系統(tǒng)架構(gòu)設(shè)計(jì)

本系統(tǒng)采用嚴(yán)格的J2 EE 應(yīng)用結(jié)構(gòu),主要有如下幾個(gè)分層。

1.表現(xiàn)層:由JSP 頁面組成。2.MVC 層:使用Struts框架。

3.業(yè)務(wù)邏輯層:主要由Spring loC 容器管理的業(yè)務(wù)邏輯組件組成。

4.DAO 層:由7 個(gè)DAO 組件組成,實(shí)現(xiàn)類必須繼承Spring提供的HibernateDaoSupport。

5.Hibernate 持久層:由7 個(gè)PO 組成,并在Hibernate Session 管理下,完成數(shù)據(jù)庫訪問。

6.數(shù)據(jù)庫服務(wù)層:使用MySQL 數(shù)據(jù)庫存儲(chǔ)持久化數(shù)據(jù)。系統(tǒng)的具體分層如圖5 所示。

圖6 系統(tǒng)結(jié)構(gòu)圖

在圖6 黑色大方框內(nèi)的MVC 控制層、Service 層及DAO 組件層的組件,都由Spring IOC 容器負(fù)責(zé)生成,并管理組件的實(shí)例(實(shí)例必須是單身模式的,本系統(tǒng)中的bean基本上是單身的)。

第1節(jié) 系統(tǒng)架構(gòu)說明:

本系統(tǒng)不僅嚴(yán)格按MVC 模式設(shè)計(jì),還按J2 EE 分層設(shè)計(jì),將中間層嚴(yán)格分成業(yè)務(wù)邏輯層、DAO 層及數(shù)據(jù)持久層等。MVC 層的控制器絕對(duì)禁止持久層訪問,甚至不參與業(yè)務(wù)邏輯的實(shí)現(xiàn)。表現(xiàn)層采用傳統(tǒng)JSP 技術(shù)。

本系統(tǒng)采用的是典型的J2EE 三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)

層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。Jsp廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的基礎(chǔ)。中間層采用的是流行的Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。

Web 層,就是MVC 模式里面的C,負(fù)責(zé)邏輯層和表現(xiàn)層的交互。調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC采用Struts框架。

Service 層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO 層為基礎(chǔ),通過對(duì)DAO 組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。

DAO 層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。

PO,持久化對(duì)象。通過實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用Hibernate 作為ORM 框架。Spring 的作用貫穿了整個(gè)中間層,將Web 層、Service 層、DAO 層及PO 無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。

第2節(jié) Hibernate層

通過使用Hibernate 持久層,可以避免使用傳統(tǒng)的JDBC 操作數(shù)據(jù)庫,對(duì)JDBC近一步包裝,從而更好地使用面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫。保證了整個(gè)軟件開發(fā)過程以面向?qū)ο蟮姆绞竭M(jìn)行,即面向?qū)ο蠓治觥⒃O(shè)計(jì)及編程,透過Hibernte 對(duì)PO對(duì)象持久化操作,不管插入還是查詢都是通過PO。5.2.1 設(shè)計(jì)持久化對(duì)象(PO)面向?qū)ο蠓治觯侵父鶕?jù)系統(tǒng)需求提取應(yīng)用中的對(duì)象,將這些對(duì)象抽象成類,再抽取出需要持久化保存的類,這些需要持久化保存的類就是持久化對(duì)象(PO)。該系統(tǒng)并沒有預(yù)先設(shè)計(jì)數(shù)據(jù)庫,而是完全從面向?qū)ο蠓治鲩_始,設(shè)計(jì)了7 個(gè)持久化類。本系統(tǒng)一共設(shè)計(jì)了如下7 個(gè)PO。

1.Blog: 對(duì)應(yīng)博客網(wǎng)友的一些基本信息,必如id、username、password、sex、picturename、name、address、uid、subject。還包括一些集合,博友的博文(Articles)、圖片(Pictures)、留言(Messages),這樣在系統(tǒng)中我們可以隨時(shí)通過getXxx()訪問博客的一些屬性就不用編寫sql語句來訪問博友的些屬性,2.Picture: 對(duì)應(yīng)博友的圖片,包含name、blog,filename,這樣我們可以將圖片 的路徑名保存到數(shù)據(jù)庫中,在根據(jù)路徑名訪問博友上傳的圖片,就不用用到數(shù)據(jù)庫中的Blob類型,將圖片數(shù)據(jù)格式轉(zhuǎn)來轉(zhuǎn)去,不過這樣服務(wù)器直接存儲(chǔ)客戶的圖片。

3.Messages: 對(duì)應(yīng)網(wǎng)友留下的留言,屬性有id、username、Blog、注冊(cè)用戶可以查看別人寫的留言,但不能在自己的空間內(nèi)留言。

4.FeedBack: 對(duì)應(yīng)回復(fù),包括id、article、username、content。他對(duì)于一篇博文,是網(wǎng)友閱讀博文后對(duì)博文的評(píng)論。該評(píng)論無論是誰都可以看到。

5.Sort: 對(duì)應(yīng)博文分類屬性有Id、Blog、name、Articles,注冊(cè)用戶可以在自己的空間定義一些分類,這樣可以更好管理自己的博文,一個(gè)分類對(duì)應(yīng)一個(gè)Blog,一個(gè)分類可能有很多分類。

6.Article: 博客系統(tǒng)的核心 對(duì)應(yīng)有 title,Id、blog、content、sort,一個(gè)博文屬于一種分類,可以有很多回復(fù),7.Links: 對(duì)應(yīng)有情連接,包括id、url、name、blog博友通過添加有情連接可以在自己的空間中提供快速的自己關(guān)心的網(wǎng)站。

客觀世界中的對(duì)象不是孤立存在的,以上7 個(gè)PO 也不是孤立存在的,它們之間存在復(fù)雜的關(guān)聯(lián)關(guān)系。分析關(guān)聯(lián)關(guān)系也是面向?qū)ο蠓治龅谋匾襟E,這7 個(gè)PO 的關(guān)系如下。Blog除了FeedBack外,與另外5個(gè)都是1-N的關(guān)系,在blog類里對(duì)應(yīng)有個(gè)集合。比如messages,是SetArticle 和FeedBack之間存在I-N 的關(guān)系,每篇博文可以被很多人評(píng)論。Article和sort 之間存在N-1 的關(guān)系,即每篇博文只能屬于一種分類中,并且只屬于一個(gè)博友,在Hibernate框架中它提供了以xml文件形式出現(xiàn)的映射文件,完成從PO到數(shù)據(jù)庫表映射后,即完成面向?qū)ο蟮某绦蛟O(shè)計(jì)語言與關(guān)系數(shù)據(jù)庫的映射。以面向?qū)ο蟮姆绞讲僮麝P(guān)系數(shù)據(jù)庫。5.2.2 實(shí)現(xiàn)DAO 層

在Hibernate 持久層之上,可使用DAO 組件再次封裝數(shù)據(jù)庫操作。通過DAO 層,可以讓業(yè)務(wù)邏輯層與具體持久層技術(shù)分離,一旦需要更換持久層技術(shù)時(shí),業(yè)務(wù)邏輯層組件不需要任何改變。因此,使用DAO 組件,即意味著引入DAO 模式,使每個(gè)DAO 組件包含了數(shù)據(jù)庫的訪問邏輯:每個(gè)DAO 組件可對(duì)一個(gè)數(shù)據(jù)庫表完成基本的CRUD 等操作。DAO 模式的實(shí)現(xiàn)至少需要如下三個(gè)部分。1.DAO 工廠類。2.DAO 接口。

3.DAO 接口的實(shí)現(xiàn)類。DAO 模式是一種更符合軟件工程的開發(fā)方式,使用DAO 模式有如下理由。

1)DAO 模式抽象出數(shù)據(jù)訪問方式,業(yè)務(wù)邏輯組件無須理會(huì)底層的數(shù)據(jù)庫 訪問,而只專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。

2)DAO 將數(shù)據(jù)訪問集中在獨(dú)立的一層,所有的數(shù)據(jù)訪問都由DAO 對(duì)象完成,這層獨(dú)立的DAO 分離了數(shù)據(jù)訪問的實(shí)現(xiàn)與其他業(yè)務(wù)邏輯,使得系統(tǒng)更具可維護(hù)性。

3)DAO 還有助于提升系統(tǒng)的可移植性。獨(dú)立的DAO 層使得系統(tǒng)能在不同的數(shù)據(jù)庫之間輕易切換,底層的數(shù)據(jù)庫實(shí)現(xiàn)對(duì)于業(yè)務(wù)邏輯組件是透明的。數(shù)據(jù)庫移植時(shí)僅僅影響DAO 層,不同數(shù)據(jù)庫的切換不會(huì)影響業(yè)務(wù)邏輯組件,因此提高了系統(tǒng)的可復(fù)用性。

對(duì)于不同的持久層技術(shù),Spring 的DAO 提供一個(gè)DAO 模板,將通用的操作放在模板里完成,而對(duì)于特定的操作,則通過回調(diào)接口完成。Spring 為Hibernate 提供的DAO 支持類是: HibernateDaoSupport,5.2.3 DAO組件的定義

DAO 組件提供了各持久化對(duì)象的基本的CRUD 操作。而在DAO 接口里則對(duì)DAO組件包含的各種CRUD 方法提供了聲明,但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因是:避免業(yè)務(wù)邏輯組件與特定的DAO組件藕合。由于DAO 組件中的方法不是開始

就設(shè)計(jì)出來的,其中的很多方法可能會(huì)隨著業(yè)務(wù)邏輯的需求而增加,但以下幾個(gè)方法是通用 的。

? get: 根據(jù)主鍵加載持久化實(shí)例。

? saveor update: 保存或更新持久化實(shí)例。? remove: 刪除持久化實(shí)例。

上面涉及了7個(gè)PO,這樣我們必須設(shè)計(jì)7個(gè)對(duì)應(yīng)的PODao 7個(gè)Dao必須繼承BaseDao 這個(gè)BaseDao 有對(duì)接口的一些基本的CURD操作。7個(gè)Dao 如下。LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。這7個(gè)Dao 分別封裝對(duì)自己的持久化對(duì)象的一些操作。5.2.4 實(shí)現(xiàn)DAO組件

借助于Spring的DAO支持,可以很方便地實(shí)現(xiàn)DAO類。Spring 為Hibernate 的整合提供了很好的支持,Spring 的DAO 支持類是:HiberanteDaoSupport,該類只需要傳入一個(gè)SessionFactory 引用,即可得到一個(gè)HibernateTemplate 實(shí)例,該實(shí)例功能非常強(qiáng)大,數(shù)據(jù)庫的大部分操作也很容易實(shí)現(xiàn)。所有的DAO 類都繼承HibernateDaoSupport,并實(shí)現(xiàn)相應(yīng)的DAO 接口。而業(yè)務(wù)邏輯對(duì)象則面向接口編程,無須關(guān)心DAO 的實(shí)現(xiàn)細(xì)節(jié)。通過這種方式,可以讓應(yīng)用在不同的持久化技術(shù)之間切換。LinksDaoHiberante,BlogDaoHiberante、FeedBackDaoHiberante、ArticleDaoHiberante、MessageDaoHiberante、SortDaoHiberante、PictureDaoHiberante分別是LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao的實(shí)現(xiàn)類,并繼承HibernateDaoSupport,并通過Spring IoC容器向7個(gè)Dao 實(shí)現(xiàn)類注入SessionFactroy,在7個(gè)Dao 的實(shí)現(xiàn)類就可以通過HibernateTemplate對(duì)PO持久化操作。并借助于Spring 提供的兩個(gè)工具類: HibernateDaoSupport和HibernateTemplate,可以很容易地實(shí)現(xiàn)DAO 組件。這種簡(jiǎn)單的實(shí)現(xiàn)較之傳統(tǒng)的JDBC 持久化訪問,簡(jiǎn)直不可同日而語。比如我現(xiàn)在要得到所有Blog對(duì)象我只需一句 return getHibernateTemplate().find(“from Blog”);則返回一個(gè)Blog對(duì)象的列表。5.2.5 部署DAO 層

HibernateDaoSupport類只需要一個(gè)SessionFactory 屬性,即可完成數(shù)據(jù)庫訪問。SessionFactroy創(chuàng)建Session,而數(shù)據(jù)庫的CRUD操作都是有Session 完成,并將查詢結(jié)果保存在一級(jí)緩存中,每次用戶提交一次會(huì)話,可能需要Session完成一些數(shù)據(jù)庫的操作而實(shí)際的數(shù)據(jù)庫訪問由模板類HibernateTemplate完成,該模板類提供了大量便捷的方法,簡(jiǎn)化了數(shù)據(jù)庫的訪問。5.2.5.1 DAO 組件運(yùn)行的基礎(chǔ)

應(yīng)用的DAO 組件以Hibernate和Spring 為基礎(chǔ),由Spring 容器負(fù)責(zé)生成并管理DAO組件。Spring 容器負(fù)責(zé)為DAO 組件注入其運(yùn)行所需要的基礎(chǔ)SessionFactory。Spring 為整合Hibernate 提供了大量工具類,通過LocalSessionFactoryBean 類,可以將Hibernate 的SessionFactory 納入其IoC 容器內(nèi)。使用LocalSessionFactoryBean 配置

SessionFactory之前,必須為其提供對(duì)應(yīng)的數(shù)據(jù)源,配置代碼如下: 在datasource中配置它的數(shù)據(jù)庫驅(qū)動(dòng)driverClass,URL,username、password、inPoolSize、maxPoolSize 不管我們采用那種數(shù)據(jù)庫我就可以在修改dataSource 的一些屬性而不改動(dòng)程序,將程序和數(shù)據(jù)庫的耦合降到最低。5.2.5.2 配置DAD 組件

在將dataSource注入到上面簡(jiǎn)述的7個(gè)Dao中,就可以用HibernateTemplate提供的大量便捷的方法。進(jìn)一步簡(jiǎn)化了持久層討問,其模板的操作大大降低Hibernate 的重復(fù)操作;Spring 提供的DAO 支持簡(jiǎn)化了DAO 開發(fā);SessionFactory 的依賴注入簡(jiǎn)化了Session 的控制等;這些都極大地提高J2EE應(yīng)用的開發(fā)效率。聲明式事務(wù)的管理分離了業(yè)務(wù)邏輯和事務(wù)邏輯,將應(yīng)用從特定的事務(wù)邏輯中解料,使應(yīng)用可以方便地在不同的事務(wù)策略之間切換。在所有的ORM 框架中,Sping 對(duì)Hibernate 的支持最好。Spring 提供很多IoC 特性的支持,方便地處理大部分典型的Hibernate 整合問題,如SessionFactory 的注入到7個(gè)PODao中、HibernateTemplate 的簡(jiǎn)化操作及DAO 支持等,然后在7個(gè)PODao實(shí)現(xiàn)類繼承HibernateDaoSupport,這樣的話,Dao實(shí)現(xiàn)類就可以通過HibernateTemplment以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫。另外,Spring 還提供了統(tǒng)一的異常體系及聲明式事務(wù)管理等。一旦Hibernate 處于Spring 的管理下,Hibernate 所需要的基礎(chǔ)資源,都由Spring 提供注入。Hibernate創(chuàng)建SessionFactory 必需的DataSource,執(zhí)行持久化必需的Session 及持久層訪問必需的事務(wù)控制等,這些原本必須通過代碼控制的邏輯,都將由Spring 接管:DataSource, SessionFactory, TransactionManager 等,都將作為Spring 容器中的beano 將這些bean 放在配置文件中管理,可以提供很好的解耦。Spring 提供了DAO 支持,可以大大簡(jiǎn)化DAO 組件的開發(fā)。IOC 容器的使用,提供了DAO 組件與業(yè)務(wù)邏輯組件之間的松糯合。所有的DAO實(shí)現(xiàn)Bean 組件,都由容器負(fù)責(zé)注入到業(yè)務(wù)邏輯組件中,其業(yè)務(wù)組件無須關(guān)心DAO 組件的實(shí)現(xiàn)。面向接口編程及DAO 模式的使用,提高了系統(tǒng)組件之間的解稿,降低了系統(tǒng)重構(gòu)的成本。通過Spring 整合Hibernate,使持久層的訪問更加容易,使用Spring 管理Hibernate持久層有如下優(yōu)勢(shì)。

1.有效的Session管理: Spring提供了有效、簡(jiǎn)單和安全的Hibernate Session處理。2.IoC 容器提高了DAO 組件與業(yè)務(wù)邏輯層之間的解糯。3.DAO 模式的使用,降低了系統(tǒng)重構(gòu)的代價(jià)。

4.方便的事務(wù)管理: Hibernate 的事務(wù)管理處理會(huì)限制Hibernate 的表現(xiàn),而 5.Spring的聲明式事務(wù)管理力度是方法級(jí)。

6.通用的資源管理: Spring 的ApplicationContext 能管理SessionFactory,使得 配置值很容易被管理和修改,無須使用Hibernate 的配置文件。

7.異常包裝:Spring 能夠包裝Hibernate 異常,把它們從checked exception 變?yōu)?runtimeException;開發(fā)者可選擇在恰當(dāng)?shù)膶犹幚頂?shù)據(jù)中不可恢復(fù)的異常,從而避免煩瑣的catch/throw 及異常聲明。配置DAD 組件所有繼承HibernateDaoSupport 的DAO 實(shí)現(xiàn)類,必須為其提供SessionFactory 的引用。由于所有DAO 組件都需要注入SessionFactory 引用,因此可以使用bean 繼承簡(jiǎn)化DAO 組件的配置。本應(yīng)用同樣將所有的DAO 組件配置在單獨(dú)的配置文件中daoContext.xml中例如:由于7個(gè)Dao 都必須利用IoC容器注入

SessionFactory。我們先配一個(gè)dao模板,然后7個(gè)Dao就繼承該模板這樣就可以簡(jiǎn)化daoContext.xml文件

以blogDAO為例,blogDAO 的以daoTemplate 為父Bean,屬性class是Dao的實(shí)現(xiàn)類。

parent=“daoTemplate”/> 其余6個(gè)PODAO的配置相似。從上面的配置文件可以看出Spring Ioc容器在Tomcat啟動(dòng)時(shí)就可以向Dao 注入SessionFactory 第3節(jié) 實(shí)現(xiàn)Service 層

Service 組件采用正面模式封裝多個(gè)DAO 組件,DAO 對(duì)象與Service 組件之間的關(guān)Service 組件需要實(shí)現(xiàn)的業(yè)務(wù)方法主要取決于業(yè)務(wù)的需要,通常需要在業(yè)務(wù)組件中包含對(duì)應(yīng)的方法。

業(yè)務(wù)層組件的實(shí)現(xiàn)業(yè)務(wù)層組件與具體的數(shù)據(jù)庫訪問技術(shù)分離,使所有的數(shù)據(jù)庫訪問依賴于DAO 組件,定義一個(gè)FacadeManagerImpl來包裝7個(gè)Dao這樣就可以把邏輯層和Dao分開,達(dá)到松散耦合的效果。事務(wù)管理將推遲到Service 組件而不是DAO 組件,因?yàn)橹挥袑?duì)業(yè)務(wù)邏輯方法添加事務(wù)才有實(shí)際的意義,對(duì)于單個(gè)DAO 方法(基本的CRUD 方法)增加事務(wù)操作是沒有太大實(shí)際意義的。關(guān)于事務(wù)屬性的配置,本系統(tǒng)使用Spring 提供的TransactionProxyFactoryBean配置事務(wù)代理。這樣不必為每個(gè)目標(biāo)對(duì)象配置代理bean;避免了目標(biāo)對(duì)象被直接調(diào)用。部暑業(yè)務(wù)層組件單獨(dú)配置系統(tǒng)的業(yè)務(wù)邏輯層,可避免因配置文件過大引起配置文件難以閱讀。將配置文件按層和模塊分開配置,可以提高Spring 配置文件的可讀性和可理解性。在applicationContext.xml 配置文件中配置數(shù)據(jù)源、事務(wù)管理器、業(yè)務(wù)邏輯組件和事務(wù)管理器等bean。配置文件如下:

PROPAGATION_REQUIRED

利用SpringFrameWork的TransactionProxyFactoryBean管理業(yè)務(wù)組件的事務(wù),對(duì)應(yīng)業(yè)務(wù)的方法名調(diào)用不同的事務(wù)管理,所以在業(yè)務(wù)邏輯組件的方法取名時(shí)一定要規(guī)范化。txProxyTemplate Bean是個(gè)業(yè)務(wù)組件事務(wù)管理的一個(gè)代理的父Bean,業(yè)務(wù)組件代理繼承txProxyTemplate,并注入對(duì)應(yīng)目標(biāo)業(yè)務(wù)組件FacadeManagerImpl的在業(yè)務(wù)控制器根據(jù)請(qǐng)求

調(diào)用的是一個(gè)業(yè)務(wù)邏輯事務(wù)管理的代理,這個(gè)代理把請(qǐng)求分發(fā)給目標(biāo)業(yè)務(wù)邏輯組件去處理,業(yè)務(wù)邏輯組件根據(jù)請(qǐng)求調(diào)用相應(yīng)得Dao去執(zhí)行。這樣通過FacadeManagerImpl隔離業(yè)務(wù)邏輯控制器與Dao耦合。業(yè)務(wù)不需要知道是那個(gè)Dao執(zhí)行的,也不需要Dao的 實(shí)現(xiàn)類。我們通過 Spring向FacadeManagerImpl注入7個(gè)Dao組件,業(yè)務(wù)邏輯組件是 面向DAO 接口編程,可讓業(yè)務(wù)邏輯組件從DAO 組件的實(shí)現(xiàn)中分離。因此業(yè)務(wù)邏輯組件只關(guān)心業(yè)務(wù)邏輯的實(shí)現(xiàn),無須關(guān)心數(shù)據(jù)訪問邏輯的實(shí)現(xiàn)。第4節(jié) MVC 層實(shí)現(xiàn)

MVC 架構(gòu)的核心思想是:將程序分成相對(duì)獨(dú)立,而又能協(xié)同工作的三個(gè)部分。通過使用MVC 架構(gòu),可以降低模塊之間的耦合,提高應(yīng)用的可擴(kuò)展性。另外,MVC 的每個(gè)組件只關(guān)心組件內(nèi)的邏輯,不應(yīng)與其他組件的邏輯混合。

本文的MVC采用Struts框架。因?yàn)镾truts 是最健壯,應(yīng)用最廣的MVC 框架。系統(tǒng)使用Struts 框架可以提高系統(tǒng)的可控制性,保證了系統(tǒng)的穩(wěn)定性及可用性。5.4.1 1.Model 部分

模型獨(dú)立于數(shù)據(jù)的顯示,博客中所涉及的Model 都是ActionForm和JavaBean組成。模型返回的數(shù)據(jù)與顯示邏輯分離。應(yīng)用被分隔為三層,降低了各層之間的耦合,提高了應(yīng)用的可擴(kuò)展性。其中ActionForm用于封裝用戶請(qǐng)求參數(shù),所有的用戶請(qǐng)求參數(shù)由系統(tǒng)自動(dòng)封裝成ActionForm 對(duì)象:該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action;然后Action 根據(jù)ActionForm里的請(qǐng)求參數(shù)處理用戶請(qǐng)求。比如本系統(tǒng)中的Registfrom封裝了注冊(cè)用戶的所有信息,但頁面觸發(fā)了.do結(jié)尾 的 Http請(qǐng)求。這Struts的核心控制器ActionServlet將填充RegistForm 即調(diào)用RegistForm的setXxx。然后RegistAction就可以向業(yè)務(wù)邏輯組件提交添加RegistForm到博客。這樣就完成用戶的注冊(cè)。而JavaBean 則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。比如本文中FacadeManagerImpl,通過業(yè)務(wù)外觀向表現(xiàn)層封裝數(shù)據(jù)的處理部分,而ActionForm 封裝了請(qǐng)求參數(shù)以一個(gè)值對(duì)象(VO)的形似穿透J2EE的各層。

5.4.2 View 部分

Struts 的View 部分采用JSP 實(shí)現(xiàn)。整個(gè)應(yīng)用由客戶端請(qǐng)求驅(qū)動(dòng),當(dāng)客戶端請(qǐng)求被ActionServlet 攔截時(shí),ActionServlet根據(jù)請(qǐng)求決定是否需要調(diào)用Model 處理用戶請(qǐng)求,當(dāng)用戶請(qǐng)求處理完成后,其處理結(jié)果通過JSP 呈現(xiàn)給用戶。通過Jsp將業(yè)務(wù)邏輯組件返回的值對(duì)象格式化,用戶和系統(tǒng)通過View交互的。5.4.3 3.Controller部分

Struts 的Controller由系統(tǒng)核心控制器及業(yè)務(wù)邏輯控制器。

系統(tǒng)核心控制攔截特定形式的請(qǐng)求,再根據(jù)請(qǐng)求調(diào)用相應(yīng)得業(yè)務(wù)邏輯控制器處理請(qǐng)求,在web.xml中如下定義:

action

com.blog.webapp.util.MyActionServlet

config

/WEB-INF/struts-config.xml

action

*.do 從上面的配置文件可以看出MyActionServlet是MVC的核心控制器,一般采用Struts 的ActionServlet就可以攔截以.do結(jié)尾的請(qǐng)求。這里我采用自己定義一個(gè)繼承ActionServlet 的控制器,在處理請(qǐng)求時(shí)先將request的采用的編碼設(shè)為統(tǒng)一的UTF-8,再將請(qǐng)求轉(zhuǎn)發(fā)。ActionServlet是繼承HttpServlet類,因此可以配置成一個(gè)標(biāo)準(zhǔn)的Servlet。該控制器負(fù)責(zé)攔截所有Http請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否需要調(diào)用業(yè)務(wù)邏輯控制器,如果需要調(diào)用業(yè)務(wù)邏輯控制器,則將請(qǐng)求轉(zhuǎn)發(fā)給Action 處理,否則直接轉(zhuǎn)向請(qǐng)求的JSP 頁面。業(yè)務(wù)邏輯控制器負(fù)責(zé)處理用戶請(qǐng)求,但業(yè)務(wù)邏輯控制器本身并不具有處理能力,而是調(diào)用Model 來完成處理。業(yè)務(wù)邏輯控制器對(duì)應(yīng)圖3.4中的Action 部分。業(yè)務(wù)控制層是整個(gè)系統(tǒng)的核心部分,它與要實(shí)現(xiàn)的業(yè)務(wù)功能緊密聯(lián)系,其中的各個(gè)功能模塊各自實(shí)現(xiàn)不同的業(yè)務(wù)功能。該層在接受到來自表現(xiàn)層的請(qǐng)求和相應(yīng)得數(shù)據(jù)后。通過對(duì)業(yè)務(wù)數(shù)據(jù)層的調(diào)用來實(shí)現(xiàn)具體的業(yè)務(wù)邏輯。Struts 與Spring 的整合

整合Struts 與Spring 只有一個(gè)要求,讓Struts 將攔截到客戶端的請(qǐng)求轉(zhuǎn)發(fā)給Spring容器中的bean。也就是說Struts的業(yè)務(wù)邏輯控制器可以將從核心控制器轉(zhuǎn)發(fā)過來的請(qǐng)求教給spring IOC容器管理業(yè)務(wù)邏輯組件處理。本系統(tǒng)使用DelegatingRequestProcessor 的整合策略,使用DelegatingRequestProcessor的整合策略可避免創(chuàng)建過多的本系統(tǒng)采用DelegatingActionProxy,提前將請(qǐng)求轉(zhuǎn)發(fā)到Spring 容器內(nèi)的bean。為了在應(yīng)用啟動(dòng)時(shí)由Struts 負(fù)責(zé)創(chuàng)建Spring 容器,應(yīng)在struts-config.xml 文件中增加如下配置:

className=“org.springframework.web.struts.ContextLoaderPlugIn”> 通常上面的配置,可讓Spring 容器隨系統(tǒng)啟動(dòng)時(shí)完成初始化。注意在上面的配置中,Spring 的配置文件有一個(gè)aciton-servlet.xml,該配置文件中全部是Action。使用DelegatingRequestProcessor 的整合策略時(shí),無須確定action 的實(shí)現(xiàn)類。因?yàn)镈elegatingRequestProcessor直接將請(qǐng)求轉(zhuǎn)發(fā)到Spring 容器內(nèi)控制器配置為了Struts 與Spring 的整合,Struts 的Action 需要在兩個(gè)地方配置。

1.在struts-config且xm1文件中配置對(duì)應(yīng)的Action。

2.在Spring 容器中配置實(shí)際的Action,在本文中需要與數(shù)據(jù)層交流Action必須

繼承BaseAction,而BaseAction 具有一個(gè)facadeManger的屬性,本文的請(qǐng)求不直接處理請(qǐng)求,而是交給業(yè)務(wù)邏輯組件處理。本文通過向Action注入相應(yīng)得業(yè)務(wù)邏輯組件facadeManger,Acton 將請(qǐng)求交給它處理。我們?cè)赼ction-servlet.xml 里配置一個(gè)

這樣的Bean 然后每個(gè)Action將繼承actionTemplate,這樣Action就可以把請(qǐng)求交給facadeManager 處理。而facadeManager是個(gè)業(yè)務(wù)邏輯事務(wù)處理的一個(gè)代理。這樣通過Spring 將facadeManager注入到業(yè)務(wù)邏輯控制器中,Action 就可以將請(qǐng)求分發(fā)給Spring Ioc容器中目標(biāo)業(yè)務(wù)邏輯處理。這樣完成Spring 向上整合Struts。5.4.4 采用Ajax加深用戶體驗(yàn)

為了加深用戶體驗(yàn),本系統(tǒng)在處理請(qǐng)求時(shí)還應(yīng)用到Ajax 技術(shù)。頁面提交一個(gè)非.do結(jié)尾的請(qǐng)求,及觸發(fā)了一個(gè)文檔模型(DOM)事件。Ajax處理請(qǐng)求如下: 1.DOM事件處理者收到事件發(fā)生的消息進(jìn)行處理,即在JavaScript定義的一個(gè)函數(shù)處理。2.處理者開始創(chuàng)建一個(gè)XMLHttpRequest對(duì)象,并根據(jù)觸發(fā)的事件對(duì)XMLHttpRequest 對(duì)象設(shè)置目標(biāo)URL、http 方法(GET或POST),在本系統(tǒng)中URL是一個(gè)以.do結(jié)尾的請(qǐng)求。主要是請(qǐng)求交給業(yè)務(wù)邏輯組件處理,再注冊(cè)服務(wù)器的回調(diào)函數(shù)。3.向服務(wù)器分派異步的Http請(qǐng)求。

4.異步的Http請(qǐng)求發(fā)出后,游覽器不必等待服務(wù)器的響應(yīng),用戶還可以與頁面交互。5.Struts 的核心控制攔截http請(qǐng)求,根據(jù)請(qǐng)求分派Action去處理請(qǐng)求。

6.Action交給業(yè)務(wù)邏輯組件處理。Action 接受到業(yè)務(wù)邏輯組件處理后的結(jié)果(一般是VO或VO數(shù)組),再將返回的結(jié)果序列化成XML作為服務(wù)器的響應(yīng)內(nèi)容。核心控制器再將響應(yīng)內(nèi)容返回給游覽器。

7.調(diào)用XMLHttpRequest注冊(cè)的回調(diào)函數(shù)。

8.回調(diào)函數(shù)解析響應(yīng)內(nèi)容XML文檔,在這里我們利用DOM將XML換成html格式數(shù)據(jù)流。利用DOM改變交互頁面的html節(jié)點(diǎn)。達(dá)到用戶的需求。

設(shè)計(jì)結(jié)果及對(duì)設(shè)計(jì)結(jié)果的分析

本系統(tǒng)是一個(gè)小組(3個(gè)人)合力設(shè)計(jì)的。我負(fù)責(zé)底層即Hibernate Dao層邏輯層,MVC層,PO 和DAO 的設(shè)計(jì)。故我們采用值對(duì)象(VO)作為我們的數(shù)據(jù)交流載體。我負(fù)責(zé)VO的處理,而胡愛梅負(fù)責(zé)數(shù)據(jù)的顯示即利用Jsp格式化從我設(shè)計(jì)業(yè)務(wù)邏輯層返回的數(shù)據(jù)。陳成負(fù)責(zé)搜索引擎的設(shè)計(jì),他主要用到我設(shè)計(jì)的PO和外觀組件(Dao封裝體)去查詢實(shí)體。在設(shè)計(jì)的過程中溝通是非常重要的。為了更好地向胡愛梅同學(xué)提供更好的服務(wù)。在設(shè)計(jì)邏輯組件返回的數(shù)據(jù)時(shí)我利用VO或XML來封裝。利用DOM將XML格式轉(zhuǎn)化為html的一格節(jié)點(diǎn)或者將VO填充到Jsp的內(nèi)置對(duì)象比如Session。在JavaScript中替換她在Jsp頁面定義的Html 節(jié)點(diǎn)。她轉(zhuǎn)發(fā)的請(qǐng)求參數(shù)統(tǒng)一利用ActionForm來封裝。而Struts 的核心控制器會(huì)幫我們填充。只要Action中將ActionForm換成我在Hibernate層定義的持久化對(duì)象PO就行了。再把PO交給facadeManger處理。這樣只要胡愛梅同學(xué)知道我設(shè)計(jì)的PO的結(jié)構(gòu)并將PO填充的Session的那個(gè)屬性,她就可以將PO顯示在頁面上。而我只要知道她需要完成那些功能,即知道請(qǐng)求格式(請(qǐng)求的URL,ActionForm)和需要返回何種數(shù)據(jù)就行了。我便可以設(shè)計(jì)Action應(yīng)該如何處理業(yè)務(wù)邏輯,再考慮將數(shù)據(jù)格式化成何種XML結(jié)構(gòu)。并舉例如何解析XML數(shù)據(jù),或者將PO(List

)填充到Session的屬性告訴她。為了更容易操控?cái)?shù)據(jù)庫,及格式化查詢結(jié)果。我采用Hibernate 的DAO模式,利用Hibernate 查詢的結(jié)果本來就是一個(gè)對(duì)象或?qū)ο罅斜恚@就更方便我數(shù)據(jù)系列化成xml文件了。

本系統(tǒng)基本上可以實(shí)現(xiàn)前面需求分析中所要求實(shí)現(xiàn)的功能。另外添加了mp3播放和像word軟件一樣的編輯器。

由于第一次利用Java開發(fā)程序,第一次開發(fā)web應(yīng)用程序。第一次利用Spring、Hibernate、Struts、Ajax等技術(shù)或框架編寫程序,第一次利用MyEclipse 編寫java應(yīng)用程序、第一次利用MySql作為數(shù)據(jù)庫系統(tǒng)。種種第一次,使的我在設(shè)計(jì)本系統(tǒng)困難重重。下面詳細(xì)講述我在開發(fā)過程中所遇到的問題和我的解決方案。1.到處出現(xiàn)亂碼。為次我必須統(tǒng)一我的編碼方式。

我統(tǒng)一采用UTF-8作為我的編碼方式。并且在ActionServlet將請(qǐng)求轉(zhuǎn)發(fā)的時(shí)候先將request的編碼統(tǒng)一設(shè)為UTF-8,這樣還是不能將Actionform 的亂碼解決。ActionForm的編碼是ISO-8859-1 為此我可以采用String類提供的構(gòu)造函數(shù)解決。比如ActionFom的String屬性str,我通過new String(ActionForm.getStr().getByte(“ISO-8859-1”),”UTF-8”)可以將ActionForm轉(zhuǎn)為UTF-8。開始裝MySql 時(shí)就要設(shè)定 數(shù)據(jù)庫建表時(shí)表所用到的編碼。同樣設(shè)為UTF-8,開始我有些Form是采用Struts的DynaActionForm,這樣可以少寫個(gè)ActionForm類。但DynaActionForm的編碼不確定。最后我只能將DynaActionForm改為ActionForm的類。對(duì)于Struts 不能攔截的請(qǐng)求我們統(tǒng)一采用Actionform一樣的方式。

利用Validator驗(yàn)證失敗能返回到指定的頁面上去。

input=“/registadmin.jsp ” validate=“true”>

這是struts-config.xml 的一個(gè)registAction 的配置文件。RegistForm 經(jīng)過

Struts 失敗驗(yàn)證后Struts 不會(huì)將請(qǐng)求交給registAction處理直接轉(zhuǎn)到input定義下的/registadmin.jsp頁面上。而事實(shí)并不能轉(zhuǎn)發(fā),而是轉(zhuǎn)到一個(gè)空白頁面,由于驗(yàn)證成功可以轉(zhuǎn)發(fā),所以,其他一切都沒錯(cuò),只能是Action 的配置有錯(cuò)。將input=“/registadmin.jsp ” 改為input=“input”,定義input為一個(gè)forward 這樣可以解決問題。在input屬性直接配置他jsp頁面是從書上將的。從這可以得出只有實(shí)驗(yàn)才體驗(yàn)框架的工作原理。2.圖片上傳

圖片上傳需要解決兩個(gè)問題,1圖片以什么形式出現(xiàn)在MySql中?以Blob,還是圖片的一個(gè)路徑名。博主將 圖片上傳到服務(wù)器,將圖片的路徑名保存到

MySql數(shù)據(jù)庫中。我采用Struts提供的FileForm 作為上傳圖片ActionForm的文件屬性,在Action處理時(shí)通過FileForm.getfile()得到該文件2,怎么產(chǎn)生路徑名?為了不使圖片的名稱一樣我采用以時(shí)間和用戶名兩個(gè)參數(shù)隨機(jī)產(chǎn)生一個(gè)字符串作為圖片的路徑名。激將上傳圖片統(tǒng)一保存到一個(gè)特定的文件夾內(nèi)。最后在表單中必須有 enctype=“multipart/form-data”這樣可以讓Jsp知道表單含有大量數(shù)據(jù)要上傳。3.博文字?jǐn)?shù) 多時(shí)不能就博文提交。

必須把寫博文的表單中method設(shè)為post而不是get,因?yàn)間et只是在提交請(qǐng)求 時(shí)帶些參數(shù)而已。

4.一個(gè)對(duì)象不能同時(shí)在兩個(gè)Session中,由于我開始沒有將查詢作為一個(gè)事務(wù)處理。后來將曾經(jīng)查詢過的對(duì)象作一些修改。由于對(duì)象的修改是在一個(gè)事務(wù)管理中。查詢和修改不在一個(gè)事務(wù)管理中,則修改時(shí)事務(wù)管理重新開啟一個(gè)Session。將對(duì)象保存到數(shù)據(jù)庫中,這時(shí)一個(gè)對(duì)象同時(shí)在兩個(gè)Session中,JDBC是不支持的。要修改對(duì)象,以前需要查詢操作,由于利用了Spring 的事務(wù)管理,這就必須將兩次操作放到一個(gè)事務(wù)中。

5.在blog主頁面的所有Jsp頁面刷新后的mp3重新播放

由于在mp3播放的頁面中是采用在頁面中嵌入 loop=“true” autostart=“true”> src是一個(gè)mp3的播放列表。頁面刷新后jsp的servlet重新運(yùn)行。mp3重新播放,由于對(duì)播放器的API還不了解,現(xiàn)在還解決。mp3的播放資源只是嵌入到導(dǎo)航頁面(left.jsp)。只要導(dǎo)航頁面重新刷新后mp3就重新播放。系統(tǒng)的性能評(píng)價(jià)

由于本系統(tǒng)的jsp容器是Tomcat,系統(tǒng)設(shè)計(jì)也采用輕量級(jí)的Hibernate,而不是EJB所以在群集,負(fù)載均衡、安全性、事務(wù)、系統(tǒng)管理都不很理想。數(shù)據(jù)庫的連接池也不能很大,因?yàn)閠omcat 不便管理。在本系統(tǒng)的數(shù)據(jù)庫中只采用了一級(jí)緩存Session 沒有啟動(dòng)二級(jí)緩存SessionFactory,由于大量重復(fù)數(shù)據(jù)的查詢,性能可能有所降低。對(duì)于頁面的分頁處理,一般有兩種,一種是物理分頁,利用Sql語句向數(shù)據(jù)庫查詢指定那個(gè)頁面所需要的數(shù)據(jù),對(duì)于種方式由于數(shù)據(jù)庫的差異,數(shù)據(jù)庫提供的offset也不同,對(duì)于明確數(shù)據(jù)庫的項(xiàng)目來說,物理分頁在性能上講顯然比邏輯分頁要來的好。第二種是邏輯分頁,通過sql語句查詢所有數(shù)據(jù),再利用for語句讀取用戶所需要的數(shù)據(jù),查詢數(shù)據(jù)全部提交給客戶端,還是將當(dāng)前頁面的數(shù)據(jù)相應(yīng)客戶端,是不好選擇,因?yàn)槿绻肯鄳?yīng),則用戶可能只關(guān)心一部分,浪費(fèi)了大量帶寬,將當(dāng)前數(shù)據(jù)提交給客戶端則客戶可能還關(guān)心其他數(shù)據(jù),便再次相應(yīng)服務(wù)器,要求得到其他數(shù)據(jù),數(shù)據(jù)都在服務(wù)器的緩存中,加重服務(wù)器的壓力,我選擇的是將數(shù)據(jù)全部相應(yīng)客戶端。

全文總結(jié)

本文從博客網(wǎng)站的所需要實(shí)現(xiàn)的功能模塊開始分析,決定使用Java開發(fā)博客網(wǎng)站。并利用JDK,Tomcat,MyEclipse,MySQL等軟件來搭建開發(fā)環(huán)境,我的主要任務(wù)利用Java技術(shù)的Spring、Hibernate、Struts等開源框架設(shè)計(jì)J2EE三層結(jié)構(gòu)的中業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層,blog網(wǎng)站以Spring 框架為核心,向下整合Hibernate 進(jìn)行持久層訪問;向上整合Struts 按清晰的MVC 模式控制。這樣可以更快開發(fā)松散耦合的blog 網(wǎng)站。

由于沒接觸過Java,還有一些軟件還沒用過,如MyEclipse,因此完成此次畢業(yè)并不容易。通過摸索、翻閱并購買了大量相關(guān)參考資料,讓我java 技術(shù)有了一定的了解。比較圓滿地完成了本次畢業(yè)設(shè)計(jì)的任務(wù),達(dá)到了此次畢業(yè)設(shè)計(jì)的目的和要求。

通過這次畢業(yè)設(shè)計(jì)學(xué)會(huì)利用java構(gòu)建Web 網(wǎng)站,在畢業(yè)設(shè)計(jì)中接觸過不少開源框架。開源框架的強(qiáng)大讓我覺得還有很多技術(shù)需要去學(xué)習(xí),這也讓我明白,要不斷地學(xué)習(xí)新知識(shí)才會(huì)利于自己各方面的發(fā)展。還讓我體會(huì)到在項(xiàng)目小組里沒有比溝通更重要

致謝

在論文結(jié)束之際,首先要感謝我的指導(dǎo)老師戴祖旭教授,在我的論文設(shè)計(jì)以及實(shí)現(xiàn)過程中均給了我大量的幫助和指導(dǎo),他嚴(yán)謹(jǐn)?shù)木礃I(yè)精神和治學(xué)態(tài)度給我留下了深刻的印象。從他身上,我學(xué)到了許多能使我受益終身的東西,再次對(duì)戴老師表示衷心的感謝。

感謝理學(xué)院領(lǐng)導(dǎo)以及老師給我們創(chuàng)造的良好的學(xué)習(xí)環(huán)境和諸多幫助。

感謝父母,兄弟姐妹對(duì)我學(xué)業(yè)的支持;感謝寢室同學(xué)對(duì)我學(xué)習(xí)生活的諸多幫助。感謝的人太多,只能說感謝所有給我關(guān)心、幫助和支持的人們。

第四篇:java個(gè)人簡(jiǎn)歷

個(gè)人簡(jiǎn)歷

個(gè)人信息

姓 名:張x

性別: 男 專業(yè): 軟件技術(shù) 年齡:23 學(xué)歷: 電 話:111111111 Email:xxxxxxx@126.om現(xiàn)住址:北京市海淀區(qū)

擇業(yè)目標(biāo)

Java軟件工程師

專業(yè)技能

? 精通 COREJAVA

? 熟練掌握 Hibernate,struts

? 熟練掌握

? 熟練應(yīng)用;

?熟悉

?熟悉

?了解,;

?了解……

主要工作經(jīng)歷

XXXX年XX月—XXXX年XX月XX公司XX

項(xiàng)目經(jīng)驗(yàn)

XXXX年XX月—XXXX年XX月XX公司XX 項(xiàng)目名稱1:XXX

項(xiàng)目描述:

責(zé)任描述:

開發(fā)環(huán)境:

項(xiàng)目名稱2:XXX

項(xiàng)目描述:

責(zé)任描述:

開發(fā)環(huán)境:

項(xiàng)目名稱3:XXX

項(xiàng)目描述:

責(zé)任描述:

開發(fā)環(huán)境:

……

個(gè)人情況

性別:X

年 齡:XX現(xiàn)住址:XXX 培訓(xùn)經(jīng)歷

XXXX年XX月—XXXX年XX月XXXX軟件工程師

教育背景

XXXX年XX月—XXXX年XX月XXX大學(xué)XX專業(yè)專科

自我評(píng)價(jià)

第五篇:java簡(jiǎn)歷

姓名

男 |1989 年1月生 | 戶口:河北承德 | 現(xiàn)居住于北京-海淀區(qū)

團(tuán)員(入黨積極分子)| 身份證:xxxxxxxxxxxxxxxxxx

電話:***(手機(jī))E-mail: 598802631@qq.com

求職意向

·工作性質(zhì): 全職

·期望職業(yè): 軟件測(cè)試、研發(fā)工程師、軟件工程師、其他

·期望行業(yè): 計(jì)算機(jī)軟件

·工作地區(qū): 北京

·目前狀況: 我目前處于離職狀態(tài),可立即上崗

自我評(píng)價(jià)

簡(jiǎn)而言之,我認(rèn)為我有如下的優(yōu)點(diǎn):目標(biāo)管理能力較好、團(tuán)隊(duì)意識(shí)較強(qiáng)、有企業(yè)歸屬感、踏實(shí)勤奮、自學(xué)能力強(qiáng)、溝通能力好、社會(huì)經(jīng)驗(yàn)較多。

四年的計(jì)算機(jī)學(xué)習(xí)使我對(duì)軟件行業(yè)充滿了憧憬,為了使自己能快速的融入這個(gè)行業(yè),并獲得一個(gè)較高的起點(diǎn),我選擇了工信部藍(lán)橋計(jì)劃(專業(yè)Java軟件工程師培訓(xùn))來充實(shí)和提升自己。經(jīng)過4個(gè)月的項(xiàng)目實(shí)戰(zhàn)培訓(xùn),我對(duì)Java有了全新的認(rèn)識(shí),也對(duì)軟件開發(fā)有了全新的認(rèn)識(shí)。

Java是一個(gè)特別適合團(tuán)隊(duì)協(xié)作的語言,1+1>2是我們的共同的目標(biāo),我是團(tuán)隊(duì)的一員,我有義務(wù)為了達(dá)到我們共同的目標(biāo)而努力。

本人大學(xué)期間曾在必勝客兼職一年半,雖然工作很累,薪水也不高,但我看重的是他們的企業(yè)文化和企業(yè)氛圍。這段工作經(jīng)歷,使我積累了很多的工作經(jīng)驗(yàn),培養(yǎng)了我溝通能力,協(xié)調(diào)能力。我認(rèn)為我的付出是值得,我感謝每一次曾經(jīng)給我機(jī)會(huì)的企業(yè)和個(gè)人,我永遠(yuǎn)會(huì)懷著一個(gè)感恩的心認(rèn)真工作。

工作經(jīng)歷

2012/08--2012/10

國信藍(lán)點(diǎn)科技有限公司|軟件工程師

工作描述:開發(fā)工具是MyEclipse+oracle+sqlplus

通過這幾個(gè)月的實(shí)踐,能夠熟練地運(yùn)用myEclipse、Eclipse,sqlplus工具,hibernate,struts,spring這三大框架實(shí)現(xiàn)了三層結(jié)構(gòu)的調(diào)度.能夠獨(dú)立的完成小型管理系統(tǒng)的制作,.熟練掌握XHTML、CSS和AJAX等前端頁面開發(fā)技術(shù),javase(在線聊天系統(tǒng),網(wǎng)絡(luò)版坦克大戰(zhàn))web,oracle(在線購物系統(tǒng))javaee(各個(gè)平日的辦公應(yīng)用,OA辦公系統(tǒng))等十幾個(gè)開發(fā)項(xiàng)目,通過每日一練,每周一做,每月大總結(jié),積累了大量的項(xiàng)目經(jīng)驗(yàn)和實(shí)戰(zhàn)經(jīng)驗(yàn)!

項(xiàng)目名稱:在線購物系統(tǒng)開發(fā)

軟件環(huán)境:WindowsXP + JSP + Struts + Hibernate +Spring+ Oracle

開發(fā)工具:MyEclipse

項(xiàng)目描述:

該項(xiàng)目是一個(gè)B2C模式的購物網(wǎng)站,主要用于出售各種商品,系統(tǒng)功能可分為:用戶模塊,產(chǎn)品模塊,購物車模塊和訂單模塊。用戶模塊有驗(yàn)證登錄和注冊(cè)信息,修改信息。產(chǎn)品模塊有產(chǎn)品分頁展示,產(chǎn)品搜索,產(chǎn)品的增加和刪除以及修改。只有用戶登錄后,才能進(jìn)行購買和下訂單。本項(xiàng)目基于B/S架構(gòu)下的MVC模式,分為展現(xiàn)層、控制層、業(yè)務(wù)層和數(shù)據(jù)庫訪問層。采用的技術(shù)有JSP、AJAX、Struts、Hibernate、Log4J和JUnit等技術(shù),其中展現(xiàn)層使用JSP和Struts標(biāo)簽,對(duì)于用戶登錄和用戶注冊(cè)等實(shí)時(shí)性要求較高的界面使用AJAX,進(jìn)一步提高用戶體驗(yàn)度;使用Struts的Action充當(dāng)控制層,負(fù)責(zé)接收用戶的輸入請(qǐng)求并負(fù)責(zé)調(diào)度和控制整個(gè)流程的流轉(zhuǎn);數(shù)據(jù)訪問層借助于Hibernate實(shí)現(xiàn),代碼簡(jiǎn)潔且可適應(yīng)不同的數(shù)據(jù)庫。

項(xiàng)目中指責(zé):產(chǎn)品模塊的開發(fā),并和團(tuán)隊(duì)成員共同分析、解決項(xiàng)目中出現(xiàn)的問題。最后整合各個(gè)模塊之間出現(xiàn)的問題。

體會(huì):

1、關(guān)鍵是業(yè)務(wù)邏輯分析清楚再著手編程會(huì)事半功倍,2、自己在業(yè)務(wù)邏輯分析上有一定的思想。

項(xiàng)目名稱:點(diǎn)餐支付系統(tǒng)

周期:1個(gè)月

軟件開發(fā)環(huán)境:window xp+myeclipe+oracle+jdk6.0+Tomcat

實(shí)用技術(shù):spring+struts2+hibernate+log4j+Ajax+jsp

項(xiàng)目描述:

摒棄火鍋城傳統(tǒng)服務(wù)員手寫菜品信息,然后服務(wù)員送菜單到后臺(tái)繁瑣過程的弊端,運(yùn)用oracle數(shù)據(jù)庫存儲(chǔ)信息,jsp界面錄入和顯示,struts2完成轉(zhuǎn)發(fā),根據(jù)spring的配置文件采用多模塊的集成方式完成,按功能劃分模塊。

主要功能描述:

1.前端頁面顯示該店的菜品及菜品圖片和相應(yīng)的詳細(xì)信息,用戶通過菜單選取菜品,顧客點(diǎn)單確定后,服務(wù)員確認(rèn)以點(diǎn)菜品和酒水,待確認(rèn)后,在前臺(tái)界面錄入臺(tái)號(hào)和以點(diǎn)物品,運(yùn)用加cookie的技術(shù)記錄菜品信息,錄入完畢后 ,一并提交給后臺(tái)處理。

2.前臺(tái)提交的信息分類生成總表單,然后分類轉(zhuǎn)發(fā)各個(gè)生產(chǎn)部門,已完成菜品及酒水的服務(wù)。

3.經(jīng)理登陸后可以根據(jù)消費(fèi)的總金額和優(yōu)惠級(jí)別進(jìn)行對(duì)應(yīng)的優(yōu)惠操作。收銀員根據(jù)菜單及消費(fèi)詳單進(jìn)行相應(yīng)收費(fèi)。

4.促銷界面顯示火鍋城的相應(yīng)新菜品和催銷,推銷產(chǎn)品,由點(diǎn)餐員工進(jìn)行相應(yīng)的促銷和點(diǎn)餐調(diào)整工作。項(xiàng)目中我的職責(zé):

1.將以點(diǎn)菜品和酒水保存并分配到后臺(tái)各個(gè)工作站進(jìn)行制作

2.進(jìn)行酒水和菜品等的價(jià)格合計(jì)(不包括打折和其他的優(yōu)惠)。

3.統(tǒng)計(jì)本次消費(fèi)菜品和酒水的記錄,同時(shí)可以查看當(dāng)天相應(yīng)產(chǎn)品的銷售狀況和庫存量,來及時(shí)的調(diào)整促銷和訂貨。

項(xiàng)目總結(jié):

通過本次的項(xiàng)目,雖然各司其職,但還是需要及時(shí)的與其余的人員交流,我主要是和訂貨系統(tǒng)和前臺(tái)銷售系統(tǒng)的制作人員交流,深入的知道了團(tuán)隊(duì)里面的每個(gè)人都是項(xiàng)目里的一塊基石,只有每塊石頭都穩(wěn)固才可以完成整個(gè)項(xiàng)目。再次重審的是書寫規(guī)范性的重要性和團(tuán)隊(duì)協(xié)作的重要性。

在校學(xué)習(xí)情況

曾獲

院校級(jí)二等獎(jiǎng)學(xué)金

2008/10

三好學(xué)生|縣市級(jí)

在校期間,學(xué)習(xí)成績(jī)優(yōu)異,積極的承擔(dān)了學(xué)習(xí)委員的職位,自己組織班級(jí)學(xué)生周日補(bǔ)課,并多次帶全班同學(xué)去養(yǎng)老院做義務(wù)工,得到了全校老師的認(rèn)同,特別給予三好學(xué)生稱號(hào)!

培訓(xùn)經(jīng)歷

2012/07--2012/1

1培訓(xùn)課程:java全部課程

所獲證書:軟件初級(jí)工程師,DB2認(rèn)證,計(jì)算機(jī)等級(jí)證書

培訓(xùn)地點(diǎn):北京國信藍(lán)點(diǎn)

詳細(xì)描述:我通過在藍(lán)橋計(jì)劃學(xué)習(xí),現(xiàn)在能夠熟練掌握J(rèn)ava、JSP/Servlet,熟悉XML、JavaScript等語言;熟悉J2EE相關(guān)技術(shù)JPA、JNDI等,了解Web Service技術(shù);熟練掌握Struts、Hibernate開源框架,熟悉Spring、JUnit、JQuery工具,熟悉Oracle數(shù)據(jù)庫的開發(fā)和標(biāo)準(zhǔn)SQL語法,熟練使用myEclipse、sqlplus,mysql等工具;在此期間學(xué)會(huì)了軟件集成技術(shù),能夠熟練地運(yùn)用三大框架,在此期間參與了在線在購物系統(tǒng),和一個(gè)公司的管理系統(tǒng)制作,在學(xué)習(xí)期間就將學(xué)習(xí)與應(yīng)用能力相結(jié)合,能夠適應(yīng)各種程序的制作并在此期間積累了大量的工作經(jīng)驗(yàn)。

在校實(shí)踐經(jīng)驗(yàn)

2011/09--2012/03

初級(jí)java程序員 | 通過半年的在校實(shí)踐,本人主要是負(fù)責(zé)機(jī)房設(shè)備維護(hù)和簡(jiǎn)單的java程序編寫,王老師等人負(fù)責(zé)學(xué)校選課系統(tǒng)的編制工作,并在此期間和我們講解相關(guān)的知識(shí)點(diǎn)和需要技能,在此期間我主要學(xué)會(huì)了jsp頁面的簡(jiǎn)單制作和jsp頁面的美化工作,因?yàn)橐郧皩?duì)java知識(shí)的匱乏,每天要不停的學(xué)習(xí)JAVASE基礎(chǔ)知識(shí),并沒有掌握過多的個(gè)框架的聯(lián)合使用技術(shù)。總體來說,本人更深入的了解了java的用途和前景,為今年在國信藍(lán)點(diǎn)深入的學(xué)習(xí)打下了良好的基礎(chǔ)。

證書

2012/09

全國計(jì)算機(jī)應(yīng)用技術(shù)證書

2012/09

初級(jí)工程師

2012/09

程序員

2010/09

全國計(jì)算機(jī)等級(jí)二級(jí)

2012/10

IBM db2-302a合格認(rèn)證

2010/03

全國計(jì)算機(jī)等級(jí)一級(jí)

2010/12

大學(xué)英語四級(jí)

證書說明:英語四級(jí)497分

2012/01

普通話等級(jí)證書

證書說明:二級(jí)甲等

語言能力

英語:讀寫能力熟練|聽說能力良好

特殊技能

我自信有很好的團(tuán)隊(duì)協(xié)作能力和交際能力,在大二上學(xué)期我加入了百勝企業(yè)(必勝客)開始了兼職生活,在必勝客的一年零八個(gè)月的時(shí)間里,上班的時(shí)候基本上每次來回騎車二十公里,即使這樣我也從來沒有放棄過,因?yàn)楹芎玫膱F(tuán)隊(duì)能力和耐心的培訓(xùn)能力,很快的升到組長(zhǎng)(兼職最高職位)的職位,在這段時(shí)間有深深的體會(huì)到了團(tuán)隊(duì)協(xié)作的重要性,我深知一個(gè)人的能力只能是代表自己,一個(gè)團(tuán)隊(duì)的協(xié)作能力才是組織的靈魂所在。通過那段時(shí)間的鍛煉與深造,我能夠獨(dú)立的解決學(xué)費(fèi)和生活費(fèi),還自己攢錢報(bào)了駕校。

除此之外,二零一零年七月初到八月末在北京懷柔區(qū)歐曼汽車配件廠當(dāng)過機(jī)器控制員,負(fù)責(zé)半自動(dòng)化機(jī)器的生產(chǎn)和維護(hù)工作,我自信能夠適應(yīng)北京的快節(jié)奏生活,能夠吃苦耐勞。

我有很好的自學(xué)能力,計(jì)算機(jī)二級(jí)和java基礎(chǔ)都是自己學(xué)完成。現(xiàn)在專業(yè)的學(xué)習(xí)了java技術(shù),自信能夠成為一個(gè)好的程序員,希望您能給我一次展現(xiàn)自我的機(jī)會(huì),我一定會(huì)全身心的投入到工作中去,不辜負(fù)您的期盼!

尊敬的領(lǐng)導(dǎo),期待您的慧眼垂青!靜候佳音!

祝:貴單位事業(yè)興旺!

下載java畢業(yè)論文-免費(fèi)(精選5篇)word格式文檔
下載java畢業(yè)論文-免費(fèi)(精選5篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    JAVA課程設(shè)計(jì)

    JAVA程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 目 錄 一、 項(xiàng)目背景及意義: ............................................... 2 二、 系統(tǒng)描述 ..................................................

    JAVA實(shí)驗(yàn)報(bào)告

    河北北方學(xué)院信息科學(xué)與工程學(xué)院 《Java程序設(shè)計(jì)》 實(shí) 驗(yàn) 報(bào) 告 實(shí)驗(yàn)學(xué)期 2014 至 2015 學(xué)年 第 2 學(xué)期 學(xué)生所在系部 信息科學(xué)與工程學(xué)院 年級(jí) 2012 專業(yè)班級(jí) 電子三班 學(xué)......

    JAVA報(bào)告

    JAVA一、 需求分析 課程設(shè)計(jì)報(bào)告 ——簡(jiǎn)單的計(jì)算器 學(xué)號(hào): 用java設(shè)計(jì)并實(shí)現(xiàn)類似Windows自帶計(jì)算器。 具體功能包括:四則運(yùn)算(加、減、乘、除);退格(Backspace)、初始化(CE);求平方......

    Java課程設(shè)計(jì)

    統(tǒng)一要求: 設(shè)計(jì)成品 (按難度自選一個(gè)到兩個(gè)完成) 可分組或單獨(dú)完成,每組最多兩人,19周前交 1設(shè)計(jì)報(bào)告 (1)本程序的功能描述 (2)程序設(shè)計(jì)思想(數(shù)據(jù)結(jié)構(gòu)和各功能的實(shí)現(xiàn)辦法)......

    JAVA實(shí)驗(yàn)報(bào)告

    學(xué) 生 實(shí) 驗(yàn) 報(bào) 告 冊(cè) (理工類) 課程名稱:面向?qū)ο蟪绦蛟O(shè)計(jì) 專業(yè)班級(jí):16計(jì)算機(jī)科學(xué)與技術(shù)(專轉(zhuǎn)本) 學(xué)生學(xué)號(hào): 1613203022 學(xué)生姓名: 張義丹 所屬院部: 計(jì)算機(jī)工程 指導(dǎo)教師: 劉 晶 2......

    Java職業(yè)規(guī)劃

    在中國有很多人都認(rèn)為IT行為是吃青春飯的,如果過了30歲就很難有機(jī)會(huì)再發(fā)展下去!其實(shí)現(xiàn)實(shí)并不是這樣子的,在下從事.NET及JAVA方面的開發(fā)的也有8年的時(shí)間了,在這里在下想憑借自己......

    JAVA實(shí)驗(yàn)報(bào)告

    實(shí)驗(yàn)報(bào)告一、 實(shí)驗(yàn)?zāi)康?鞏固復(fù)習(xí)課上所講內(nèi)容,進(jìn)一步熟悉面向?qū)ο缶幊獭?二、 實(shí)驗(yàn)內(nèi)容 編寫程序求點(diǎn)到原點(diǎn)的距離三、 程序清單及運(yùn)行結(jié)果 abstractclass Distance { abstra......

    JAVA工程師

    【崗位職責(zé)】 1.從事公司核心業(yè)務(wù)系統(tǒng)的開發(fā)、調(diào)試,參與產(chǎn)品的分析,設(shè)計(jì)、開發(fā)以及測(cè)試幾個(gè)階段; 2.編寫系統(tǒng)開發(fā)文檔、技術(shù)手冊(cè)。【任職資格】 1.計(jì)算機(jī)或相關(guān)專業(yè)本科以上學(xué)......

主站蜘蛛池模板: 日韩精品无码熟人妻视频| 亚洲码欧美码一区二区三区| 国产a∨精品一区二区三区不卡| 久久综合色一综合色88欧美| 青青草国产免费国产是公开| 国产熟妇按摩3p高潮大叫| 亚洲国产精品久久久久久无码| 亚洲的天堂av无码| 国产精品a免费一区久久电影| 久久久久久精品成人鲁丝电影| 亚洲国内精品自在线影院牛牛| 中文字幕无码久久精品| 青青青国产成人久久111网站| 最新亚洲人成无码网站| 国产一区二区三区内射高清| 欧美性生交xxxxx无码久久久| 国产精品无码专区在线观看| 欧美性潮喷xxxxx免费视频看| 国产精品无码a∨精品| 国产成人午夜福利院| 亚洲处破女av日韩精品| 起碰97在线视频国产| 日日碰狠狠躁久久躁9| 国产亚洲熟妇在线视频| 性做久久久久久久| 久久人人爽爽爽人久久久| 久久久亚洲精品一区二区三区| 久久国产加勒比精品无码| 久久香蕉国产线熟妇人妻| 国产真人无遮挡作爱免费视频| 一区二区在线欧美日韩中文| 亚洲美腿丝袜 欧美另类| 久久无码人妻丰满熟妇区毛片| 国产午夜毛片v一区二区三区| av一本久道久久综合久久鬼色| 亚洲精品日韩一区二区电影| 久久久久琪琪去精品色无码| 特级做a爰片毛片免费看108| 久久亚洲中文字幕精品有坂深雪| 午夜好爽好舒服免费视频| 69久久|