2025年JavaWeb實(shí)習(xí)報告文檔_第1頁
2025年JavaWeb實(shí)習(xí)報告文檔_第2頁
2025年JavaWeb實(shí)習(xí)報告文檔_第3頁
2025年JavaWeb實(shí)習(xí)報告文檔_第4頁
2025年JavaWeb實(shí)習(xí)報告文檔_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

武漢工程大學(xué)計算機(jī)科學(xué)與工程學(xué)院生產(chǎn)實(shí)習(xí)報告-PAGE6-武漢工程大學(xué)計算機(jī)科學(xué)與工程學(xué)院生產(chǎn)實(shí)習(xí)報告-PAGE1-JavaWeb實(shí)習(xí)報告一、實(shí)習(xí)目的與任務(wù)為了鍛煉我們的實(shí)踐動手能力,提高我們分析問題、解決問題的能力,培養(yǎng)我們的工作意識和團(tuán)隊(duì)合作的意識,了解軟件開發(fā)的過程和基本流程,以便于幫助我們能夠在大四畢業(yè)時可找到一份客觀的工作,我們在大四剛開學(xué)就開始了生產(chǎn)實(shí)習(xí)。這次實(shí)習(xí)的主要任務(wù)是JavaWeb軟件開發(fā),學(xué)習(xí)Java開發(fā)中比較典型且經(jīng)常用到的幾個知識,其中包括Jsp、Servlet、Html、JDBC等等,另外,Java開發(fā)中也必須要用到數(shù)據(jù)庫,因此實(shí)習(xí)中還加入了Mysql數(shù)據(jù)庫的學(xué)習(xí)。掌握了這些基本知識之后,就開始真正的項(xiàng)目開發(fā),而且此次我們所要開發(fā)的項(xiàng)目是有關(guān)博客頁面的項(xiàng)目,并完成老師指定的功能。二、實(shí)習(xí)地點(diǎn)重慶足下科技有限公司三、實(shí)習(xí)內(nèi)容和要求我們這次實(shí)習(xí),在校外也就是軟帝公司總共是十天,開始幾天基本上是每天學(xué)習(xí)一個方面的內(nèi)容,大概學(xué)習(xí)了六天其中包括Jsp、Servlet、Html、JDBC、Mysql等等,剩下幾天就是項(xiàng)目時間,做出一個博客開發(fā)的項(xiàng)目。大致內(nèi)容如下:Java語言簡介Java語言Java是由Sun微系統(tǒng)公司所發(fā)展出來的程序語言,它是一種面向地向的語言,Java也號稱是能跨平臺使用的語言,這主要是因?yàn)镴ava本身被編譯之后,并不是直接產(chǎn)生可執(zhí)行的代碼,而是產(chǎn)生一種中間碼叫作ByteCode,這種代碼必需在透過Java的直譯器來解讀它,才能夠真正的被執(zhí)行,所以只要平臺上裝有這種Java的直譯器,就能解讀ByteCode也就能執(zhí)行Java編譯過的程序,故與Java程序是在那種平臺上被編譯的,就完全沒有干系了。Java寫出來的程序可分為兩類,分別是JavaApplet與一般的Application,而Application這一類就與一般的程序如C++的作用是比較類似的,是一個獨(dú)立可執(zhí)行的應(yīng)用程序,像HotJava是一個瀏覽器,且就是使用Java程序所發(fā)展出來的。最常見的Java程序包括應(yīng)用程序和applets。應(yīng)用程序是單獨(dú)的程序,諸如HotJava瀏覽器軟件就是用Java語言編寫的。Applets類似于應(yīng)用程序,但是它們不能單獨(dú)運(yùn)行,Applets可以在支持Java的瀏覽器中運(yùn)行。Applet主要是內(nèi)置于HTML網(wǎng)頁中,在瀏覽時發(fā)揮作用。Java的目標(biāo)是為了滿足在一個充滿各式各樣不同種機(jī)器,不同操作系統(tǒng)平臺的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件。利用Java程序語言,可以進(jìn)行網(wǎng)頁開發(fā),其中包括靜態(tài)語言開發(fā)與動態(tài)網(wǎng)頁開發(fā),可以在網(wǎng)頁中加入各式各樣的動態(tài)效果,可以放上一段動畫,加入聲音,也可以建立交互式網(wǎng)頁等。Html語言Html是超文本標(biāo)記語言,它是一種非嚴(yán)格的標(biāo)記語言,它是web開發(fā)的基礎(chǔ),也是制作網(wǎng)頁的基礎(chǔ),純html的頁面是靜態(tài)的。Html它由head和body兩部分組成,所寫的內(nèi)容一般都是放在body中,其中可以添加Form表單域,其中屬性Action表示提交的動作,也就是提交到那個頁面,可表示為Action=“”;Method屬性表示提交的方法,一般為設(shè)為post;在Form表單域中添加table表,table中的屬性只有很多,常用的有width、height、align、colspan等等,當(dāng)然,有表就會有行和列,其中行用tr表示,列用td表示,行與列的屬性值與table差不多。在行與列中還可以添加一些按鈕,鏈接等等,添加按鈕是用<input>表示,添加鏈接則用<ahref="">來添加,另外,還有一個比較有用的標(biāo)簽<div>,可以畫出一個框,里面可以添加所需要的東西。運(yùn)用Html我們開發(fā)了一個e-mail郵件發(fā)送系統(tǒng),這個界面主要用到了七個htm文件,有主頁面main.html,其中主頁面分為上部、左部和右部,分別用top.html、left.html、right.html文件來表示。另外還增加了登錄頁面(login.html)、注冊頁面(regist.html)以及書寫郵件的頁面(write.html),由這些html文件共同實(shí)現(xiàn)了e-mail的基本界面。首先進(jìn)入login登錄界面,輸入用戶名和密碼,而且用戶名和密碼有一定的限制,輸入信息符合要求后方可進(jìn)入主頁面,另外,在登錄界面的用戶名后還有一個超鏈接“注冊”,點(diǎn)擊“注冊”就可以進(jìn)入注冊的頁面,注冊頁面上有五行,包括用戶名、密碼、重復(fù)密碼以及上傳頭像,另外還有兩個按鈕“提交注冊”和“重置”,這樣即可完成注冊。登陸界面中還用到了JavaScript,用以給出用戶名和密碼的限制條件,其中有一個function方法,用到的代碼如下:<scripttype="text/javascript"> functioncheckInfo(){ varname=document.getElementById('username').value; varpass=document.getElementById('pass').value; if(name==""){ alert("請輸入用戶名!"); returnfalse; }else{ if(pass==""){ alert("請輸入密碼!"); returnfalse; }else{ returntrue;} } } </script>以后若要用到限制條件,都是運(yùn)用與此類似的方法,這段代碼可以說是一個模板。進(jìn)入到主頁面后,可以看到三個部分,左邊的部分用鏈接列出幾項(xiàng),包括“寫信”、“收信”、“聯(lián)系人”、“百度”等,右邊顯示好友上傳圖片,頂部是背景圖片。點(diǎn)擊左邊的寫信,跳轉(zhuǎn)到write頁面,可以寫郵件。右邊的現(xiàn)實(shí)的圖片可以進(jìn)行查看,與空間顯示的圖片差不多,也是可以由小圖片轉(zhuǎn)換成大圖片。當(dāng)鼠標(biāo)點(diǎn)擊到小圖標(biāo)X上時,圖標(biāo)就亮了,鼠標(biāo)拿走,圖標(biāo)就暗了,另外,我們運(yùn)用Html還設(shè)計了一個hao123頁面,頁面中用到了text文本框、超鏈接、行列的布置,圖片的加載等等,做出來之后,整體感覺與hao123本來的頁面基本差不多。Mysql數(shù)據(jù)庫Mysql是一種小型的數(shù)據(jù)庫,它與Java的聯(lián)系十分密切,MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了Mysql作為網(wǎng)站數(shù)據(jù)庫,因此,網(wǎng)頁編寫大多數(shù)都是用Mysql。Mysql是一個關(guān)聯(lián)數(shù)據(jù)庫,它將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大的倉庫內(nèi)。這樣就增加了速度并提高了靈活性。Mysql的Sql指得是“結(jié)構(gòu)化查詢語言”,Sql是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。同時,Mysql軟件也是一種“開放源碼”的軟件,意味著任何人都能使用和改變軟件。任何人都能從Internet下載Mysql軟件,而無需支付任何費(fèi)用。如果愿意,你可以研究源碼并進(jìn)行恰當(dāng)?shù)母?,以滿足你自己的需求。Mysql軟件采用了GPL(GNU通用公共許可證),定義了在不同情況下可以用軟件作的事和不可作的事。數(shù)據(jù)庫服務(wù)器具有快速、可靠和易于使用。Mysql服務(wù)器還有一套實(shí)用的特性集合,在基準(zhǔn)測試主頁上,給出了Mysql服務(wù)器和其他數(shù)據(jù)庫管理器的比較結(jié)果。Mysql支持多種連接,包括TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑,而我們此次實(shí)習(xí)用到的是JDBC數(shù)據(jù)庫連接方法,這一點(diǎn)在下面會講到。此次實(shí)習(xí)我們主要學(xué)習(xí)了如何在Mysql數(shù)據(jù)庫中建立表格,如何執(zhí)行Sql語句等等。首先,打開Mysql編寫框,執(zhí)行語句showdatabases,即可查看Mysql中有哪些數(shù)據(jù)庫,運(yùn)用create+數(shù)據(jù)庫名語句可建立想要的數(shù)據(jù)庫,運(yùn)用use+數(shù)據(jù)庫名即可進(jìn)入對應(yīng)的數(shù)據(jù)庫。進(jìn)入數(shù)據(jù)庫之后,就可以執(zhí)行數(shù)據(jù)庫中的增、刪、查、改等Sql語句了,運(yùn)用createtable+表名(表中所需要的元素),這樣就可以建立一張表了,運(yùn)用desc+表名就可以查看表,運(yùn)用Sql語句“select*from+表名”就可以查看表中的所有數(shù)據(jù),運(yùn)用“insertinto……”語句可以向表中添加數(shù)據(jù);運(yùn)用“update+表set……Where……”可以更改表中指定的某項(xiàng)數(shù)據(jù);運(yùn)用“delete+表where……”語句可以刪除表中的某項(xiàng)數(shù)據(jù)……JDBC數(shù)據(jù)庫連接Java中的JDBC,JDBC是JavaDataBaseConnectivity的縮寫,是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。連接數(shù)據(jù)庫的方法有一個模板,代碼如下:publicclassDBManager{ privatestaticfinalStringURL="jdbc:mysql://localhost:3306/test"; privatestaticfinalStringUSER="root"; privatestaticfinalStringPASSWORD="123"; privatestaticConnectionconn=null; publicstaticConnectiongetConn(){ try{ if(conn==null){ //注冊驅(qū)動 Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection(URL,USER,PASSWORD); }}catch(ClassNotFoundExceptione){ e.printStackTrace(); }catch(SQLExceptione){ e.printStackTrace();} returnconn;}}以后運(yùn)用數(shù)據(jù)庫連接基本上都是用這個模板,方便又有效,而且在其他地方連接數(shù)據(jù)庫時都可以直接對其進(jìn)行調(diào)用。通過JDBC我們可以連接到所用的數(shù)據(jù)庫mysql,可以從數(shù)據(jù)庫中提取數(shù)據(jù),也可以將所寫數(shù)據(jù)存入數(shù)據(jù)庫,用JDBC連接數(shù)據(jù)庫都是一個模式,基本上都是按照一個套路在寫,運(yùn)用JDBC以及MyEclipse工具,我們也做出了一個小型的系統(tǒng)。系統(tǒng)具有添加、查詢、刪除、修改、退出系統(tǒng)等功能,添加功能可以控制臺中所寫的信息添加到數(shù)據(jù)庫中,查詢信息則是根據(jù)id號從數(shù)據(jù)庫中查詢信息并將信息顯示出來,增加、刪除亦是如此,要做出這些功能首先都必須先連接到數(shù)據(jù)庫,這就要用到JDBC技術(shù),還要用到Connection方法,首先加載mysql數(shù)據(jù)庫的驅(qū)動,然后在創(chuàng)建連接,連接時要提供所用計算機(jī)的IP地址和端口號,以及mysql數(shù)據(jù)庫數(shù)據(jù)庫的用戶名和密碼。連接好數(shù)據(jù)庫后,再根據(jù)所需要的功能編寫出對應(yīng)的方法,不同方法對應(yīng)不同的sql語句,例如添加信息(add)中用insert語句,刪除用delete語句,修改用update語句等等,然后主函數(shù)中提供對功能的選擇,不同的編號對應(yīng)不同的功能,并且根據(jù)所選的功能調(diào)用的方法。JSPJSP是JavaServerPages的縮寫,它是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(JavaScript)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP頁面通常被編譯成為JavaServlets,這是一個標(biāo)準(zhǔn)的Java擴(kuò)展。頁面開發(fā)人員能夠訪問全部的Java應(yīng)用環(huán)境,以利用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁面第一次被調(diào)用時,如果它還不存在,就會被編譯成為一個JavaServlets類,并且存儲在服務(wù)器的內(nèi)存中。這就使得在接下來的對該頁面的調(diào)用中,服務(wù)器會有非??斓捻憫?yīng)。我們所做的學(xué)生信息管理系統(tǒng)也需要用到Mysql數(shù)據(jù)庫和JDBC技術(shù),所做的系統(tǒng)同樣可以添加、修改、查詢和刪除學(xué)生信息,不過這些功能是運(yùn)用不同的頁面顯示,點(diǎn)擊不同的按鈕即可跳轉(zhuǎn)到所需的頁面,而后獲得想要的信息。每個功能都建立一個JSP頁面,其中主頁面是Index.jsp,在這個頁面中有兩個鏈接,分別轉(zhuǎn)到增加信息和瀏覽信息頁面,瀏覽信息頁面中還包括了對信息的修改和刪除。例如,系統(tǒng)中瀏覽學(xué)生信息的頁面的代碼如下:<body> <tablealign="center"> <trbgcolor="pink"> <tdwidth="100px"align="center">學(xué)號</td> <tdwidth="100px"align="center">姓名</td> <tdwidth="50px"align="center">性別</td> <tdwidth="50px"align="center">年齡</td> <tdwidth="160px"align="center">專業(yè)</td> <tdwidth="180px"align="center">操作</td> </tr> <c:forEachitems="${stus}"var="stu"><tr> <td>${stu.sno}</td> <td>${stu.sname}</td> <td>${stu.sex}</td> <td>${stu.age}</td> <td>${stu.major}</td> <tdalign="center"> <ahref="studentDelete.jsp">刪除</a> <ahref="studentUpdate.jsp">修改</a> </td> </tr></c:forEach> </table><body>另外還用到了兩個Java類StuDAO和StuDTO,這兩個類中用到JDBC技術(shù),它們分別用以從數(shù)據(jù)庫中讀取數(shù)據(jù)和將數(shù)據(jù)存入到數(shù)據(jù)庫中。這兩個類中有很多方法,通過調(diào)用這些方法即可實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)中的增、查、刪、改等功能!ServletServlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。Servlet生成響應(yīng)內(nèi)容并將其傳給Server,響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。service()方法可能激活其它方法以處理請求,如doGet()或doPost()或程序員自己開發(fā)的新的方法,用的比較普遍的是doPost()方法。舉例如下:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ //1、獲取id Stringsid=request.getParameter("id"); intid=Integer.parseInt(sid); //2、根據(jù)id查詢到對應(yīng)的學(xué)生信息 StuDAOsdao=newStuDAO(); StuDTOstu=sdao.queryStu(id); //3、將stu傳遞到studentModify.jsp頁面顯示 request.setAttribute("stu",stu);request.getRequestDispatcher("studentModify.jsp").forward(request,response);我們同樣是以學(xué)習(xí)建立學(xué)生信息管理系統(tǒng)為例來學(xué)習(xí)Servlet的,Servlet與JSP差不多,最主要的差別是JSP是實(shí)現(xiàn)普通靜態(tài)HTML和動態(tài)HTML混合編碼的技術(shù),Servlet則是web頁面和服務(wù)器之間的連接物,而這基本上沒什么區(qū)別。在編寫學(xué)生信息管理系統(tǒng)的時候,只不過在昨天編寫的基礎(chǔ)上,將某些JSP文件運(yùn)用Servlet表示,像那些只做顯示用的JSP頁面不做變化,而中間有調(diào)用StuDAO中的方法的JSP頁面,它們不做顯示用,而是要與數(shù)據(jù)庫聯(lián)系起來,像這些JSP頁面就可以轉(zhuǎn)換成相應(yīng)的Servlet,其中的代碼與JSP中的幾乎一樣,這樣處理之后,減少了頁面,不過功能沒有變化,更加方便了!四、實(shí)習(xí)總結(jié)及分析這次實(shí)習(xí)主要是學(xué)習(xí)JavaWeb開發(fā)方面的相關(guān)知識,主要的有JSP、Servlet、HTML,另外還有JDBC,Mysql數(shù)據(jù)庫等等。首先是JSP,它是JavaWeb開發(fā)的基礎(chǔ),需要的頁面都是用JSP來建立的,它是一種動態(tài)的網(wǎng)頁技術(shù),其中,可以顯示動態(tài)畫面以及動畫效果,在其中也可以編寫Java代碼,也可以加入html編寫語言,通過form表單中的action屬性可以實(shí)現(xiàn)頁面間的跳轉(zhuǎn),點(diǎn)擊不同的按鈕,可以跳轉(zhuǎn)到相應(yīng)的頁面,它是JavaWeb編程中必不可少的部分,Java語言開發(fā)的任何項(xiàng)目都要用到它;其次是Servlet,它也是JavaWeb開發(fā)中必不可少的部分,Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。Servlet生成響應(yīng)內(nèi)容并將其傳給Server,響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。service()方法可能激活其它方法以處理請求

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論