第一篇:java程序轉(zhuǎn)exe過程總結(jié)
首先要下載三個(gè)東西。Fat Jar插件、exe4j 軟件、Inno Setup軟件
下載地址:sourceforge.net/projects/fjep/files/ 點(diǎn)擊“Download net.sf.fjep.fatjar_0.0.31.zip(246.3 kB)”即可下載。(1)Fat Jar : Eclipse可以安裝一個(gè)叫Fat Jar的插件,用這個(gè)插件打包非常方便,可以直接將JAVA項(xiàng)目打包成可執(zhí)行JAR包。
1.下載后的文件如下圖所示。
2.打開下載會(huì)的ZIP包,將里面的Jar解壓到Eclipse安裝路徑下的plugins文件夾中。
3.如果Eclipse已經(jīng)啟動(dòng)需要重啟一下,沒有啟動(dòng)直接打開Eclipse即可。
4.打開Eclipse之后,右擊要打開的工程,出現(xiàn)一個(gè)“Build Fat Jar”,點(diǎn)擊它。
5.如果沒有出現(xiàn)它,可以選擇“Export”,從彈出的對(duì)話框中選擇“other”-->“Fat Jar Exporter”,點(diǎn)擊Next,選擇要打包的項(xiàng)目,再點(diǎn)擊Next。
6.出現(xiàn)如下圖這樣的窗口。選中Use extern jar-name,這樣能將生成的Jar保存到工程外的路徑。
7.選擇Main-Class,點(diǎn)擊Browse找到可運(yùn)行的主類。
8.選擇one-jar,點(diǎn)擊Accept。
9.點(diǎn)擊Next進(jìn)入下一步,出現(xiàn)下面的界面,直接點(diǎn)擊Finish即可。
打包完成,點(diǎn)擊OK即可。去剛剛指定的位置找到Jar,雙擊即可運(yùn)行。(com.simontuffs.onejar.Boot 就是你的入口程序,下面轉(zhuǎn)成exe時(shí)會(huì)用到)
(2)exe4j 軟件+ Inno Setup軟件
對(duì)于作Java桌面應(yīng)用來說,比較煩人的就是安裝部署問題,客戶端是否安裝有jre、jre版本問 題、jre去哪下載、如何用jre啟動(dòng)你的Java應(yīng)用?不要說剛接觸電腦的人,就算是比較熟悉電腦,如果沒有接觸過Java,面對(duì)一個(gè)Java應(yīng)用,如何在Windows下啟動(dòng)它,估計(jì)都會(huì)折騰半天。
最好的方式莫過于帶著JRE,讓用戶輕松點(diǎn)擊就能運(yùn)行。帶著JRE運(yùn)行,JRE的大小應(yīng)該是最讓 人頭疼的,我默認(rèn)安裝的jre6大小達(dá)到80M,而程序只有200-300k左右,感覺非常不合理,分發(fā)與 網(wǎng)絡(luò)傳輸過程也會(huì)大受影響!因此針對(duì)自己程序精簡(jiǎn)jre非常必要,關(guān)于jre的精簡(jiǎn)問題請(qǐng)參考其他 文章,本文在此不做說明。
針對(duì)windows平臺(tái),讓用戶一鍵式安裝,雙擊使用,使用工具exe4j+InnoSetup,這兩個(gè)工具都 可以在網(wǎng)上找到,下面通過一個(gè)實(shí)例進(jìn)行說明。
第一步:將自己的java程序打包成“可執(zhí)行的jar包”,可以采用eclipse等IDE工具打包。下面 以eclipse為例進(jìn)行說明:
上面截圖應(yīng)該注意的是:第一步是要求你選擇你的java程序的引導(dǎo)類,下面是輸出路徑,類文 件的處理上我們選擇第二種,即將該java程序所需的jar包一起打包進(jìn)來,最后點(diǎn)擊finish。完成后 最好雙擊一下導(dǎo)出的可執(zhí)行jar包,確保可正確運(yùn)行。
第二步:準(zhǔn)備打包文件夾。
1.在任意路徑下新建文件夾,文件夾的命名可以使用項(xiàng)目的名字,如此例的項(xiàng)目名takephoto。將在第一步中生成的jar包復(fù)制進(jìn)來。
2.將精簡(jiǎn)以后的jre文件包復(fù)制進(jìn)來,如果尚不掌握精簡(jiǎn)方法,可以暫時(shí)采用安裝的龐大jre,如
下圖:
將上圖的jre復(fù)制進(jìn)去即可。
3.在takephoto文件夾下新建lib文件夾,將項(xiàng)目所需的jar包,如數(shù)據(jù)庫驅(qū)動(dòng)等復(fù)制進(jìn)去。4.可以在準(zhǔn)備一個(gè)ico文件夾,存放一個(gè)或幾個(gè)ico圖標(biāo)或圖片。經(jīng)以上幾步后,文件結(jié)構(gòu)應(yīng)該是:
第三步:使用exe4j工具生成exe文件:
直接下一步,這一步
要求選擇類型,我們選擇第一個(gè),這樣可以保證程序仍具有跨平臺(tái)的特性。如果選擇第二個(gè),可以 把程序完全編譯成exe文件,可以更好的保護(hù)你的程序不被反編譯。
上面是設(shè)置你的程序的短文件名,源文件夾路徑(如我的:E:takephoto),以及要生成的exe文件的存 放目錄,exe存放目錄必須指定到源文件夾下,這里我把它指定為E:takephoto的根目錄下。
上面是給我們即將生成的exe文件起一個(gè)名字,如我的“takephoto”,還可以給它指定一個(gè)ico類型的 圖標(biāo),其它按默認(rèn)就可以了,在指定ico圖標(biāo)路徑的時(shí)候建議采用絕對(duì)路徑,因?yàn)樵跍y(cè)試的時(shí)候發(fā)現(xiàn)
如果采用相對(duì)路徑在生成exe文件的時(shí)候提示出錯(cuò),且經(jīng)測(cè)試采用絕對(duì)路徑也能保證程序的準(zhǔn)確性。
上面是要求把程序中所用到的類路徑添加上去。然后指定程序的啟動(dòng)類,其它如果沒有必要的話,則按默認(rèn)即可,點(diǎn)擊+號(hào)添加類路徑,注意,要首先添加類路徑再指定啟動(dòng)類,類路徑包含兩部分,一是我們?cè)诘谝徊缴傻目蓤?zhí)行jar包,二是程序所需的其他jar包路徑,即lib文件夾路徑。如圖:
上面是把生成的可執(zhí)行jar包路徑添加進(jìn)去了,下面添加lib文件夾路徑。注意,全部采用相對(duì)路徑 如.takephoto.jar,.lib。
在添加lib文件夾
路徑的時(shí)候選擇scandirectory。
上面是
把lib文件夾路徑添加進(jìn)去了。下面就可以指定啟動(dòng)類了。
先選擇我們的程序所需要的jre版本,然后便是選擇我們自帶的jre了,這一步不是必須,但是為了更好的分發(fā)程序,我們自帶了jre,所以必須把我們自帶的jre指定為首選的運(yùn)行環(huán)境,如圖選擇:接下來
Searchsequence
默認(rèn)情況下程序會(huì)去系統(tǒng)的注冊(cè)表,環(huán)境變量及相關(guān)的目錄查找jre,因?yàn)槲覀冎恍枰詭У膉re,所以 這里我把默認(rèn)的選項(xiàng)移除了,然后添加我們自己的jre所在的目錄路徑,點(diǎn)+號(hào)開始:
均采用默認(rèn)即可:
下面的
上面的
可以添加一個(gè)啟動(dòng)畫面,如指定一個(gè)gif圖片。
好了exe
文件已經(jīng)生成完畢了。點(diǎn)擊exit退出即可,退出時(shí)提示配置已經(jīng)改變是否保存,可以保存,保存后 為takephoto.exe4j,下次可以直接雙擊這個(gè)文件進(jìn)行編輯我們上面的配置。經(jīng)過以上操作,文件夾結(jié)構(gòu)變?yōu)椋?/p>
雙擊一下takephoto.exe也可以執(zhí)行了。
第三步:利用InnoSetup工具進(jìn)行壓縮打包,做成安裝程序。
可以采用家腳本向?qū)В部梢詫⑸厦娈嬅骊P(guān)掉,直接“文件-新建”即可。
上面是設(shè)置一些信息,比如程序名稱,版本信息,發(fā)布者,應(yīng)用程序官方網(wǎng)站。
這一步點(diǎn)擊瀏覽選擇主執(zhí)行文件即我們第二步生成的exe執(zhí)行文件:
下一步是添加文件夾:
點(diǎn)擊是即可 菜單文件夾名稱,根據(jù)需求進(jìn)行勾選。下面的一直點(diǎn)擊下一步即可
上面是指定開始
上面可以自定義輸出文件夾,生成的安裝包文件名默認(rèn)是setup,自定義安裝程序圖標(biāo),安裝密碼。
本名稱。點(diǎn)擊保存之后立即進(jìn)行如下編譯:
指定腳
編譯完成之后,文件的默認(rèn)輸出位置在源文件夾下的程序自動(dòng)創(chuàng)建output文件夾中。最終文件夾的結(jié)構(gòu)是:
以上便是我們需要的安裝程序。值此全部結(jié)束,如有錯(cuò)誤敬請(qǐng)指正!
2011年3月25日星期五22:11:25
注意:
(1)生成的exe程序如果發(fā)生如下錯(cuò)誤:
可用下面的方法解決:
exe4j是個(gè)很好的打包利器,官方下載地址:http://www.tmdps.cn/download/exe4j/files.php
如果你不注冊(cè),打包好的軟件每次啟動(dòng)都會(huì)報(bào):this executable was created with an evaluation version of exe4j,特?zé)┤耍宰詈孟螺dexe4j的破解版,但是有注冊(cè)碼,官方軟件畢竟比破解版好用,下面的注冊(cè)碼經(jīng)測(cè)試,均可以使用.用戶名和公司名可隨便填 A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
(2)你的 Java 應(yīng)用程序的運(yùn)行類(這里寫你 java 程序的入口類,為了避免錯(cuò)誤,可以 用好壓打開你的 jar 文件,找到 META-INF 中的 MANIFEST.MF 件,并用記事本打 開,Main-Class: com.simontuffs.onejar.Boot 中的 com.simontuffs.onejar.Boot 就是你 的入口程序,如果直接用 java 程序的主類可以會(huì)出錯(cuò),在用 fatjar 插件打包后,我們 的 編 寫 的 程 序 被 兩 次 打 包,以 至 于 入 口 類 發(fā) 生 了 變 化,上 面 的 com.simontuffs.onejar.Boot 就是用 fatjar 插件打包時(shí)自動(dòng)生成的入口類)
第二篇:Java EE實(shí)驗(yàn)報(bào)告
學(xué) 生 實(shí) 驗(yàn) 報(bào) 告
課程名稱:
學(xué)生學(xué)號(hào):
所屬院部:
(理工類)
J2EE程序設(shè)計(jì) 專業(yè)班級(jí):
學(xué)生姓名:
信息技術(shù)學(xué)院 指導(dǎo)教師: 13 ——20 14 學(xué)年 第 2 學(xué)期
金陵科技學(xué)院教務(wù)處制 實(shí)驗(yàn)報(bào)告書寫要求
實(shí)驗(yàn)報(bào)告原則上要求學(xué)生手寫,要求書寫工整。若因課程特點(diǎn)需打印的,要遵照以下字體、字號(hào)、間距等的具體要求。紙張一律采用A4的紙張。
實(shí)驗(yàn)報(bào)告書寫說明
實(shí)驗(yàn)報(bào)告中一至四項(xiàng)內(nèi)容為必填項(xiàng),包括實(shí)驗(yàn)?zāi)康暮鸵螅粚?shí)驗(yàn)儀器和設(shè)備;實(shí)驗(yàn)內(nèi)容與過程;實(shí)驗(yàn)結(jié)果與分析。各院部可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。
填寫注意事項(xiàng)
(1)細(xì)致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說明,層次清晰。
(3)盡量采用專用術(shù)語來說明事物。
(4)外文、符號(hào)、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號(hào)。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書寫,嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。
實(shí)驗(yàn)報(bào)告批改說明
實(shí)驗(yàn)報(bào)告的批改要及時(shí)、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報(bào)告的批改成績(jī)采用百分制,具體評(píng)分標(biāo)準(zhǔn)由各院部自行制定。
實(shí)驗(yàn)報(bào)告裝訂要求
實(shí)驗(yàn)批改完畢后,任課老師將每門課程的每個(gè)實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報(bào)告以自然班為單位、按學(xué)號(hào)升序排列,裝訂成冊(cè),并附上一份該門課程的實(shí)驗(yàn)大綱。
實(shí)驗(yàn)項(xiàng)目名稱:Java編程基礎(chǔ) 實(shí)驗(yàn)學(xué)時(shí): 4 同組學(xué)生姓名: ———— 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
(1)熟練掌握J(rèn)DK1.7及Eclipse Kepler Service Release 1(下簡(jiǎn)稱Eclipse)編寫調(diào)試Java應(yīng)用程序的方法;
(2)熟練掌握J(rèn)ava常用工具類的使用;(3)熟練掌握J(rèn)ava集合框架編程;
(4)調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;
(5)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試經(jīng)驗(yàn);(6)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
二、實(shí)驗(yàn)儀器和設(shè)備
奔4以上計(jì)算機(jī),Windows 操作系統(tǒng),裝有JDK1.7和Eclipse軟件。
三、實(shí)驗(yàn)內(nèi)容及過程
(1)設(shè)計(jì)一個(gè)類Student,類的屬性有:姓名,學(xué)號(hào),出生日期,性別,所在系等。并生成學(xué)生類對(duì)象數(shù)組,按照學(xué)生的姓名將學(xué)生排序輸出。(注意:使用String類的compareTo方法)
(2)使用日歷類等相關(guān)方法,按截圖做出一個(gè)日歷。參照書本示例,研究其中代碼,回顧與復(fù)習(xí)利用Java Swing編程。
(3)將本學(xué)期開設(shè)的課程名稱加入到HashSet中,并使用迭代器遍歷輸出。
(4)完成以下實(shí)驗(yàn):(1)定義一個(gè)學(xué)生類:屬性有學(xué)號(hào)、姓名、專業(yè)、高數(shù)成績(jī)、外語成績(jī)、Java課程成績(jī)。(2)在測(cè)試類中生成多個(gè)學(xué)生類的對(duì)象,放入TreeSet中,要求按照三門課總成績(jī)從高到低排序,總成績(jī)相等按學(xué)號(hào)排序輸出排序結(jié)果。(注意:實(shí)現(xiàn)Comparator接口的compare(Object obj1,Object obj2)函數(shù))
(5)以List接口對(duì)象(ArrayList)為基礎(chǔ)建立一個(gè)通訊錄,要求通訊錄中必須含有編號(hào)、姓名,性別、電話、地址、Email等等。實(shí)現(xiàn)該類并包含添加、刪除、修改、按姓名查等幾個(gè)方法。編寫主程序測(cè)試。
要求:
(1)編譯調(diào)試程序之前應(yīng)配置好環(huán)境變量;
(2)要掌握用JDK命令行和Eclipse集成開發(fā)環(huán)境調(diào)試Java程序;(3)熟練掌握J(rèn)ava常用工具類和集合框架的使用;
程序清單:
(建議程序中適當(dāng)添加注釋信息,增強(qiáng)可讀性;較長(zhǎng)程序可分欄書寫,保證報(bào)告排版整潔美觀。)
(實(shí)驗(yàn)一程序清單續(xù)1)
(實(shí)驗(yàn)一程序清單續(xù)2)
四、實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)項(xiàng)目名稱: JSP編程基礎(chǔ) 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: ———— 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
(1)熟練掌握J(rèn)DOM對(duì)XML編程的使用;(2)熟練掌握HTML編程基礎(chǔ);
(3)熟練掌握J(rèn)SP環(huán)境配置以及編程基礎(chǔ);(4)熟練掌握J(rèn)avaBean編程;
(5)調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;
(6)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試經(jīng)驗(yàn);(7)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
二、實(shí)驗(yàn)儀器和設(shè)備
奔4以上計(jì)算機(jī),Windows 操作系統(tǒng),裝有JDK1.7,Tomcat6.0和Eclipse軟件。
三、實(shí)驗(yàn)內(nèi)容及過程
(1)通過JDOM技術(shù)實(shí)現(xiàn)對(duì)以下XML文件的操作:
? 顯示整個(gè)XML文件內(nèi)容
? 顯示第二個(gè)客戶節(jié)點(diǎn)內(nèi)容
? 增加一個(gè)節(jié)點(diǎn):如
<客戶 性別=“男”> <姓名>張三姓名>
<電子郵件>Zhangsan@magicactor.com電子郵件> 客戶>
? 刪除客戶名稱為張三的節(jié)點(diǎn)
? 修改客戶名稱為張三的節(jié)點(diǎn)的電子郵件為Zhangsan@126.com
(2)使用HTML與JavaScript完成一個(gè)簡(jiǎn)單的四則運(yùn)算,界面功能如下:
(3)使用JSP與JavaBean實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器.注意:仿照(2)HTML代碼編寫網(wǎng)頁,使用request對(duì)象接收值,在JavaBean中計(jì)算,JSP頁面調(diào)用該JavaBean,實(shí)現(xiàn)數(shù)字計(jì)算。
(4)使用application內(nèi)置對(duì)象實(shí)現(xiàn)一個(gè)簡(jiǎn)易的網(wǎng)站計(jì)數(shù)器,界面如教材P288圖15.7所示。
(5)使用session內(nèi)置對(duì)象實(shí)現(xiàn)一個(gè)簡(jiǎn)易的購物車功能。利用session保存用戶選購的商品信息,本購物車程序至少包含兩個(gè)頁面:顯示商品頁面showbooks.jsp;顯示購物車頁面showcarts.jsp。
要求:
(1)學(xué)會(huì)配置JSP編程環(huán)境;
(2)學(xué)會(huì)使用Eclipse的各種調(diào)試方法;(3)熟練掌握J(rèn)SP的編程基礎(chǔ)。
程序清單:
(建議程序中適當(dāng)添加注釋信息,增強(qiáng)可讀性;較長(zhǎng)程序可分欄書寫,保證報(bào)告排版整潔美觀。)
(實(shí)驗(yàn)二程序清單續(xù)1)
(實(shí)驗(yàn)二程序清單續(xù)2)
四、實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)項(xiàng)目名稱: Servlet與JSP綜合編程 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: ———— 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
(1)熟練掌握J(rèn)DBC數(shù)據(jù)庫編程的使用;(2)熟練掌握Servlet編程基礎(chǔ);(3)熟練掌握J(rèn)SP綜合編程;
(4)調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;
(5)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試經(jīng)驗(yàn);(6)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
二、實(shí)驗(yàn)儀器和設(shè)備
奔4以上計(jì)算機(jī),Windows 操作系統(tǒng),裝有JDK1.7,MySQL,Tomcat6和Eclipse軟件。
三、實(shí)驗(yàn)內(nèi)容及過程
(1)在數(shù)據(jù)庫中建立一個(gè)表,表名為學(xué)生,其結(jié)構(gòu)為:學(xué)號(hào)、姓名、性別、年齡、成績(jī)。編程實(shí)現(xiàn)以下功能:
? ? ? 編寫方法向?qū)W生表中增加記錄;
編寫方法將每條記錄按成績(jī)由大到小的順序顯示到界面; 編寫方法刪除成績(jī)不及格的學(xué)生記錄。
(2)使用JSP與JavaBean實(shí)現(xiàn)用戶登錄功能,要求實(shí)現(xiàn)以下功能:
? ? ? 創(chuàng)建數(shù)據(jù)庫MyDB,創(chuàng)建一個(gè)表Users(用戶名、密碼),用戶日志表userLog; 創(chuàng)建一個(gè)JavaBean;UserDao主要包含兩個(gè)函數(shù):驗(yàn)證函數(shù)、日志函數(shù); 創(chuàng)建登錄頁面JSP頁面(login.jsp),構(gòu)建表單Form,使用Servlet實(shí)現(xiàn)驗(yàn)證碼功能。當(dāng)用戶輸入提交后,調(diào)用JavaBean驗(yàn)證其合法性,如果驗(yàn)證不通過導(dǎo)向登錄頁面,驗(yàn)證通過導(dǎo)向歡迎頁面。不管是否通過驗(yàn)證都應(yīng)該向userLog表中添加成功登錄或失敗登錄信息。; ? 創(chuàng)建成功頁面JSP頁面(success.jsp)。
(3)使用JSP、Servlet以及JavaBean實(shí)現(xiàn)MVC架構(gòu)計(jì)算圓面積,要求實(shí)現(xiàn)以下功能:
? ? ? 編寫JSP頁面View; 編寫JavaBean實(shí)現(xiàn)業(yè)務(wù)邏輯;
編寫一個(gè)Servlet,從JSP界面接收用戶輸入的半徑,調(diào)用JavaBean實(shí)現(xiàn)圓面積計(jì)算; ? 在web.xml文件中配置Servlet的Mapping URL。
(4)參考書本上關(guān)于Filter的描述,編寫一個(gè)用于用戶認(rèn)證的過濾器。如果管理員即后臺(tái)所有頁面都有“/admin”,如管理員登陸頁面http://localhost:8088/admin/login.jsp,要求攔截/admin的頁面進(jìn)行認(rèn)證(登陸界面除外),如果用戶沒有認(rèn)證則跳轉(zhuǎn)到登陸頁面。要求:
(1)學(xué)會(huì)配置JDBC編程環(huán)境;(2)學(xué)會(huì)使用Eclipse的各種調(diào)試方法;
(3)熟練掌握J(rèn)SP、JavaBean與Servlet綜合編程的使用。
程序清單:
(建議程序中適當(dāng)添加注釋信息,增強(qiáng)可讀性;較長(zhǎng)程序可分欄書寫,保證報(bào)告排版整潔美觀。)
(實(shí)驗(yàn)三程序清單續(xù)1)
(實(shí)驗(yàn)三程序清單續(xù)2)
(實(shí)驗(yàn)三程序清單續(xù)3)
四、實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)項(xiàng)目名稱: SSH框架編程 實(shí)驗(yàn)學(xué)時(shí): 8 同組學(xué)生姓名: ———— 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間:
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
(1)熟練掌握Hibernate框架編程技術(shù);(2)熟練掌握Struts2框架編程技術(shù);(3)熟練掌握Spring框架編程技術(shù);(4)熟練掌握以上三種框架綜合編程技術(shù);
(5)調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;
(6)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試經(jīng)驗(yàn);(7)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。
二、實(shí)驗(yàn)儀器和設(shè)備
奔4以上計(jì)算機(jī),Windows 操作系統(tǒng),裝有JDK1.7,MySQL,Tomcat6和Eclipse軟件。
三、實(shí)驗(yàn)內(nèi)容及過程
(1)使用Hibernate將顧客表中的內(nèi)容輸出到JSP頁面中,要求實(shí)現(xiàn)以下功能:
? 將如下的數(shù)據(jù)庫腳本在MySQL中執(zhí)行,數(shù)據(jù)庫為MyDB; create table customers(customerid char(8)primary key, name char(40)default null, phone char(16)default null);? 在項(xiàng)目中加入Hibernate支持并生成映射文件,映射類以及HibernateSessionFactory類。再創(chuàng)建一個(gè)Dao類讀取顧客表中所有記錄返回集合List
(2)使用Hibernate對(duì)多表進(jìn)行關(guān)聯(lián)操作。對(duì)數(shù)據(jù)庫腳本中的職工表與部門表進(jìn)行級(jí)聯(lián)操作。要求實(shí)現(xiàn)以下功能: ? ? 可以根據(jù)部門編號(hào)查詢部門及其查詢?cè)摬块T下的所有職工信息;
刪除部門時(shí)級(jí)聯(lián)刪除部門下的所有職工。考慮當(dāng)刪除部門時(shí)不想刪除該部門的職工而只將職工中的部門編號(hào)置為空,應(yīng)該怎么設(shè)置。
(3)使用Struts2實(shí)現(xiàn)以下用戶登陸功能:
? 完成一個(gè)用戶登錄,用戶名以及密碼為必填項(xiàng)。使用 Action中的validate函數(shù)進(jìn)行驗(yàn)證。體會(huì)Struts2基本流程; ? 當(dāng)用戶輸入的用戶名不是 admin或密碼不是 12345時(shí)要求用戶重新登錄,并給出錯(cuò)誤提示。當(dāng)用戶填寫正確時(shí),導(dǎo)向一個(gè)成功頁面顯示用戶登錄成功; ? 結(jié)合使用Hibernate將用戶信息保存到數(shù)據(jù)庫中; ? 利用Struts標(biāo)簽 bean 以及l(fā)ogic標(biāo)簽,將數(shù)據(jù)庫中的表Customer中的內(nèi)容輸出,在頁面中輸出成表格,使用Hibernate讀寫數(shù)據(jù)庫。
(4)Struts國(guó)際化試驗(yàn),改造上述實(shí)驗(yàn)。當(dāng)用戶名或密碼未輸入,在中文環(huán)境下顯示中文,在英文環(huán)境下顯示英文錯(cuò)誤信息。注意:編寫兩個(gè)資源文件。
(5)編寫圖形接口Shape,該接口中有抽象函數(shù)計(jì)算面積double area();編寫圓類Circle與矩形類Rectange實(shí)現(xiàn)該接口。再編寫一個(gè)ShapeDao類,將Shape接口作為其屬性。通過Spring配置JavaBean,實(shí)現(xiàn)Bean的動(dòng)態(tài)注入。即只需改變注入的Bean就可以計(jì)算不同圖形的面積。
(6)完成網(wǎng)上成績(jī)錄入系統(tǒng)綜合實(shí)驗(yàn)。實(shí)驗(yàn)要求讀取數(shù)據(jù)庫中學(xué)生表、課程表和選課表中的內(nèi)容,動(dòng)態(tài)形成表單;教師可以登陸系統(tǒng)錄入學(xué)生成績(jī)。其中總評(píng)成績(jī)=平時(shí)成績(jī)*30% +期末成績(jī)*70%,各項(xiàng)成績(jī)?yōu)榘俜种啤? 教師登陸界面;
圖14.16 教師登陸界面參考
? 登陸成功后選擇所要錄入的課程;
圖14.17 教師選擇課程界面參考
? 錄入成績(jī)界面;
圖14.18 教師錄入成績(jī)界面參考 ? 點(diǎn)擊“保存成績(jī)”,則向數(shù)據(jù)庫中寫入輸入的成績(jī)。要求:
(1)學(xué)會(huì)SSH框架編程環(huán)境;
(2)學(xué)會(huì)使用Eclipse的各種調(diào)試方法;
(3)熟練掌握Hibernate、Struts與Spring綜合編程的使用。
程序清單:
(建議程序中適當(dāng)添加注釋信息,增強(qiáng)可讀性;較長(zhǎng)程序可分欄書寫,保證報(bào)告排版整潔美觀。)
(實(shí)驗(yàn)四程序清單續(xù)1)
(實(shí)驗(yàn)四程序清單續(xù)2)
四、實(shí)驗(yàn)結(jié)果與分析
第三篇:java ee 總結(jié)
程序題(計(jì)算器設(shè)計(jì)這個(gè)是servlet程 private double c;序)private double area;// 大題1網(wǎng)頁布局和設(shè)計(jì)部分:public double getA(){System.out.println(“執(zhí)行Action中的update方法!”);return “success”;resp.setContentType(“text/html;charset=gb2312”);req.setCharacterEncoding(“gb2312”);PrintWriter out=resp.getWriter();out.println(“
”);out.println(“return a;} public void setA(double a){this.a = a;} public double getB(){
return b;} public void setB(double b){this.b = b;} public double getC(){return c;} public void setC(double c){this.c = c;} public double getArea(){return area;} public void setArea(double area){this.area = area;} public String execute(){if(a+b>c&&b+c>a&&c+a>b)double s=0;{area=Math.sqrt(s*(s-a)*(s-b)*(s-c));s=1.00/2*(a+b+c);}elsereturn “success”;return “error”;} 大題3Struts2login(登錄login 窗口的問題1)public class Login {//登錄的代碼 private User user;private String id;public String getId(){}
return id;public void setId(String id){} this.id = id;public User getUser(){} return user;
public void setUser(User user){} this.user = user;public String execute()
{String sql=“from Users where name='”+user.getUsername()+“'”;HibernateUtil();
HibernateUtil util = newObject obj = util.search(sql);System.out.println(users.getName()Users users=(Users)obj;+“:”+users.getPass());tPass()))if(user.getUserpass().equals(users.ge {return “success”;}else{return “error”;}}public String {add()System.out.println(“執(zhí)行Action 中的 addreturn ”success“;方法!”);}public String {delete()System.out.println(“執(zhí)行Action中的delete方法!”);return “success”;}public String {
update()}public String {search()System.out.println(“執(zhí)行Action中的search方法!”);return “success”;} }
Hibernate對(duì)象到2維表的映射(實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增刪改查操作 問題2)public class HibernateUtil {public Object search(String sql)Session
{ session=HibernateSessionFactory.getSession();
Query query=session.createQuery(sql);List list=query.list();return list.get(0);}
User類的定義(問題3)public class User {private String username;private String userpass;public String getUsername(){ return username;}
Public { void setUsername(String username)this.username = username;public String getUserpass(){}
return userpass;public void setUserpass(String userpass){ }
this.userpass = userpass;}
} 主窗口的定義index.jsp(問題4)
Struts2的啟動(dòng)配置(問題5)
1、企業(yè)應(yīng)用程序的特點(diǎn):分布式、告訴反應(yīng)性、安全性、可擴(kuò)展性、集成性。
2、Java EE結(jié)構(gòu)的應(yīng)用程序包括4層:客戶層、表示邏輯層、業(yè)務(wù)邏輯層、企業(yè)信息層。
3、Jsp全稱:java server pageEJB 全稱:enterprise javabeans4Java、Java eeee 是一種的標(biāo)準(zhǔn)組件:體系結(jié)構(gòu),jsp、不是編程語言servlet、EJB是一個(gè)標(biāo)準(zhǔn)的中間件體系結(jié)構(gòu) 簡(jiǎn)化的開發(fā)與部署
5、Java ee是由Sun開發(fā)的6、Applet運(yùn)行在客戶端,具有豐富的圖形界面
Servlet運(yùn)行在服務(wù)器端,沒有圖形界面
7、Java ee的運(yùn)行需要有jdk89、、Mvc(model view controller)Html基礎(chǔ)問題(表格問題1)