javaEE太原理工大學(xué)實驗報告_第1頁
javaEE太原理工大學(xué)實驗報告_第2頁
javaEE太原理工大學(xué)實驗報告_第3頁
javaEE太原理工大學(xué)實驗報告_第4頁
javaEE太原理工大學(xué)實驗報告_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

JavaEE實驗報告學(xué)院:軟件學(xué)院班級:學(xué)號:姓名:指導(dǎo)教師:時間:2014年5月本科實驗報告課程名稱:JAVAEE編程技術(shù)實驗項目:語法基礎(chǔ)與代碼風格實驗實驗地點:逸夫樓302專業(yè)班級:學(xué)號:學(xué)生姓名:指導(dǎo)教師:孫靜宇2014年5月實驗一語法基礎(chǔ)與代碼風格實驗一、實驗?zāi)康模菏煜ava、JSP、Servlet、Html等相關(guān)語法,培養(yǎng)良好的代碼風格,為其他實驗做好準備。二、實驗內(nèi)容:熟悉NetBeans開發(fā)環(huán)境,通過編寫一個Jsp調(diào)用Servlet的程序,熟悉Java、JSP、Servlet、Html等相關(guān)語法,培養(yǎng)良好的代碼風格??梢匀芜x以下任一題目:網(wǎng)站計數(shù)器(可使用JavaBean);三、實驗要求: 參照課本,快速熟悉相關(guān)內(nèi)容,按所需題目編寫程序,熟悉Java等編程語言或技術(shù)的基本編程技巧,注重良好的代碼風格(如變量命名、代碼注釋、Servlet與類中代碼的結(jié)構(gòu)等),初步掌握編寫Web應(yīng)用程序的能力。四、實驗環(huán)境:軟件環(huán)境:Windows7/2008-x86,NetBeans7.4;硬件環(huán)境:P42.4G/80G/1G/64M及較高配置的PC機。五、實驗步驟:代碼:publicvoidinit()throwsServletException{Stringcounter=null;FileFCounter=newFile("j:\\counter.txt");if(!FCounter.exists())try{FCounter.createNewFile();FileWriterfw=newFileWriter("j:\\counter.txt");BufferedWriterbw=newBufferedWriter(fw);bw.write("0");bw.close();}catch(IOExceptionex){Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE,null,ex);}try{FileReaderfr=newFileReader("j:\\counter.txt");BufferedReaderbr=newBufferedReader(fr);try{counter=br.readLine();br.close();}catch(IOExceptionex){Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE,null,ex);}}catch(FileNotFoundExceptionex){Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE,null,ex);}this.getServletContext().setAttribute("counter",counter);}Destory()方法:(實現(xiàn)了跟新文件內(nèi)容的功能)publicvoiddestroy(){Stringcounter=null;try{FileWriterfw=newFileWriter("j:\\counter.txt");BufferedWriterbw=newBufferedWriter(fw);counter=(String)this.getServletContext().getAttribute("counter");bw.write(counter);bw.close();}catch(IOExceptionex){Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE,null,ex);}}processRequest()方法:(實現(xiàn)了用戶瀏覽后加一的功能,以及顯示給用戶)protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter();Stringcounter=null;counter=(String)this.getServletContext().getAttribute("counter");intcount=Integer.parseInt(counter);count++;counter=String.valueOf(count);this.getServletContext().setAttribute("counter",counter);try{out.println("<html>");out.println("<head>");out.println("<title>網(wǎng)站計數(shù)器</title>");out.println("</head>");out.println("<body>");out.println("<center><h1>網(wǎng)頁計數(shù)器</h1>");out.println("<h1訪問次數(shù):"+this.getServletContext().getAttribute("counter")+"</h1>");out.println("</center></body>");out.println("</html>");}finally{out.close();}}六、思考題:1.為什么要保持良好的代碼風格?更有利于代碼修改于找錯,大大節(jié)省時間。與C,C++,C#等相比較,Java相關(guān)技術(shù)編寫Web應(yīng)用有何特點?其中C++則一般看作是對C語言的擴展。因為C語言沒有面向?qū)ο蟮恼Z法結(jié)構(gòu),而當時業(yè)界又迫切需要面向?qū)ο蟮木幊烫匦裕詫嶒炇业拈_發(fā)者就為C添加了面向?qū)ο蟮慕Y(jié)構(gòu)?,F(xiàn)在C++已經(jīng)不只是C的擴展了,它已經(jīng)完全可以被看作一種新的編程語言。雖然C的特性以及庫函數(shù)仍然被C++支持,不過C++擁有自己的獨立的類庫體系,功能相當強大。

