




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
上海商學(xué)院課程設(shè)計(jì)題目Linux下J2EE開發(fā)與運(yùn)行環(huán)境搭建達(dá)到JSP程序可以訪問數(shù)據(jù)庫二級學(xué)院信息與計(jì)算機(jī)學(xué)院專業(yè)班級學(xué)號學(xué)生姓名指導(dǎo)教師職稱上海商學(xué)院課程設(shè)計(jì)(學(xué)年論文)評審表教研室:姓名專業(yè)班級題目:Linux下J2EE開發(fā)與運(yùn)行環(huán)境搭建達(dá)到JSP程序可以訪問數(shù)據(jù)庫評審意見成績指導(dǎo)教師簽名評審時(shí)間:年月日 -PAGE28--PAGEI-摘要使用VMware進(jìn)行LINUX的安裝,在建立虛擬機(jī)后配置鏡像文件,然后打開虛擬機(jī),進(jìn)行LINUX的安裝。在網(wǎng)上下載jdk的壓縮文件,拷入LINUX中后,使用LINUX中的歸檔管理器,解壓在用戶目錄下,可以避免權(quán)限分配問題,隨后在/etc/profile中配置環(huán)境變量,最后使用java–version測試是否配置成功。在tomcat官網(wǎng)下載LINUX上的壓縮包,同樣也使用歸檔管理器進(jìn)行解壓,可以運(yùn)行該目錄下的startup.sh運(yùn)行tomcat后,進(jìn)去loaclhost:8080查看是否正確啟動(dòng)。在eclipse官網(wǎng)下載LINUX的J2EE壓縮包,使用歸檔管理器解壓后運(yùn)行,在server里面進(jìn)行服務(wù)器配置,選擇tomcat作為服務(wù)器,并且選擇所配置的jre。Mysql在本課程設(shè)計(jì)中是使用在線安裝的方法,安裝完后登陸并配置密碼,隨后新建數(shù)據(jù)庫與表,插入數(shù)據(jù)進(jìn)行測試。在eclipse連接數(shù)據(jù)庫時(shí),需要使用mysql的jdbc驅(qū)動(dòng)包,否則將無法進(jìn)行數(shù)據(jù)庫的連接,連接數(shù)據(jù)庫需要輸入用戶名與密碼。實(shí)現(xiàn)題目基本要求很容易,只需連接數(shù)據(jù)庫,然后顯示數(shù)據(jù)庫內(nèi)容就算是完成數(shù)據(jù)庫交互操作了。因此為了加大難度以及程序的可利用性,我在此基礎(chǔ)上加入了上傳、下載和刪除文件功能,這3項(xiàng)功能都要通過訪問和操作mysql數(shù)據(jù)庫來完成。上傳用到了jspSmartUpload.jar包,將網(wǎng)上所查到的上傳代碼進(jìn)行了改寫,使其能講文件信息等數(shù)據(jù)傳入所建立mysql數(shù)據(jù)庫中。隨后下載是將mysql數(shù)據(jù)庫中的文件名取出通過值傳遞形成下載鏈接進(jìn)行下載。刪除則是直接調(diào)用delete語句來進(jìn)行數(shù)據(jù)刪除操作。本文同時(shí)寫上了主要關(guān)鍵代碼,上傳、下載和刪除功能的實(shí)現(xiàn)以及最基本的功能與mysql數(shù)據(jù)庫進(jìn)行交互。主要工程項(xiàng)目文件在附帶的壓縮文件中,讀者可以將其解壓后導(dǎo)入并調(diào)試。另外本次的3個(gè)功能實(shí)用性很強(qiáng),很多地方都要用到上傳、下載和刪除,因此可以嵌入到很多其他系統(tǒng)中。關(guān)鍵詞:數(shù)據(jù)庫;上傳;下載;刪除;-PAGE27-目錄摘要 I引言 11使用VMware安裝LINUX 21.1新建虛擬機(jī) 21.2LINUX安裝 32配置JDK環(huán)境變量 52.1.解壓JDK壓縮包 52.2.配置環(huán)境變量并測試 53安裝tomcat 64安裝eclipse 64.1解壓eclipse壓縮包 64.2配置eclipse服務(wù)器 65安裝mysql 85.1在線安裝mysql 85.2測試mysql 95.3登錄mysql 96編寫JSP代碼并調(diào)試 116.1新建web項(xiàng)目 116.2程序樹狀關(guān)系圖 126.3文件說明 126.4程序功能 126.4.1基本功能 126.4.2擴(kuò)展功能 136.5JSP界面演示 136.5.1在上傳并驗(yàn)證 136.5.2下載 156.5.3刪除并驗(yàn)證 166.5.4顯示 186.6關(guān)鍵代碼 186.6.1基本功能 186.6.2擴(kuò)展功能 19總結(jié) 25參考文獻(xiàn) 27附錄A項(xiàng)目工程文件 28引言本次課程設(shè)計(jì)的主要目標(biāo)如下:1. 在Windows操作系統(tǒng)中,正確使用虛擬機(jī)安裝Linux操作系統(tǒng);2. 正確配置J2EE開發(fā)環(huán)境;3. 正確安裝和配置Mysql數(shù)據(jù)庫系統(tǒng);4. 編寫JSP程序和Mysql數(shù)據(jù)庫系統(tǒng)交互。本文有詳盡的LINUX安裝說明、環(huán)境變量的配置、Mysql的安裝以及JSP程序與Mysql數(shù)據(jù)庫交互的代碼。本次課程設(shè)計(jì)運(yùn)用到的軟件如下:虛擬機(jī):VMware10.1系統(tǒng):Fedora20軟件:eclipse-jee-luna-SR1-linux-gtk.tar.gz(eclipse)jdk-8u25-linux-i586.tar.gz(jdk)apache-tomcat-8.0.15.tar.gz(tomcat)mysql(在線安裝)
1使用VMware安裝LINUX1.1新建虛擬機(jī)圖1.1新建虛擬機(jī)圖1.2選擇鏡像文件1.2LINUX安裝圖1.3選擇語言圖1.4選擇安裝位置、軟件和網(wǎng)絡(luò)等圖1.5設(shè)置root密碼與創(chuàng)建用戶圖1.6選擇用戶界面圖1.7登陸后的桌面2配置JDK環(huán)境變量2.1.解壓JDK壓縮包將JDK壓縮包拷入LINUX內(nèi),并使用歸檔管理器解壓文件至/home/andy/java/jdk圖2.12.2.配置環(huán)境變量并測試進(jìn)行環(huán)境變量的配置,在此使用vi命令來對/etc/profile進(jìn)行編輯,加入JAVA環(huán)境變量。圖2.2使用java–version命令測試環(huán)境變量是否配置成功圖2.33安裝tomcat使用歸檔管理器解壓tomcat至/home/andy/java下,由于tomcat可以在eclipse中啟動(dòng),因此不在命令行啟動(dòng)tomcat了。因?yàn)樵诿钚袉?dòng)tomcat后,在eclipse也啟動(dòng)tomcat,會(huì)導(dǎo)致端口沖突。圖3.1單獨(dú)啟動(dòng)tomcat命令,只需使用cd切換到tomcat安裝目錄/bin下,執(zhí)行startup.sh即可。4安裝eclipse4.1解壓eclipse壓縮包使用歸檔管理器將eclipse解壓至/home/andy/java圖4.14.2配置eclipse服務(wù)器打開eclipse后進(jìn)行tomcat服務(wù)器配置圖4.2服務(wù)器配置圖4.3路徑和環(huán)境選擇
5安裝mysql5.1在線安裝mysql使用在線安裝命令yum,在線安裝mysql圖5.1安裝mysql圖5.2安裝mysql-server圖5.3安裝mysql-devel5.2測試mysql啟動(dòng)mysql,并查看是否成功啟動(dòng)mysql圖5.4測試mysql5.3登錄mysql登陸mysql,假如有密碼則用mysql–uroot–p,然后輸入密碼圖5.5登陸mysql將mysql中的root用戶密碼設(shè)置為wad1994113創(chuàng)建數(shù)據(jù)庫andy創(chuàng)建表andy,字段名分別是UpID,UpName,CourseName,FileName向表andy中插入新數(shù)據(jù),并顯示,測試表是否成功建立,隨后使用delete命令刪除6編寫JSP代碼并調(diào)試6.1新建web項(xiàng)目圖6.16.2程序樹狀關(guān)系圖圖6.26.3文件說明DownloadServlet和UploadServlets是下載與上傳功能文件;andy.java是對數(shù)據(jù)庫進(jìn)行操作的功能文件,包含寫入數(shù)據(jù)、刪除數(shù)據(jù)以及讀取數(shù)據(jù);SQLHelper.java是連接數(shù)據(jù)庫的功能文件;deletefile.jsp、downfile.jsp、upfile.jsp分別是下載、上傳文件的圖形界面;delete.jsp是刪除功能文件;Showfile.jsp是顯示數(shù)據(jù)庫內(nèi)容的文件。6.4程序功能6.4.1基本功能顯示數(shù)據(jù)庫內(nèi)容:這是本次課程設(shè)計(jì)的基本功能,在showfile.jsp中,沒有調(diào)用SQLHelper.java連接數(shù)據(jù)庫的功能文件,直接在JSP中編寫代碼進(jìn)行數(shù)據(jù)庫連接與顯示。6.4.2擴(kuò)展功能以下為了簡化代碼,用到了SQLHelper.java連接數(shù)據(jù)庫文件以及andy.java數(shù)據(jù)庫操作文件。上傳:在本程序中,上傳功能是用了jspSmartUpload包,通過它實(shí)現(xiàn)了上傳功能,將上傳文件保存在upload中。另外在上傳時(shí),調(diào)用andy.java中的數(shù)據(jù)庫寫入方法,將輸入的值傳入數(shù)據(jù)庫andy的表andy中。下載:在下載界面中定義了一個(gè)數(shù)組,調(diào)用了andy.java中的數(shù)據(jù)庫取值方法,將取出的值存入數(shù)組中,并將數(shù)組內(nèi)的數(shù)據(jù)傳遞到DownloadServlet.java功能文件中。在DownloadServlet.java通過request.getParameter來取出傳入的值,并形成下載鏈接。刪除:在deletefile.jsp界面文件中,顯示了所有已上傳的文件,點(diǎn)擊刪除后,將文件名傳入delete.jsp刪除功能文件中,隨后delete.jsp調(diào)用andy.java中的數(shù)據(jù)庫刪除方法,將文件刪除。6.5JSP界面演示6.5.1在上傳并驗(yàn)證在此用上傳了3個(gè)文件用來測試圖6.3圖6.4圖6.5圖6.6在mysql表andy中成功插入值圖6.7驗(yàn)證上傳6.5.2下載圖6.8圖6.9圖刪除并驗(yàn)證圖6.11圖6.12圖6.13在mysql表andy中成功刪除圖6.14驗(yàn)證刪除6.5.4顯示實(shí)現(xiàn)JSP界面與mysql交互,此為本課程設(shè)計(jì)基本要求。由于我自己加了3個(gè)擴(kuò)展功能,因此簡化了基本功能,只是將mysql表中的數(shù)據(jù)顯示了下。圖6.156.6關(guān)鍵代碼6.6.1基本功能showsql.jsp<%@pagelanguage="java"import="java.sql.*"pageEncoding="gb2312"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1"><title>Andy'smysql</title></head><body><center><h2style="color:blue">Andy'smysql</h2><%Connectionconnect=DriverManager.getConnection("jdbc:mysql://localhost:3306/andy","root","wad1994113");//連接URL為jdbc:mysql//服務(wù)器地址/數(shù)據(jù)庫名,后面的2個(gè)參數(shù)分別是登陸用戶名和密碼Statementstmt=connect.createStatement();ResultSetrs=stmt.executeQuery("select*fromandy");//andy為你表的名稱while(rs.next()){out.println(rs.getString("UpId"));out.println(rs.getString("UpName"));out.println(rs.getString("CourseName"));out.println(rs.getString("FileName"));}%></center></body></html>6.6.2擴(kuò)展功能數(shù)據(jù)庫操作代碼andy.javapackagedosql;importjava.sql.ResultSet;importhelper.SQLHelper;publicclassandy{ publicvoiddeletefileByFileName(StringFileName){ Stringsql="deletefromandywhereFileName='"+FileName+"'"; SQLHelper.executeUpdate(sql); } publicvoidaddfile(StringUpId,StringUpName,StringCourseName,StringFileName){ Stringsql="insertintoandyvalues('"+UpId+"','"+UpName+"','"+CourseName+"','"+FileName+"')"; SQLHelper.executeUpdate(sql); } publicString[][]queryAllfiles(){ String[][]flist=null; try{ Stringsql="select*fromandyorderbyUpId"; ResultSetrs=SQLHelper.executeQuery(sql); rs.last(); introws=rs.getRow(); flist=newString[rows][4]; intk=0; rs.beforeFirst(); while(rs.next()){ flist[k][0]=rs.getString(1); flist[k][1]=rs.getString(2); flist[k][2]=rs.getString(3); flist[k][3]=rs.getString(4); k++; } }catch(Exceptionex){ ex.printStackTrace(); } returnflist; }}上傳代碼UploadServlet.javapackageservlet;importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;importcom.jspsmart.upload.*;importdosql.*;publicclassUploadServletextendsHttpServlet{privateServletConfigconfig;publicUploadServlet(){super();}publicvoiddestroy(){super.destroy();}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{SmartUploadandy=newSmartUpload();andy.initialize(config,request,response);try{andy.setDenyPhysicalPath(true);//拒絕物理路徑andy.setMaxFileSize(5000000);//設(shè)置允許上傳文件最大為50000bytesandy.setTotalMaxFileSize(50000000);//一次上傳文件大小最多不超過5000000bytesandy.upload();for(inti=0;i<andy.getFiles().getCount();i++){com.jspsmart.upload.Filemyfile=andy.getFiles().getFile(i);response.setContentType("text/html;charset=GBK");PrintWriterout=response.getWriter();StringUpId=andy.getRequest().getParameter("UpId");StringUpName=andy.getRequest().getParameter("UpName");StringCourseName=andy.getRequest().getParameter("CourseName");StringFileName=myfile.getFileName();andy.save("/upload");out.print("上傳者編號:"+UpId+"<br>");out.print("上傳者姓名:"+UpName+"<br>");out.print("文件名:"+FileName+"<br>");out.print("課程名:"+CourseName+"<br>");out.print("<br>"+"文件上傳成功!"+"<br>"); andydosql=newandy();dosql.addfile(UpId,UpName,CourseName,FileName);response.sendRedirect("../upfile.jsp");//如果要顯示上傳情況,可以將此句注釋掉out.close();}}catch(Exceptione){e.printStackTrace();}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doPost(request,response);}publicvoidinit(ServletConfigconfig)throwsServletException{this.config=config;}}下載代碼DownloadServlet.javapackageservlet;importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;importcom.jspsmart.upload.*;publicclassDownloadServletextendsHttpServlet{privateServletConfigconfig;publicDownloadServlet(){super();}publicvoiddestroy(){super.destroy();}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ SmartUploadandy=newSmartUpload();//新建一個(gè)SmartUpload對象 andy.initialize(config,request,response); try{response.setContentType("text/html;charset=GBK");request.setCharacterEncoding("GBK");Stringname=newString(request.getParameter("name"));andy.setContentDisposition(null);//如果要實(shí)現(xiàn)單擊在瀏覽器打開,注釋該即可. andy.downloadFile("/upload/"+name);//下載目錄}catch(SmartUploadExceptione){e.printStackTrace();}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoidinit(ServletConfigconfig)throwsServletException{this.config=config;}}刪除功能代碼delete.jsp<%@pagelanguage="java"import="dosql.*"pageEncoding="gbk"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head></head><body><%andydosql=newandy();StringFileName=request.getParameter("FileName");response.setHeader("Content-Disposition","attachment;filename="+.URLEncoder.encode(FileName,"UTF-8"));if(FileName!=null)dosql.deletefileByFileName(FileName);response.sendRedirect("deletefile.jsp");%></body></html>總結(jié)本次課程設(shè)計(jì),最主要的難點(diǎn)在安裝程序方面,當(dāng)使用命令解壓縮時(shí),需要考慮到權(quán)限問題,需要使用chmod命令給文件夾以及文件分配權(quán)限,同時(shí)在LINUX中,不會(huì)自動(dòng)給下級目錄一起分配權(quán)限。在配置環(huán)境變量時(shí),需要先給/etc/profile分配寫入權(quán)限,這樣才能對其進(jìn)行更改,并且改完后需要./etc/profile配置一下。用java-version可以查看jdk是否配置成功,當(dāng)然也可以直接寫一個(gè)只有System.out.print的簡單.java文件,用javac以及java來進(jìn)行編譯,查看是否輸出,本次課程設(shè)計(jì)只用了java-version。在配置完tomcat后,可以先執(zhí)行一下startup.sh開啟服務(wù),在地址欄輸入localhost:8080查看是否顯示tomcat主頁面,隨后用shutdown.sh關(guān)閉服務(wù),否則在eclipse中啟動(dòng)tomcat會(huì)導(dǎo)致端口沖突。本次課程設(shè)計(jì),mysql是用yum在線安裝的,在使用在線安裝的同時(shí)它也會(huì)判斷依賴關(guān)系,將相關(guān)包一起下載后自動(dòng)安裝。自動(dòng)安裝完后,首先一定要分配mysql目錄的權(quán)限給當(dāng)前用戶,否則將無法建數(shù)據(jù)庫與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全合同管理規(guī)定
- 船舶制造材料供應(yīng)合同
- 新建住宅買賣合同備案流程
- 股權(quán)轉(zhuǎn)讓合同及相關(guān)權(quán)益轉(zhuǎn)讓協(xié)議
- 股權(quán)轉(zhuǎn)讓居間服務(wù)合同樣本
- 商鋪?zhàn)赓U合同參考模板
- 小班安全玩滑梯課件
- 創(chuàng)業(yè)企業(yè)的股權(quán)結(jié)構(gòu)設(shè)計(jì)考核試卷
- 方便食品的包裝設(shè)計(jì)與人機(jī)工程考核試卷
- 新材料新技術(shù)的巨大潛力探索未知的研究領(lǐng)域考核試卷
- 《水利工程質(zhì)量檢測管理規(guī)定》知識培訓(xùn)
- 2025年02月貴州省司法廳所屬事業(yè)單位公開招聘2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年校長春季開學(xué)思政第一課講話稿1720字例文【供參考】
- 2025至2030年中國單板電磁制動(dòng)器數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024年07月國新國證期貨有限責(zé)任公司(海南)2024年招考2名工作人員筆試歷年參考題庫附帶答案詳解
- 人教版數(shù)學(xué)八年級下冊 第17章 勾股定理 單元測試(含答案)
- 國網(wǎng)標(biāo)書制作流程
- 六年級語文教學(xué)學(xué)情分析提高六語文質(zhì)量的措施
- 中醫(yī)藥臨床適宜技術(shù)
- 銀發(fā)經(jīng)濟(jì)的發(fā)展路徑
- 工業(yè)廠房水電安裝施工方案
評論
0/150
提交評論