




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河北科技大學(xué)信息科學(xué)與工程學(xué)院實(shí)訓(xùn)報(bào)告學(xué)生姓名:王偉 學(xué) 號(hào):08L0705219專業(yè)班級(jí):軟 件 工程L082實(shí)訓(xùn)地點(diǎn):信息樓A303實(shí)訓(xùn)時(shí)間:2011.12.5 -2012.01.13指導(dǎo)教師:張 曉 明2 012年1月實(shí)訓(xùn)成績(jī)?cè)u(píng)定表學(xué)生姓名王偉學(xué)號(hào)08L0705219成績(jī)專業(yè)班級(jí)軟件L082起止時(shí)間2011.12.05-2012.01.13實(shí)訓(xùn)地點(diǎn)信息樓A303指 導(dǎo) 教 師 評(píng) 語(yǔ)指導(dǎo)教師:年 月 日目錄一、實(shí)訓(xùn)目的 4二、實(shí)訓(xùn)任務(wù)與要求 4三、實(shí)訓(xùn)過(guò)程與內(nèi)容 41、需求分析 41.1 總體需求 41.2 功能需求 51.3 系統(tǒng)用例圖 52、JavaWeb 應(yīng)用程序工程制作流程 72
2、.1 開發(fā)環(huán)境搭建 72.2 系統(tǒng)設(shè)計(jì) 73、實(shí)現(xiàn)過(guò)程 163.1 JDBC連接數(shù)據(jù)庫(kù) 163.2 創(chuàng)建數(shù)據(jù)庫(kù)的連接 173.3 創(chuàng)建一個(gè)Statement 173.4 執(zhí)行SQL語(yǔ)句 183.5 JavaBean與 DAOHI式 183.6 文件上傳 184、關(guān)鍵問(wèn)題與實(shí)現(xiàn)結(jié)果 19四、實(shí)訓(xùn)總結(jié)與心得體會(huì) 21五、參考文獻(xiàn) 224、實(shí)訓(xùn)目的本實(shí)訓(xùn)課程是在學(xué)生具備了 Java程序設(shè)計(jì)知識(shí)與面向?qū)ο蠹夹g(shù)的基礎(chǔ)上,為進(jìn)一步提高項(xiàng)目實(shí)踐能力、開拓創(chuàng)新能力而設(shè)置的實(shí)踐性環(huán)節(jié)課程。目的掌握使用 JSP應(yīng)用程序設(shè)計(jì)的基 本技能,熟練使用MyEclipse進(jìn)行Web應(yīng)用程序的編寫、調(diào)試,詳細(xì)說(shuō)明Java W
3、e瞅件項(xiàng)目的 整個(gè)開發(fā)過(guò)程,在項(xiàng)目開發(fā)過(guò)程中逐步熟悉知識(shí)點(diǎn),掌握 Java B/S結(jié)構(gòu)程序的運(yùn)行原理和應(yīng)用 技能,最后完成一個(gè)完整的軟件開發(fā)項(xiàng)目二、實(shí)訓(xùn)任務(wù)與要求掌握J(rèn)ava集成開發(fā)環(huán)境(IDE) Eclipse的使用和調(diào)試方法,利用 JSP+Servlet+JavaBean 實(shí)現(xiàn)Wetg用開發(fā),掌握分層體系結(jié)構(gòu)開發(fā)的技巧,完成教師指定的開發(fā)任務(wù),本實(shí)訓(xùn)課程是圍繞一個(gè)完整的Java項(xiàng)目而展開的,雖然每部分內(nèi)容相對(duì)獨(dú)立,但通過(guò)幾次迭代開發(fā)后,最后 形成一個(gè)完整的軟件系統(tǒng)。任務(wù):通過(guò)實(shí)訓(xùn)課程結(jié)合實(shí)際案例獨(dú)立完成web電子相冊(cè)前臺(tái)、后臺(tái)的設(shè)計(jì)制作,并編碼實(shí)現(xiàn)。三、實(shí)訓(xùn)過(guò)程與內(nèi)容1、需求分析1.1 總
4、體需求該設(shè)計(jì)系統(tǒng)要具有實(shí)用性,功能完善,界面良好。設(shè)計(jì)該系統(tǒng)的流程如圖1所示。程序設(shè)計(jì):流程設(shè)計(jì):圖1程序設(shè)計(jì)流程圖1.2 功能需求本系統(tǒng)應(yīng)該具有登錄驗(yàn)證、修改密碼、創(chuàng)建相冊(cè)、瀏覽相片、上傳相片、刪除相冊(cè)或相片、 發(fā)表留言等功能,詳見圖2。電子相冊(cè)系統(tǒng)1.3 系統(tǒng)用例圖1.3.1 用戶用例普通用戶登錄系統(tǒng)后,可以點(diǎn)擊縮略圖的圖片名稱或者圖片進(jìn)而瀏覽大圖,并在此基礎(chǔ) 上為此大圖添加評(píng)論,同樣,用戶也可以在查看大圖的同時(shí),查看其他用戶對(duì)該圖片的評(píng) 論,如圖3所示13刑心大fl!111_fiSiTiC.fldSHH9A市D理論圖3.普通用戶用例圖1.3.2管理員用例管理員需要驗(yàn)證登錄密碼登錄后臺(tái),當(dāng)
5、然可以修改管理員密碼,然后,管理員可以創(chuàng)建、 刪除、修改圖片分類,進(jìn)而可以在每個(gè)分類目錄下上傳自己喜歡的圖片,其中,管理員還 有權(quán)刪除游客對(duì)所上傳照片的負(fù)面評(píng)論,如圖4所示。111 修哉管理受屈嗎-施C新圉節(jié)j、_11I圈片管理1管理導(dǎo)卿除評(píng)論國(guó)片婁別臂理圖4管理員用例圖2、 Java Web 應(yīng)用程序工程制作流程2.1 開發(fā)環(huán)境搭建在MyEclipse中配置好Tomcat服務(wù)器,配置好 MySQ散據(jù)庫(kù)在 MyEclipse中利用jdbc驅(qū) 動(dòng)訪問(wèn)MySQLR據(jù)庫(kù),利用MyEclipse部署Wetg用程序,在MySQ創(chuàng)建用戶表。MySQL勺數(shù) 據(jù)庫(kù)編碼設(shè)置為UTF-8,這樣有利于 Web目開發(fā)
6、時(shí),中文編碼的一致性。MyEclipse中Tomcat 服務(wù)器的設(shè)置時(shí),要將JV般置為本機(jī)的JDK安裝路徑,而非JRE的路徑,使用navicate lite 創(chuàng)建用戶表。2.2 系統(tǒng)設(shè)計(jì)該項(xiàng)目頁(yè)面設(shè)計(jì)上,采用了“障眼法”,在用戶點(diǎn)擊導(dǎo)航欄上的相應(yīng)鏈接時(shí),頁(yè)面會(huì)跳轉(zhuǎn)到各個(gè)相應(yīng)模塊,但是用戶感覺只是其中一部分變化而已,實(shí)則不然,在頁(yè)面布局設(shè)計(jì)上,應(yīng)用jsp 的 include 功能, 預(yù)先做出頁(yè)面頭,導(dǎo)航, 以及尾部的jsp 文件, 并 include 進(jìn)所有的jsp文件,在用戶點(diǎn)擊導(dǎo)航條時(shí),其實(shí)各個(gè)頁(yè)面的頭,導(dǎo)航,尾部也被該頁(yè)面內(nèi)include 的頭,導(dǎo)航,尾部所替代,只是在用戶感官上沒有差異而
7、已。2.2.1 登錄驗(yàn)證登錄頁(yè)面是電子相冊(cè)的首頁(yè),這是對(duì)瀏覽該電子相冊(cè)的用戶的篩選一個(gè)步驟,用戶只有提供正確的密碼才能進(jìn)入相冊(cè)主頁(yè)進(jìn)行其他操作。流程描述在UR班里輸入http : /localhost/ephoto/login.html便可進(jìn)入“登錄頁(yè)面”,如果在密碼框內(nèi)輸入密碼,系統(tǒng)會(huì)把其與之前給密碼賦的值進(jìn)行比對(duì),相匹配則登錄成功,跳轉(zhuǎn)至相冊(cè)主頁(yè);否則返回登錄頁(yè)面。流程、代碼及運(yùn)行結(jié)果詳見圖5、圖6、圖7所示。圖5 登錄驗(yàn)證圖inainLjsp j.i.JAJava I JI U&erDAO.java /S657585960616263646566676970717273public bo
8、olear isChccked(User user) throws SQLException| boolean flag = false;try ClassiyinrJVnwf(com-mysql. jdhc.Drivpr),nwlnstancp();Connection con - DriverNanager.getConnectionfjdbcmysql:/127.0.0, PrepArsdStatprnpnt p&tmt = con . pr9parptatpmpnt(,p prt * -From user i pstmt* setStringfl, useretUsernane();p
9、stmt.etStringt2, us&r.getPassword();ResultSet rs = pstmt,executeQuery();if (rs.next() flag - true;rs.close();8n.e1o6R(); catch (Exception e) e, printStackTracQ();return flag;圖6驗(yàn)證登錄用戶名密碼代碼圖7電子相冊(cè)登錄頁(yè)面2.2.2相冊(cè)主頁(yè)相冊(cè)主頁(yè)是用戶展示相片的頁(yè)面,對(duì)該系統(tǒng)的相冊(cè)和相片一覽無(wú)余。同時(shí)它也是電子相冊(cè) 的“導(dǎo)航”,可以鏈接到上傳照片、創(chuàng)建相冊(cè)、修改密碼、發(fā)表留言、返回主頁(yè)、退出登錄等功 能。在“登錄頁(yè)面”輸入
10、正確的密碼后方可進(jìn)入“相冊(cè)主頁(yè)”,如圖8所示。用戶可直接或用打 開相冊(cè)的方式瀏覽主頁(yè)上的照片和相冊(cè)里的照片, 如圖9所示。點(diǎn)擊主頁(yè)左方的各種鏈接可以進(jìn) 入相應(yīng)的操作,進(jìn)入其他功能界面。 user.getLJserName();pstnit. setStringflj user.getNewpassword();System.out.printusu廠 * getUserName0);System * out*print(user,getNewpassword 0); int num -pstnt.executeUpdate()j if(num!=0)flag = true;catch(Exce
11、ption q) e,printStackTrace();3306finally if (rs I =null)- rs.close();2.2.4創(chuàng)建相冊(cè)14圖10管理員修改密碼代碼圖11修改密碼頁(yè)面用戶可以根據(jù)自己的需要來(lái)創(chuàng)建新的相冊(cè),把照片分類。通過(guò)“相冊(cè)主頁(yè)”左側(cè)的鏈接點(diǎn)擊“創(chuàng)建相冊(cè)”進(jìn)入到“創(chuàng)建目錄頁(yè)面”,根據(jù)提示輸入新創(chuàng)建的相冊(cè)名稱,選擇創(chuàng)建,則新建相冊(cè)成功,轉(zhuǎn)到新建的相冊(cè)里。創(chuàng)建相冊(cè)完成后,可選擇界面上方的“返回主頁(yè)”和“退出登錄”執(zhí)行相關(guān)的操作。操作代碼及運(yùn)行結(jié)果如圖12、圖13所示。 mainl-jEp - ClaEAO.java-J144113- public static
12、 boolean ad(PhotoClass- phatoC ss)throws SQLExceptit1*16boolean flag-false;147Connection con=null;14SPrepa red Statement pstmt=null;149ReSultSet rS=null;JbOstring sql= insert into leibie (n3me,shuomingcontenftime) values (151try152Cls s ./orcwje(com. mysql. jdbc, Driver 153String url= jdbc : mysql :
13、/localhost: 3B06/photofnanjger ?user=rx)ot154cun=OriverMandger.getCcJnnec t lon(ur l);1ptmt=con.preparestatementql);156pstilt. setzString(11 photoC lass. getClassname();Ji/pstmt. setStringti pho-tot lass, getShuoming();15p&tnt,setString(3photoClassgetContentTime();159int nurn=pstmt.exccutcUpdate();1
14、50if(num!=0)(1G1laff=true:圖12添加分類代碼圖13添加分類頁(yè)面2.2.5上傳照片用戶可以根據(jù)自己的需要上傳照片。通過(guò)“相冊(cè)主頁(yè)”左側(cè)的鏈接點(diǎn)擊“上傳照片”進(jìn)入到“上傳照片頁(yè)面”,根據(jù)提示輸入選擇上傳方式。如果從本地上傳,選擇“瀏覽”在本地打開一張照片,點(diǎn)擊“上傳”則上傳照片成功,否則提示“上傳文件出錯(cuò)”。上傳照片完成后,返回到相冊(cè)主頁(yè)或某相冊(cè)。如果使用URL方式上傳,輸入網(wǎng)址選擇“傳送”則上傳照片成功,否則提示“文件出錯(cuò)” 。創(chuàng)建相冊(cè)完成后,可選擇界面上方的“返回主頁(yè)”和“退出登錄”執(zhí)行相關(guān)的操作。操作代碼及運(yùn)行結(jié)果如圖14、圖15所示。T Cldi5DAOjdvd
15、山 邛 h 臼toDAOjovd jpublic boolean addphotQ(Phuto photo)throws FxceptiGn(boolean flagfalse;Connection con=nullPreparedStatement pstmt=rulljResultSet rs=null;String sql=inscrt into photo (namOjpathjShuominjcontenttime String update=*update leibie set count=count+l where id=+pho try Class.ybrAto/veCcom.
16、mysql.jdhcfDriver*);String url-T,jdbc: mysql:/localhost: 3306/photomanager?user-roo con=Drive rManager. gtC cvinction(urL);pstnt*setString(l,pstmt-setString(2,pstmt*setString(3jp三tmt.與EtString(4,ptmt=+pid;try (Class .J-arNarre( com.mysql. jdbc. Driver);String irl=jdbc:mysql:/localhost:3306/photomana
17、ger?user=rootfipassb con=UriverManager.getConwection(url);rs=concreateStaternentf) *executeQuery(de);PreparedStatAm&nt psi;PreparedStatement ps2;PreparedStatement ps3;ps2 = c jri + prepares td Lene nt (delete)ps3 = con + prepareStatement(update);rs.first);圖16刪除圖片代碼百時(shí)速頂型且反施躅左冒亮圉:國(guó)臉隹魚戰(zhàn)宜理評(píng)乳管理便黜回 fiteaS
18、tring updateLeibie=*update leibie set count=count-l where id=i psi con,prcparcStatcmnt(updatcLeibio) / /QI- n i ncr nkiC+cD n+、=c;ncr f n k 際片”用歸修而15首總后市TirS301241401122-32空二二!畫?.!1naimevarchar500pathvs rchar2000dianjiint1100contenttimeva rthar*00shuom ingvarchar2550lidint40表3用戶表20空引 1處建在糕 SQL技覽L名津融
19、意允許空值(irt40contentteatwarchar”50contenttimeva rchar500nnameva rchar200pidint4Q欄位 素引骨器|則 |曲 SQL 財(cái)名允許空值(卜L.int40 廬usernamevarchar200passwordvarchar200表4評(píng)論表3、實(shí)現(xiàn)過(guò)程3.1 JDBC連接數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)以JDBC連接數(shù)據(jù)庫(kù)的程序,包含7個(gè)步驟:加載JDBC動(dòng)程序:在連接數(shù)據(jù)庫(kù) 之前,首先要加載想要連接的數(shù)據(jù)庫(kù)的驅(qū)動(dòng)到 JVM (Java虛擬機(jī)),這通過(guò)java.lang.Class 類的靜態(tài)方法 forName(String className)
20、實(shí)現(xiàn)。例如:try/加載MySql的驅(qū)動(dòng)類Class.forName(com.mysql.jdbc.Driver) ;catch(ClassNotFoundException e)System.out.println(找不到驅(qū)動(dòng)程序類,加載驅(qū)動(dòng)失?。?;e.printStackTrace() ;成功加載后,會(huì)將 Driver類的實(shí)例注冊(cè)到DriverManager類中。提供JDBC連接的URL 連接URL定義了連接數(shù)據(jù)庫(kù)時(shí)的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識(shí)。書寫形式:協(xié)議:子協(xié)議:數(shù)據(jù) 源標(biāo)識(shí)。協(xié)議:在JDBC中總是以jdbc開始。子協(xié)議:是橋連接的驅(qū)動(dòng)程序或是數(shù)據(jù)庫(kù)管理 系統(tǒng)名稱。數(shù)據(jù)源標(biāo)識(shí):標(biāo)記找
21、到數(shù)據(jù)庫(kù)來(lái)源的地址與連接端口。例如:(MySql的連接URLjdbc:mysql:/localhost:3306/test?useUnicode=true&characterEncoding=gbk;useUnicode=true :表示使用Unicode字符集。如果characterEncoding 設(shè)置為gb2312或GBK本參數(shù)必 須設(shè)置為true 。 characterEncoding=gbk :字符編碼方式。3.2 創(chuàng)建數(shù)據(jù)庫(kù)的連接要連接數(shù)據(jù)庫(kù),需要向 java.sql.DriverManager 請(qǐng)求并獲得Connection 對(duì)象, 該對(duì)象就代表一個(gè)數(shù)據(jù)庫(kù)的連接。使用 Drive
22、rManager 的 getConnectin(String url , String username , String password ) 方法傳入指定的欲連接的數(shù)據(jù)庫(kù)的路徑、數(shù)據(jù)庫(kù)的用戶名和密碼來(lái)獲得。例如:/連接MySql數(shù)據(jù)庫(kù),用戶名和密碼都是rootStringurl = jdbc:mysql:/localhost:3306/test;Stringusername = root ;Stringpassword = root ;tryConnection con =DriverManager.getConnection(url , username , password ) ; c
23、atch(SQLException se) System.out.println( 數(shù)據(jù)庫(kù)連接失??!);se.printStackTrace() ; 3.3 創(chuàng)建一個(gè)Statement要執(zhí)行SQLi句,必須獲得java.sql.Statement 實(shí)例,Statement實(shí)例分為以下3種類型: (1)、執(zhí)行靜態(tài)SQL句。通常通過(guò)Statement實(shí)例實(shí)現(xiàn)。(2)、執(zhí)行動(dòng)態(tài)SQL句。通常通過(guò) PreparedStatement實(shí)例實(shí)現(xiàn)。( 3) 、執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。通常通過(guò)CallableStatement 實(shí)例實(shí)現(xiàn)。具體的實(shí)現(xiàn)方式: Statement stmt = con.createSt
24、atement();PreparedStatementpstmt = con.prepareStatement(sql);CallableStatementcstmt = con.prepareCall(CALLdemoSp(? , ?)3.4 執(zhí)行SQL語(yǔ)句Statement 接口提供了三種執(zhí)行SQL語(yǔ)句的方法:executeQuery 、executeUpdate 和execute(1)、ResultSet executeQuery(String sqlString):執(zhí)行查詢數(shù)據(jù)庫(kù)的 SQL語(yǔ)句,返回 一個(gè)結(jié)果集(ResultSet )對(duì)象。(2)、intexecuteUpdate(St
25、ring sqlString):用于執(zhí)行 INSERT UPDATES DELETE旬以及 SQL DDL句,如:CREATE TABLE?口 DROP TABLE?。( 3) 、 execute(sqlString): 用于執(zhí)行返回多個(gè)結(jié)果集、多個(gè)更新計(jì)數(shù)或二者組合的語(yǔ)句。3.5 JavaBean 與 DAOj!式JavaBean是數(shù)據(jù)的承載體,負(fù)責(zé)把一組有邏輯的數(shù)據(jù)從一個(gè)層傳到另一個(gè)層。DAO的出現(xiàn)是對(duì)持久層的變動(dòng)的一個(gè)解決方案。對(duì)于不同的持久介質(zhì)(RDBMSXML ODBMS?)、不同的提供廠商 (Oracle 、 Mysql 等 )提供的產(chǎn)品,進(jìn)行持久化操作時(shí),對(duì)于業(yè)務(wù)邏輯層應(yīng)該是統(tǒng)一
26、的, 于是DAO真式就出現(xiàn)了。對(duì)于同一個(gè)業(yè)務(wù)操作,例如添加一個(gè)用戶,請(qǐng)求到達(dá)業(yè)務(wù)層,只需調(diào) 用DAO層的addUser()即可。而到底是怎么添加的、以及添加到哪里,是業(yè)務(wù)層不用關(guān)心的, 也是不要關(guān)心的。于是,持久層將利用業(yè)務(wù)層傳遞來(lái)的請(qǐng)求數(shù)據(jù),即封裝了要添加的用戶信息JavaBean,添力口至?xí)rI久層:Oracle就要取序列,Mysql會(huì)自動(dòng)增長(zhǎng),XML就要手動(dòng)控制了。這 些實(shí)現(xiàn)細(xì)節(jié)對(duì)業(yè)務(wù)邏輯層是一樣的效果。但是DAO奠式中也會(huì)有一些數(shù)據(jù)承載體,不過(guò)它們承載的不是業(yè)務(wù)數(shù)據(jù),而是持久化操作的相關(guān)對(duì)象,例如DAO寸象,DAO工廠,連接對(duì)象等。表面上看, 這些也承載數(shù)據(jù),但它實(shí)際是包含了內(nèi)在的邏輯和
27、操作。例如連接對(duì)象的打開和關(guān)閉,事務(wù)的回滾和提交等。所以,嚴(yán)格意義上來(lái)說(shuō),它們不是純粹的JavaBean。純粹的JavaBean是只包含屬性和這些屬性對(duì)應(yīng)的getter 和 setter 。3.6 文件上傳這部分比較不容易實(shí)現(xiàn),需要非常的有耐心和毅力,計(jì)算用戶上傳的原圖和縮放后的小圖,并把圖片改成jpeg 的編碼。現(xiàn)在將關(guān)鍵代碼附上:new_w = Math.round(old_w / tempdouble);new_h = Math.round(old_h / tempdouble);/ 計(jì)算新圖長(zhǎng)寬BufferedImage tag = new BufferedImage(new_w, n
28、ew_h, BufferedImage.TYPE_INT_RGB);tag.getGraphics().drawImage(src, 0, 0, new_w, new_h, null); / 繪制縮小后的圖FileOutputStream newimage = new FileOutputStream(saveurl+newfilename_min ); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);encoder.encode(tag); 近 JPE端碼下面代碼是將取得的文件重新以上傳時(shí)間命名,并用原圖的擴(kuò)展
29、名加載取得的時(shí)間后面形 成新文件的名稱,同時(shí)在文件夾內(nèi)生成縮略圖,String filedName=item.getFieldName();String fileName=item.getName();File f=new File(fileName);String ext =fileName.substring(fileName.lastIndexOf(.);String contentType=item.getContentType();boolean isInMemory=item.isInMemory();long sizeInBytes=item.getSize();PhotoDAO
30、 photoDAO=new PhotoDAO(); String saveurl=request.getSession().getServletContext().getRealPath(/)+uploadimage; String newfilenamewithext=newphotoname + ext;4、關(guān)鍵問(wèn)題與實(shí)現(xiàn)結(jié)果在 servlet 中,一般跳轉(zhuǎn)都發(fā)生在doGet, doPost 等方法里面。redirect 方式:response.sendRedirect(/a.jsp) ,頁(yè)面的路徑是相對(duì)路徑。sendRedirect 可以將頁(yè)面跳轉(zhuǎn)到任何頁(yè)面,不一定局限于本web應(yīng)用中跳
31、轉(zhuǎn)后瀏覽器地址欄變化。這種方式要傳值出去的話, 只能在 url 中帶 parameter 或者放在session 中,無(wú)法使用request.setAttribute 來(lái)傳遞。Forward 方式, RequestDispatcher dispatcher =request.getRequestDispatcher( “ a.jsp ” ); dispatcher .forward(request, response) ,頁(yè)面的路徑是相對(duì)路徑。forward 方式只能跳轉(zhuǎn) 到本web應(yīng)用中的頁(yè)面上。跳轉(zhuǎn)后瀏覽器地址欄不會(huì)變化。使用這種方式跳轉(zhuǎn),傳值可以使用 三種方法:url 中帶 parame
32、ter , session , request.setAttribute 。本次項(xiàng)目的關(guān)鍵問(wèn)題在于圖片上傳以及通過(guò)圖片管理顯示圖片的縮略圖,圖片上傳后會(huì)在對(duì)應(yīng)文件夾內(nèi)生成兩張一上傳時(shí)間為名稱的圖片,其中一張是后綴有_min的,這就是縮略圖,另外一張則是管理員上傳的大圖,通過(guò)點(diǎn)擊縮略圖或其名稱打開,用戶可以查看大圖,并針對(duì) 相應(yīng)的圖片添加評(píng)論,其次,在分類管理中,管理員可以對(duì)分類的名稱和分類的說(shuō)明進(jìn)行修改 刪除等操作,特別需要注意的是,在用戶點(diǎn)擊刪除分類時(shí),程序會(huì)將該分類下所有圖片一并刪 除,這也是該程序的缺點(diǎn)所在。該程序所實(shí)現(xiàn)的結(jié)果是管理員通過(guò)管理員登錄,成功登錄系統(tǒng) 后,添加分類、說(shuō)明,并在
33、該分類中成功添加、刪除圖片,并可進(jìn)入相應(yīng)的分類內(nèi)管理圖片, 可對(duì)圖片進(jìn)行編輯,刪除評(píng)論等操作。游客進(jìn)入系統(tǒng),可以查看自己喜歡的圖片,并可點(diǎn)擊查 看大圖,在大圖中添加自己的評(píng)論,同時(shí)游客也可注冊(cè)用戶名,進(jìn)而登錄系統(tǒng),創(chuàng)建自己的分 類,上傳自己的圖片等完成管理員的所有操作。實(shí)現(xiàn)結(jié)果如圖18、圖19所示。EfFynn? _ 尸X Q 小 力”* 因http加otJlhosCK網(wǎng)驚tmstV所網(wǎng)恒怵什癡(17曜的加贊0芯?5s即廣# $而次電子相冊(cè)售理f、 I uir -顫I酹凰片 gasoi僭改礴i息出管理圖18實(shí)現(xiàn)用戶瀏覽圖片M G 看 * 因httpMoQl刈能電cton*&id i7. 0 二:卜四、實(shí)訓(xùn)總結(jié)與心得體會(huì)通過(guò)這一個(gè)月的實(shí)訓(xùn)I,雖然倍感糾結(jié),但是卻收獲頗豐,我不僅有了學(xué)習(xí)上的成果的喜悅, 而且自己也日漸成熟,較之參加實(shí)訓(xùn)之前,有種說(shuō)不出的成就感。當(dāng)我正式準(zhǔn)備接受java web的實(shí)訓(xùn)課程時(shí),讓我倍感興奮,雖然平時(shí)也學(xué) java編程,但 是那些都是學(xué)的皮毛而已,沒有真正應(yīng)用到實(shí)際例子中,也很難發(fā)現(xiàn)自己的不足,這次實(shí)訓(xùn)I, 老師先教我們配置JAVA勺編程工具和運(yùn)行環(huán)境,然后教我們學(xué)JSP,在此期間,我們自學(xué)了 JAVA 又學(xué)了 Tomcat的使用及MySql和HTML言,當(dāng)我們JSP入門后,教我們學(xué)會(huì)了 Javaweb的使 用。老師的細(xì)心輔導(dǎo)下,我們有了很大
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒中小學(xué)面試-2020年下半年教師資格證考試《幼兒結(jié)構(gòu)化面試》真題
- 2025年焙烤食品項(xiàng)目發(fā)展計(jì)劃
- 第十二課 小試身手-視頻剪輯的簡(jiǎn)單編輯 教學(xué)設(shè)計(jì) -2023-2024學(xué)年大連版(2015)初中信息技術(shù)七年級(jí)上冊(cè)
- 2025年河南工業(yè)和信息化職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完整
- 2025年菏澤醫(yī)學(xué)??茖W(xué)校單招職業(yè)傾向性測(cè)試題庫(kù)匯編
- 2025年河南省焦作市單招職業(yè)傾向性測(cè)試題庫(kù)完整
- 2025年湖南吉利汽車職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案
- 2025至2030年中國(guó)止血貼數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 江西省吉安市2023-2024學(xué)年高三上學(xué)期期末考試地理試題(解析版)
- 2025年廣東省珠海市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 2025年學(xué)校心理健康教育工作計(jì)劃(三篇)
- 2025年教科版科學(xué)五年級(jí)下冊(cè)教學(xué)計(jì)劃(含進(jìn)度表)
- 北師大版一年級(jí)語(yǔ)文下冊(cè)第一單元元宵節(jié)《1元宵節(jié)》
- 歐盟一般食品法Regulation-(EC)-No-178-2002中文翻譯
- 2024屆高考語(yǔ)文二輪復(fù)習(xí)詩(shī)歌專題訓(xùn)練文學(xué)短評(píng)類題型(含解析)
- 春節(jié)安全生產(chǎn)開工第一課培訓(xùn)課件內(nèi)容
- 消防設(shè)施維保過(guò)程風(fēng)險(xiǎn)及保障措施
- 中國(guó)傳統(tǒng)文化非遺文化中國(guó)剪紙介紹2
- 飲酒與糖尿病
- 大學(xué)體育與健康 教案 保?。ò硕五\)4
- 非遺資源數(shù)據(jù)庫(kù)建設(shè)
評(píng)論
0/150
提交評(píng)論