java web實(shí)習(xí)報告.doc
《java web實(shí)習(xí)報告.doc》由會員分享,可在線閱讀,更多相關(guān)《java web實(shí)習(xí)報告.doc(23頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
java web實(shí)習(xí)報告 目錄 第一篇:java web 開發(fā)技術(shù)實(shí)驗(yàn)報告模版 第二篇:java web課程設(shè)計(jì)實(shí)訓(xùn)報告 第三篇:java web郵件學(xué)習(xí) 第四篇:java web總結(jié) 第五篇:java web總結(jié) 正文 第一篇:java web 開發(fā)技術(shù)實(shí)驗(yàn)報告模版 項(xiàng)目綜合實(shí)踐報告 題目:html+css 旅游門戶網(wǎng)站設(shè)計(jì) 班級:計(jì)算機(jī)XX(1)姓名:丁一學(xué)號:954211完成日期:XX.9.14 一、分析設(shè)計(jì) 用文字、圖表等說明設(shè)計(jì)思路及設(shè)計(jì)結(jié)果。 二、主要源代碼 html css 三、效果圖 屏幕抓圖 四、調(diào)試過程 (調(diào)試過程中碰到的問題及解決方法) 五、實(shí)驗(yàn)結(jié)論 1、實(shí)驗(yàn)結(jié)果圖 2、實(shí)驗(yàn)心得體會 第二篇:java web課程設(shè)計(jì)實(shí)訓(xùn)報告 java web課程設(shè)計(jì)實(shí)訓(xùn)報告 我們進(jìn)行了為期一周的java web的課程實(shí)訓(xùn)。在這次實(shí)訓(xùn)中,我覺得我學(xué)到了很多東西。這次,老師給我們安排了一個項(xiàng)目,是關(guān)于商店購物的。首先,我們劃分了幾個小組,每組4-6人,每個人有每個人的工作,每個人的工作完成后整合到一起,這個項(xiàng)目就完成了。我在我們小組的工作是寫一段刪除商品的java代碼。因?yàn)槲业幕A(chǔ)比較差,所以我分擔(dān)的工作比較少,下面是我做的一段代碼: public void deleteproduct(string id) { statement stmt = null; connecttodb(); int tempid = integer.parseint(id); try { stmt = this.con.createstatement(); stmt.execute("delete from shop_info where product_id=" + tempid); } catch (exception e) { e.printstacktrace(); } finally { close(this.con, stmt, null); }} 總而言之,這次實(shí)訓(xùn)對我的幫助很大,我工作會很有從中學(xué)到了什么是團(tuán)隊(duì)協(xié)作,正所謂團(tuán)結(jié)就是力量,不僅如此,我還學(xué)到了很多的專業(yè)知識,積累了一些經(jīng)驗(yàn)。我想,對于我以后的工作會很有幫助,希望還能有更多像這樣的機(jī)會讓我能夠鍛煉我自己。 第三篇:java web郵件學(xué)習(xí) mons-fileupload-1.1.1.jar 上傳文件總結(jié): 1、 驗(yàn)證是否要處理的是上傳文件 servletfileupload.ismultipartcontent(request) 2、 創(chuàng)建diskfileitemfactory 對象并對其初始化設(shè)置 diskfileitemfactory factory = new diskfileitemfactory(); factory.setsizethreshold(20 * 1024); factory.setrepository(factory.getrepository()); 3、 創(chuàng)建servletfileupload 對象并設(shè)置其編碼方式 servletfileupload upload = new servletfileupload(factory); upload.setheaderencoding("gbk"); 4、 開始獲取上傳文件的集合: formlists = upload.parserequest(request); 5、 設(shè)置上傳文件允許的大小 int size = 2 * 1024 * 1024; 6、 循環(huán)遍歷formlists集合來根據(jù)其元素的類型(普通表單域還是文件域)進(jìn)行賦值還是上傳功能 iterator iter = formlists.iterator(); while (iter.hasnext()) { fileitem formitem = (fileitem) iter.next(); 7、 是文件域則執(zhí)行上傳: 具體做法:(1)、獲取文件路徑全名:string name = formitem.getname(); (2)、判斷文件名后綴是否符合要求:!name.endswith("mp3") (3)、判斷文件大小是否符合要求formitem.getsize() > size if/else(4)、都符合要求則上傳: 第一步:判斷文件的名稱不能為空(formitem.getname())、大小不能為0 (formitem.getsize()),如果不符合要求則continue執(zhí)行下一循環(huán) 第 二步: 獲取文件的單純文件名稱: name.substring(name.lastindexof("\") + 1, name.length()); 第 三步: 設(shè)置保存到的服務(wù)器地址:filedir ("file/") + "\" + 單純名稱;file savefile = new file(服務(wù)器地址); 第 四步: 上傳: formitem.write(savefile); 、 是普通表單域則將表單項(xiàng)的值賦值給相關(guān)對象變量,如(更多內(nèi)容請?jiān)L問好范 文網(wǎng):..)javabean(每一次循環(huán)將該次對應(yīng)的表單項(xiàng)的值付 給適當(dāng)?shù)淖兞繉ο? string formname = formitem.getfieldname(); 獲取普通表單項(xiàng)的名稱 string con = formitem.getstring("gbk"); 用formname.equals(““)來判斷 下載文件具體方法: 1、 獲取服務(wù)器下載地址并將此地址字符串進(jìn)行編碼: string path=request.getparameter("path"); 2、 創(chuàng)建下載目錄: file file = new file(path);獲取普通表單項(xiàng)的值并編碼 path=new string(path.getbytes("iso-8859-1")); 3、 創(chuàng)建文件字節(jié)輸入流 inputstream in = new fileinputstream(file); 4、 創(chuàng)建輸出流對象 outputstream os = response.getoutputstream(); 5、 設(shè)置該輸出流的應(yīng)大頭、編碼等配置 response.addheader("content-disposition", "attachment;filename=" + new string(file.getname().getbytes("gbk"),"iso-8859-1")); response.addheader("content-length", file.length() + ""); response.setcharacterencoding("gbk"); 6、 開始下載: int data = 0; while ((data = in.read()) != -1) { os.write(data); } 7、 關(guān)閉輸入輸出流 os.close(); in.close(); 郵件接收的方法: dao: 1、 創(chuàng)建郵件接收類:store 思路:創(chuàng)建properties類并添加屬性->創(chuàng)建session對象->創(chuàng)建store對象并連接到服務(wù)器和編寫關(guān)閉方法 2、 獲取全部已讀郵件的名稱集合的方法 返回string 3、 獲取全部已讀或未讀郵件的內(nèi)容的方法返回list(包含郵件信息和附件狀態(tài),但不包含具體附件內(nèi)容) 思路: 獲取store對象->獲取pop3folder對象->打開pop3folder郵件夾->創(chuàng)建fetchprofile預(yù)提取對象并對其添加兩個常用屬性->定義message[]對象數(shù)組并設(shè)為null->獲取全部已讀郵件的uid字符串->若字符串不為空則->轉(zhuǎn)換為數(shù)組并進(jìn)行排序->根據(jù)要求的已讀或者未讀條件來獲取全部已讀或未讀郵件信息給message[] (folder.search)->后退三步-若字符串為空則->獲取全部未讀郵件信息message[]---?開始提取上述郵件數(shù)組中每一個郵件的詳細(xì)信息->循環(huán)遍歷message[]數(shù)組->定義mimemessage對象并賦值為數(shù)組元素->獲取郵件id、發(fā)件人、郵件時間->根據(jù)編碼類型獲取郵件主題->由自定義方法獲取此郵件的附件對象(string[])->message[i].getflags().getsystemflags().tostring();->如果判斷返回的郵件有附件,則獲取附件設(shè)置為1,否則設(shè)置為0(來控制頁面中的附件圖標(biāo)的顯示)->將此郵件信息對象添加到list中。 4、 向數(shù)據(jù)庫中添加已讀郵件的標(biāo)記的方法:iduid address 5、 獲取指定郵件中附件的方法:此方法中重點(diǎn)是對郵件內(nèi)容的編碼處理,故這里重點(diǎn)介紹主要功能語法: 思路:(1)定義該郵件名稱對應(yīng)的所有附件連接字符串為超鏈接(附件之間用空格隔開)(string,由多個”附件序號=&附件名稱=&郵件序號”組成),定義郵件名稱字符串(已知條件) (2) multipart multipart = (multipart) part.getcontent();得到該郵件所有的內(nèi)容集合,然后對其遍歷以獲取每一個multipart中每一個bodypart->判斷此bodypart是否為附件,若是附件則獲取該附件的名稱 并添加到(1)中的連接字符串中,連接字符串中附件序號為遍歷變量j 最后: int counts = multipart.getcount(); bodypart對象的個數(shù) //返回mimemultipart對象中保存的//關(guān)閉流 response.setcontenttype("application/octet-stream"); for (int i = 0; i < counts; i++) {} getmailattach(multipart.getbodypart(i), emailv); 并返回string[] obj = { 郵件主題內(nèi)容, filename1 }; 6、 對輸入的utf7編碼的內(nèi)容進(jìn)行轉(zhuǎn)碼的方法 servlet: 下載附件servlet: 思路:設(shè)置response.setcontenttype("text/html;charset=gbk")、 request.setcharacterencoding("gbk")->創(chuàng)建httpsession對象->創(chuàng)建servletoutputstream對象->獲取頁面?zhèn)鬟f變量:附件序號、附件名稱;獲取session變量"message"->將附件名稱進(jìn)行編碼處理:filename=new string(filename.getbytes(),"iso-8859-1")->response.setheader("content-disposition","attachment;filename="+filename)->由”message”獲取multipart對象->由multipart對象獲取bodypart對象->由bodypart對象獲取inputstream對象->開始下載: int c=0; while((c=is.read())!=-1){out.write(c);} 收取郵件servlet(郵件的全部具體信息): 1、 郵箱登陸的驗(yàn)證方法: 思路:獲取表單傳遞值的host username pwd->用dao(1)中的方法進(jìn)行用戶驗(yàn)證如果正確->創(chuàng)建httpsession對象->用session.setattribute的方法保存登陸的用戶信息(以上三個)-> store.close(); 2、 獲取當(dāng)前分頁頁面中已讀或未讀的全部郵件的集合(包含郵件信息和附件狀態(tài),但不包含具體附件內(nèi)容) 思路:創(chuàng)建httpsession對象,并獲session變量host username pwd和request變量"flag"和"page"-> request.setattribute("flag", flag)->根據(jù)request變量”page”來判斷是否已經(jīng)開始分頁瀏覽->若沒有則先執(zhí)行dao(3)方法獲取已讀或未讀的全部郵件集合,然后執(zhí)行自定義分頁類中的初始化方法獲取上述集合中的第一頁中的郵件集合,并request.getsession().setattribute("pagination", 分頁類的實(shí)例化);->若已經(jīng)開始分頁,則將當(dāng)前頁page賦值為已經(jīng)存在的session類型的分頁類對象中的getpage方法中返回的page,并且執(zhí)行自定義分頁類中的類似初始化方法的獲取當(dāng)前頁面集合的方法(具體看程序) 3、 查看郵件詳細(xì)信息:(獲取指定郵件的信息) 思路:同dao(3)中的方法相似 不同之處是:dao(3)查詢的是全部已讀或未讀 而本案查詢的是指定的郵件id tools: 本案中主要為分頁類的編寫: 1、 初始化獲取第一頁的集合 2、 獲取已分頁的當(dāng)前頁面的集合 3、 獲取全部記錄數(shù) 4、 獲取最大頁數(shù) 5、 獲取當(dāng)前頁數(shù) 6、 獲取分頁導(dǎo)航 第四篇:java web總結(jié) java web 總結(jié) 1.jsp運(yùn)行原理 (1)用戶通過客戶端瀏覽器向服務(wù)器發(fā)送請求。 (2)jsp文件將jsp引擎編譯成java的class文件,即servlet。 (3)將產(chǎn)生的servlet加載到內(nèi)存執(zhí)行。 (4)servlet的運(yùn)行結(jié)果以html(或xml)形式通過web服務(wù)器返回客戶端的瀏覽器。 2.web項(xiàng)目設(shè)計(jì) (1)公開目錄(2)web_inf目錄(3)class目錄 3.jsp的基本語法 (1)腳本元素:聲明、腳本段、表達(dá)式。 (2)腳本段:<%%> (3)聲明:<%!%>不會產(chǎn)生任何輸出內(nèi)容→聲明全局變量。 (4)表達(dá)式:<%= %> (5)el表達(dá)式:${ } (6)指令元素:<% @ %>不在客戶端可見 (7)page指令、include指令、taglib指令 page指令:language屬性、contenttype(text/html)、text/plain application/ms、application/x-msexecl、pageencoding、info、import屬性. include指令:在jsp頁面中靜態(tài)包含一個文件 <@include file=""%>taglib指令: <%@taglib uri="標(biāo)記庫的uri地址" prefix="前綴名"%> 指令元素翻譯階段執(zhí)行,動作元素執(zhí)行階段被執(zhí)行。- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java web實(shí)習(xí)報告 web 實(shí)習(xí) 報告
鏈接地址:http://m.jqnhouse.com/p-4022379.html