Java語言是一種完全的面向?qū)ο笳Z言,雖然它的底層(運行時庫)是用C語言開發(fā)的,可是并不依賴于C.本科實驗報告課程名稱:JAVAEE編程技術(shù)實驗項目:代碼結(jié)構(gòu)實驗1實驗地點:逸夫樓302專業(yè)班級:學(xué)生姓名:指導(dǎo)教師:孫靜宇2014年5月實驗二代碼結(jié)構(gòu)實驗1一、實驗?zāi)康模赫莆毡硎緦涌蚣躂SF的基礎(chǔ)知識,編寫一個簡單的用戶登錄程序,達到對代碼結(jié)構(gòu)以及應(yīng)用分層相關(guān)技術(shù)的初步掌握。實驗內(nèi)容:使用xhtml實現(xiàn)前臺表示層邏輯(即視圖),而用Managed(CDI)Bean編寫后臺業(yè)務(wù)邏輯,實現(xiàn)一個簡單的用戶登錄程序。三、實驗要求:學(xué)習JSF框架的基本知識,設(shè)計用戶登錄視圖(可增加注冊視圖)、表示用戶的Managedbean等,設(shè)計類型轉(zhuǎn)換器、校驗器(擴展要求),注重分層設(shè)計以及相關(guān)的類、需實現(xiàn)接口的主要操作等,初步掌握設(shè)計分層應(yīng)用的基本方法。四、實驗環(huán)境:軟件環(huán)境:Windows7/2008-x86,NetBeans7.4;硬件環(huán)境:P42.4G/80G/1G/64M及較高配置的PC機。五、實驗步驟:1.通過查閱教材示例、網(wǎng)絡(luò)以及試用類似軟件,明確用戶注冊程序功能;2.設(shè)計登錄(login)、登錄成功(success)、登錄失敗(fail)、注冊(register)、注冊成功(regsuccess)、注冊失?。╮egfail)等視圖;3.設(shè)計表示用戶信息的managed(cdi)bean以及相關(guān)的類型轉(zhuǎn)換器和校驗器類(bean中含簡單的用戶名和密碼即可);4.編寫相關(guān)代碼,實現(xiàn)程序,并測試。代碼:Login.xhtml//登錄注冊頁面<?xmlversion="1.0"encoding="UTF-8"?><htmlxmlns="/1999/xhtml"xmlns:ui="/jsf/facelets"xmlns:h="/jsf/html"><head><title>JSF登錄頁面</title><metaname="viewport"content="width=device-width"/></head><body><center><ui:insert><div>用戶登錄</div><h:form><table><tr><td>用戶名:</td><td><h:inputTextvalue="#{user.username}"></h:inputText><br/></td></tr><tr><td>密碼:</td><td><h:inputSecretvalue="#{user.password}"></h:inputSecret><br/></td></tr></table><h:commandButtonaction="#{user.login}"value="登錄"></h:commandButton><h:commandButtonaction="#{user.register}"value="注冊"></h:commandButton></h:form></ui:insert></center></body></html>登錄成功頁面:success.xhtml<htmlxmlns="/1999/xhtml"xmlns:ui="/jsf/facelets"xmlns:h="/jsf/html"><head><title>登錄成功</title><metaname="viewport"content="width=device-width"/></head><body><div>登錄成功</div><ui:insert>歡迎光臨:<h:outputFormatvalue="#{user.username}"></h:outputFormat></ui:insert></body></html>注冊成功頁面:regsuccess.xhtml<htmlxmlns="/1999/xhtml"xmlns:ui="/jsf/facelets"xmlns:h="/jsf/html"><head><title>TODOsupplyatitle</title><metaname="viewport"content="width=device-width"/></head><body><h1>注冊成功!</h1>您注冊的信息是:<br/><center><ui:insert><h:form><table><tr><td>用戶名:</td><td><h:outputLabelvalue="#{user.username}"></h:outputLabel><br/></td></tr><tr><td>密碼:</td><td><h:outputLabelvalue="#{user.password}"></h:outputLabel><br/></td></tr></table></h:form></ui:insert></center></body></html>User.javapackagecom.wfsexp2;importjavax.faces.bean.ManagedBean;importjavax.faces.bean.SessionScoped;@ManagedBean@SessionScopedpublicclassUser{privateStringusername;privateStringpassword;publicStringgetUsername(){print("getUsername");returnusername;}publicvoidsetUsername(Stringusername){print("setUsername");this.username=username;}publicStringgetPassword(){print("getPassword");returnpassword;}publicvoidsetPassword(Stringpassword){print("setPassword");this.password=password;}publicStringlogin(){if("wfs".equals(this.username)&&"123456".equals(this.password)){return"success";}else{return"fail";}}publicStringregister(){if(!this.username.equals("")&&(!this.password.equals(""))){return"regsuccess";}else{return"regfail";}}privatevoidprint(Stringstr){System.out.println(str);}}本科實驗報告課程名稱:JAVAEE編程技術(shù)實驗項目:代碼結(jié)構(gòu)實驗2實驗地點:逸夫樓302專業(yè)班級:班學(xué)號:2學(xué)生姓名:指導(dǎo)教師:孫靜宇2014年5月實驗三代碼結(jié)構(gòu)實驗2一、實驗?zāi)康模和ㄟ^基于MVC模式與MySQL實現(xiàn)一個簡單的留言簿,達到對代碼結(jié)構(gòu)甚至程序結(jié)構(gòu)的相關(guān)技術(shù)的初步掌握。實驗內(nèi)容:通過采用MVC模式和基于MySQL數(shù)據(jù)設(shè)計前臺頁面、后臺Servlet、數(shù)據(jù)庫等,實現(xiàn)一個簡單的留言簿。三、實驗要求:學(xué)習MVC模式基本概念,建立MySQL數(shù)據(jù)庫表結(jié)構(gòu)及內(nèi)容,設(shè)計并實現(xiàn)登錄頁面、Servlet等,并注重主要代碼、類、接口內(nèi)部的主要屬性和操作的關(guān)系,初步掌握設(shè)計代碼結(jié)構(gòu)的基本方法。四、實驗環(huán)境:軟件環(huán)境:Windows7/2008-x86,NetBeans7.4;硬件環(huán)境:P42.4G/80G/1G/64M及較高配置的PC機。實驗步驟:1.我將數(shù)據(jù)庫建立在test下,建立完成如圖:詳細代碼:--創(chuàng)建person表CREATETABLEperson( idvarchar(20)notnullprimarykey, namevarchar(20), passwordvarchar(20));--創(chuàng)建留言表CREATETABLEnote( idintauto_incrementnotnullprimarykey,--sequence titlevarchar(20)notnull, authorvarchar(20)notnull, contentvarchar(50)notnull);--插入測試數(shù)據(jù)INSERTINTOpersonVALUES('fjj','樊嘉驥','123');INSERTINTOpersonVALUES('wx','微笑','ssw');INSERTINTOpersonvalues('cm','草莓','123456');4.改寫數(shù)據(jù)庫連接代碼。5.參考MVC+DAO項目編寫代碼,調(diào)試運行項目,記錄運行結(jié)果。實驗結(jié)果與分析:七、總結(jié)不僅對mvc模式有了深入的了解,而且更大的收獲我覺得還是對編碼態(tài)度的轉(zhuǎn)變,在之前的很多實驗基本上都是一上手就是編碼,考慮業(yè)務(wù)只是在編碼過程中附帶的,包括這次的實驗也是如此,編寫的時候才考慮怎么去處理,怎么去編排,但是當系統(tǒng)完成很多功能之后,我才發(fā)現(xiàn)業(yè)務(wù)邏輯有多么的重要,面向?qū)ο笤O(shè)計方法有多么的重要,如果在剛開始編碼之前我把業(yè)務(wù)邏輯搞清楚,并且用開發(fā)工具圖文并茂的把它都描述出來,那么編碼對于我來說簡直太容易了,但是前提還是要對Servlet,jsp有所熟悉!而且對代碼的可讀性,可維護性也增強了,舉一個很簡單的例子,數(shù)據(jù)庫連接,一直一來在連接數(shù)據(jù)庫時我都是用連接池實現(xiàn)的,但在中間的好幾次,用完一次連接池后再啟動服務(wù)器,服務(wù)器就根本啟動不了,最后只能重新安裝服務(wù)器,但我不用連接池,用原始的jdbc連接數(shù)據(jù)庫,修改代碼時,只需修改事先創(chuàng)建類ZCXConnectMysqlBean.java中的ContectMysql()方法就解決問題了,其他的都不用去修改,從這點小小的轉(zhuǎn)變中用一次讓我看到了面向?qū)ο笏枷氲母叨?本科實驗報告課程名稱:JAVAEE編程技術(shù)實驗項目:分布式軟件開發(fā)實驗實驗地點:逸夫樓302專業(yè)班級:1學(xué)號:2學(xué)生姓名:指導(dǎo)教師:孫靜宇2014年5月實驗四分布式軟件開發(fā)實驗一、實驗?zāi)康模菏煜eb服務(wù)的基本工作原理,通過編寫一個簡單的基于Web服務(wù)的程序,掌握分布式軟件開發(fā)的基本思想和方法。二、實驗內(nèi)容:掌握Web服務(wù)工作原理;編寫一個兩個數(shù)求和的Web服務(wù);編寫基于Jsp的測試程序;實驗方式:查閱資料,模仿資料開發(fā)。三、實驗要求:掌握基于Web服務(wù)編寫分布式應(yīng)用的方法,學(xué)會使用集成開發(fā)環(huán)境的各種快捷方式開發(fā)、部署與運行Web服務(wù),并要求掌握測試Web服務(wù)的初步方法。四、實驗環(huán)境:軟件環(huán)境:Windows7/2008-x86,NetBeans7.4;硬件環(huán)境:P42.4G/80G/1G/64M及較高配置的PC機。五、實驗步驟:1.參照課本相關(guān)內(nèi)容或資料,熟悉NetBeans中開發(fā)Web服務(wù)的相關(guān)知識;2.參照課本或資料資料里的相關(guān)示例,設(shè)計Web服務(wù)及測試頁面,建立采用實驗人姓名的項目(如sjyAddWS),編寫相關(guān)代碼;3.部署、運行與測試。代碼:@WebMethod(operationName="QiuHe")publicdoubleQiuHe(@WebParam(name="data1")doubledata1,@WebParam(name="data2")doubledata2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論