第一篇:Java Web實(shí)驗(yàn)教案
Java Web實(shí)驗(yàn)教案
宋國柱 2012-2-20
實(shí)驗(yàn)一 tomcat服務(wù)器下載與配置及Myeclipse簡介
1.實(shí)驗(yàn)?zāi)繕?biāo)
? 掌握tomcat服務(wù)器的配置及使用 ? 掌握Myeclipse開發(fā)工具
2.知識講解
一.Tomcat服務(wù)器的安裝與配置
二.Myeclipse開發(fā)工具簡介
3.實(shí)驗(yàn)題目
1.用其他工具編寫JSP代碼,輸出“I miss jsp!”。
2.用Myeclipse開發(fā)工具編寫JSP代碼,輸出“I miss jsp!”。均用tomcat服務(wù)器查看運(yùn)行結(jié)果。
實(shí)驗(yàn)二 html、JavaScript、XML簡介
1.實(shí)驗(yàn)?zāi)繕?biāo)
? 理解服務(wù)器與瀏覽器的操作原理、HTML核心標(biāo)簽的使用、JavaScript的基本語法、JavaScript的事件處理、window對象的使用。? XML語言的基礎(chǔ)語法,清楚的區(qū)分HTML與xml ? 掌握XML中的DOM和SAX解析
2.知識講解
1.HTML是超文本傳輸標(biāo)記語言,HTML中的表單是完成交互性的主要手段。2.Javascript是基于對象的語言,Javascript中的所有變量使用var來聲明,變量的類型由賦值的內(nèi)容來決定。
3.Javascript函數(shù)使用function關(guān)鍵字來聲明。返回值通過return返回即可。4.Javascript中的各個(gè)操作都有相應(yīng)的事件支持。5.XML主要用于數(shù)據(jù)交換,HTML主要用于數(shù)據(jù)顯示 6.Java直接提供的XML解析方式兩種:DOM和SAX區(qū)別:
? DOM解析是將所有內(nèi)容讀取到內(nèi)存中,并形成內(nèi)存樹,如果文件量較大則無法使用,但是DOM解析可以進(jìn)行文件修改。
? SAX解析是采用順序的方式讀取XML文件的,不受文件大小的限制,但是不允許修改。
7.XML解析可以使用JDOM或DOM4J這樣的第三方工具包,以提升開發(fā)效率 8.JavaScript本身具備進(jìn)行DOM操作的能力,可以直接在Javascript中通過DOM操作HTML代碼
3.實(shí)驗(yàn)題目
1.編寫一個(gè)雇員注冊的表單、要求輸入以下內(nèi)容:雇員編號、姓名、雇員工作、雇傭日期、基本工資和獎金
2.對上面的表單進(jìn)行Javascript驗(yàn)證,驗(yàn)證要求如下: ? 雇員編號:只能是數(shù)字 ? 雇員姓名:不能為空 ? 雇員工作:不能為空
? 雇傭日期:必須是日期格式,即2012-2-20 ? 基本工資:必須是數(shù)字(小數(shù))? 獎金:必須是數(shù)字(小數(shù))
3.參考例題3.22,對上題進(jìn)行修改,如果現(xiàn)在用戶輸入的數(shù)據(jù)正確,則顯示一張表示“”的圖片,不正確,顯示一張“”的圖片。(即74頁第3題)實(shí)驗(yàn)三 JSP語法基礎(chǔ)及數(shù)據(jù)庫連接
1.實(shí)驗(yàn)?zāi)繕?biāo)
1.掌握J(rèn)SP中注釋語句、Scriptlet的使用及區(qū)別。2.掌握page指令、包含語句及兩種語句的區(qū)別。3.掌握跳轉(zhuǎn)指令的操作
4.可以使用JSP基礎(chǔ)語法結(jié)合JDBC完成登錄程序的開發(fā) 5.掌握MySQL數(shù)據(jù)庫的使用
2.知識講解
1.在JSP中分為3種Scriptlet。即<%!%><%%><%=%>.2.在開發(fā)中盡量使用表達(dá)式輸出<%=%>來代替out.println()語句。3.使用page指令可以設(shè)置一個(gè)頁面的操作屬性,如MIME類型、顯示編碼、導(dǎo)包操作等。
4.JSP中的包含語句分為兩種:靜態(tài)包含和動態(tài)包含。
5.使用
例題講解:
用戶登錄程序(JSP+JDBC實(shí)現(xiàn))3.實(shí)驗(yàn)題目
1.為實(shí)驗(yàn)二中的雇員信息創(chuàng)建數(shù)據(jù)表emp(122頁所示)。結(jié)合例5.16為列表的顯示增加分頁操作的功能。
2.在以上的程序中增加模糊查詢功能,之后也可以對查詢出來的數(shù)據(jù)進(jìn)行分頁顯示。
實(shí)驗(yàn)四 JSP內(nèi)置對象
1.實(shí)驗(yàn)?zāi)繕?biāo)
1.2.知識講解
3.實(shí)驗(yàn)題目
第二篇:Java及Javaweb(jsp)實(shí)驗(yàn)1
實(shí)驗(yàn)1:Java類與對象
一、實(shí)驗(yàn)?zāi)康?/p>
(1)掌握J(rèn)ava類的繼承關(guān)系和派生方法。(2)理解多態(tài)的概念與使用。(3)掌握接口的定義和使用。
二、實(shí)驗(yàn)任務(wù)
(1)按要求編寫一個(gè)Java程序。
(2)按要求完善一個(gè)Java程序,編譯、運(yùn)行這個(gè)程序,并寫出運(yùn)行結(jié)果。
三、實(shí)驗(yàn)內(nèi)容
1.編寫一個(gè)Java程序片斷,以定義一個(gè)表示學(xué)生的類Student。這個(gè)類的屬性有“學(xué)號”、“班號”、“姓名”、“性別”、“年齡”,方法有“獲得學(xué)號”、“獲得班號”、“獲得性別”、“獲得姓名”、“獲得年齡”、“獲得年齡”。2.為類Student增加一個(gè)方法public String toString(),該方法把Student類的對象的所有屬性信息組合成一個(gè)字符串以便輸出顯示。編寫一個(gè)Java Application程序,創(chuàng)建Student類的對象,并驗(yàn)證新增加的功能。
四、調(diào)試過程
五、運(yùn)行結(jié)果
六、心得體會
實(shí)驗(yàn)代碼: package taru.cn;public class SuperClass {
} int x;SuperClass(){
x=3;} voiddoSomething(){ System.out.println(“in SuperClass.doSomething()”);System.out.println(“in SuperClass : x=” +x);
} package taru.cn;public class SubClass extends SuperClass {
int x;SubClass(){
}
super();//調(diào)用父類的構(gòu)造方法
} voiddoSomething(){
super.doSomething();//調(diào)用父類的方法 x=5;
//super()要放在方法中的第一句
System.out.println(“in SubClass :x=”+x);System.out.println(“in SubClass.doSomething()”);System.out.println(“super.x=”+super.x+“ sub.x=”+x);} package taru.cn;class Student{
longstudentID;intclassID;String name;
String sex;int age;
public Student(long studentID,intclassID,Stringname,Stringsex,int age){
this.studentID=studentID;
this.classID=classID;
this.name=name;this.sex=sex;this.age=age;}
public long getStudentID(){
returnstudentID;} publicintgetClassID(){ returnclassID;} public String getName(){
return name;}
public String getSex(){ return sex;}
publicintgetAge(){ return age;}
public String toString(){
return “學(xué)號:”+getStudentID()+“n班號:”+getClassID()+“n姓名:”+getName()+“n性別:”+getSex()+“n年齡:”+getAge();} }
package taru.cn;public class StudentDemo1 {
public static void main(String args[]){
Undergraduate st1 = new Undergraduate(“張三”,50,70,60);
st1.Display();
Graduate st2=new Graduate(“李四”,70,80,90);
st2.Display();
}
} package taru.cn;
public class Inheritance {
} public static void main(String args[]){
SubClasssubC=new SubClass();subC.doSomething();}
第三篇:javaweb課程設(shè)計(jì)
課程設(shè)計(jì):基于Java Web的討論區(qū)BBS系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)要求實(shí)現(xiàn)以下主要功能:
(1)登錄:提供用戶登錄系統(tǒng)的功能,需要輸入用戶名和密碼
(2)注冊:提供用戶注冊的功能,需要輸入用戶名、密碼、密碼確認(rèn)、Email、QQ
(3)修改注冊信息:提供用戶修改注冊信息的功能,可以修改密碼、Email、QQ
(4)瀏覽討論區(qū):用戶登錄后就可以瀏覽系統(tǒng)中已存在的討論區(qū),用戶可以查看某討論
區(qū)的詳細(xì)信息,也可以進(jìn)入該討論區(qū)瀏覽已發(fā)表的帖子,以及回帖
(5)創(chuàng)建討論區(qū):用戶可以創(chuàng)建討論區(qū),每個(gè)討論區(qū)包含一個(gè)名稱和順序號,每個(gè)討論
區(qū)的名稱在系統(tǒng)中是唯一的,順序號表示討論區(qū)在列表中的排序
(6)修改討論區(qū):提供討論區(qū)名稱和順序號的修改功能
(7)刪除討論區(qū):提供討論區(qū)刪除的功能,方便管理員進(jìn)行討論區(qū)管理
(8)瀏覽帖子:用戶進(jìn)入一個(gè)討論區(qū)后,可以看到帖子列表,包含帖子主題、作者、創(chuàng)
建時(shí)間、回復(fù)次數(shù),點(diǎn)擊一個(gè)帖子,可以查看該帖子的內(nèi)容和回帖
(9)創(chuàng)建帖子:用戶進(jìn)入一個(gè)討論區(qū)后,可以選擇創(chuàng)建一個(gè)新帖子,需要輸入帖子標(biāo)題
和內(nèi)容
(10)修改帖子:提供給管理員使用,修改帖子標(biāo)題和內(nèi)容
(11)刪除帖子:提供給管理員使用,方便管理員進(jìn)行帖子整理
(12)回復(fù)帖子:用戶在瀏覽帖子信息的時(shí)候,可以進(jìn)行回復(fù)
第四篇:javaweb學(xué)習(xí)心得
學(xué)習(xí)心得
在寫心得之前總結(jié)下中級部分學(xué)習(xí)的內(nèi)容,我們的中級部分主要學(xué)習(xí)了html,css,javacript,xml,dtd/scheam,以及java ee 中的jsp,servlet,過濾器,監(jiān)聽器,JSTL,EL,jQuery,Ajax。
下面就各個(gè)模塊進(jìn)行總結(jié):在學(xué)習(xí)html時(shí),我是對這個(gè)沒太在意的,因?yàn)槔锩嫒渴菢?biāo)簽,沒有需要理解的內(nèi)容,全部是屬于識記的,所以在學(xué)習(xí)時(shí)相對輕松,對于html常用的標(biāo)簽都是非常清楚的form中的十一種類型,常用的有text,password,hidden,submit,button,radio,checkbox,等其他的標(biāo)簽如div,table,span,select都是重要的標(biāo)簽.Css的學(xué)習(xí):雖然說在標(biāo)簽中也可以定義樣式,但是這么做看起來不是那么明智,我在學(xué)CSS時(shí)還是比較努力的,所有的樣式效果都測試過,并且寫了相應(yīng)的案例,只是過了不到3個(gè)月就忘了一大半,很多時(shí)候都是查文檔才能寫出來的,雖然CSS對于我們來說不必要非常精通,但是我覺得掌握的東西越多,以后的工作就越輕松,所以在中級結(jié)束后也會去看看前面的筆記和案例。
Javascript:js 我認(rèn)為是最重要的,甚至于超過servlet,jsp,在上課期間,講的內(nèi)容還是比較少的,就javascript中創(chuàng)建對象來說吧,應(yīng)該只講過3中方法,雖然在一般的情況下是用不上的,但是我覺得還是有必要學(xué)習(xí)的,這樣有助于看懂別人寫的框架,在javascript這部分學(xué)習(xí)中講的最多的還是dom操作,不過我覺得用dom操作太繁瑣了,寫的代碼太多,而且效率看起來也不高,后面就是講的事件,事件也算是簡單的,只是對觸發(fā)的事件進(jìn)行相應(yīng)的響應(yīng)。除了這些就是javascript流程控制,對象一些基本語法,這些和java類似,所以在上課時(shí)沒有講得太多。
Xml: Markup Language可擴(kuò)展標(biāo)記語言。它是由SGML(Standard Gerneralized Markup language)發(fā)展而來的,允許開發(fā)者自定標(biāo)簽,可以將標(biāo)簽和內(nèi)容有效的分離。在XML技術(shù)里,可以編寫一個(gè)文檔來約束XML文檔的書寫規(guī)范,稱之為XML約束。本文主要介紹DTD與Schema兩種約束,在這里學(xué)習(xí)了dtd,scheama,定義XML約束,這部分的學(xué)習(xí)是我感覺最累的一部分,DTD還算好,SCheama里面的內(nèi)容,現(xiàn)在都忘了,沒有任何記憶,只知道在XML約束中有著兩中方式,還好這些在剛開始工作時(shí)是用不上的,因此我也沒有用很多時(shí)間來學(xué)習(xí)。
Servlet:我覺得是比較簡單的,可能是因?yàn)樗莏ava代碼,容易理解。首先講的是開發(fā)環(huán)境的配置,安裝tomcat,了解tomcat下的目錄,以及web工程下的目錄。后來是講了servlet的訪問方式,post和get的區(qū)別,處理中文亂碼是servlet中一個(gè)重要的知識點(diǎn),幾乎每個(gè)項(xiàng)目都會遇到這個(gè)問題。主要亂碼有g(shù)et,post亂碼,是通過設(shè)置request或者response的編碼方式來實(shí)現(xiàn)的。Servlet間的跳轉(zhuǎn)方式有重定向和轉(zhuǎn)發(fā),對于重定向和轉(zhuǎn)發(fā)的區(qū)別,現(xiàn)在理解的很透徹了,重定向是不能獲取request中參數(shù),是客戶端的兩次請求,而轉(zhuǎn)發(fā)是服務(wù)器內(nèi)部跳轉(zhuǎn),不過,兩種在設(shè)置過濾器的情況下,都要通過過濾器才能跳轉(zhuǎn)。Servlet的生命周期是筆試的必考題,其實(shí)這是很簡單的,只需要理解,沒必要死記硬背的,session算是重要的知識點(diǎn),很多數(shù)據(jù)都是存儲在內(nèi)存中,如購物車,用戶信息等,還可以對session設(shè)置生存時(shí)間。說到session就必須說說四種會話跟蹤技術(shù),cookie,URL重寫,表單域隱藏和session。
JSP:JSP實(shí)際上和servlet是一樣的,只不過兩者側(cè)重點(diǎn)不同,JSP的內(nèi)置對象和作用域大致是一樣的,JSP中還有動作,常用的有操作JavaBean的動作,頁面跳轉(zhuǎn)的動作,以及包含的動作。這里重點(diǎn)提到兩種包含的區(qū)別。在JSP還講過jstl和EL表達(dá)式,都是基礎(chǔ)的應(yīng)用,不過寫自定義的標(biāo)簽還是要有一定的java基礎(chǔ)的,我開始不太理解標(biāo)簽的解析過程,后來看了幾個(gè)例子,發(fā)現(xiàn)自定義的已不是那么難。
jQuery:jQuery可以說是中級部分學(xué)的最好的,主要是它方便了,特別是選擇器,而且避免了一些瀏覽器的差異,所以在學(xué)習(xí)jQuery后,就再也不想用javascript來獲取元素了。不僅如此,jQuery中封裝的Ajax操作也是非常簡單,不需要自己封裝一個(gè)類,$.get和$.post 能夠省去很多麻煩,jQuery的監(jiān)聽事件也是很簡單,不需要在標(biāo)簽中添加對應(yīng)事件,可以動態(tài)的綁定事件。還有就是dom操作更是方便。我在學(xué)習(xí)完Ajax,json后就發(fā)現(xiàn),即使是沒有JSP,也能做出一個(gè)動態(tài)頁面出來,只是會存在效率問題。
總結(jié):雖然說這上面的知識大部分都掌握了,但是能否靈活運(yùn)用才是重點(diǎn),所以在今后的學(xué)習(xí)中多思考問題是否有多種解決方法。
第五篇:JavaWeb實(shí)習(xí)報(bào)告
武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院
生產(chǎn)實(shí)習(xí)報(bào)告
JavaWeb實(shí)習(xí)報(bào)告
一、實(shí)習(xí)目的與任務(wù)
為了鍛煉我們的實(shí)踐動手能力,提高我們分析問題、解決問題的能力,培養(yǎng)我們的工作意識和團(tuán)隊(duì)合作的意識,了解軟件開發(fā)的過程和基本流程,以便于幫助我們能夠在大四畢業(yè)時(shí)可找到一份客觀的工作,我們在大四剛開學(xué)就開始了生產(chǎn)實(shí)習(xí)。
這次實(shí)習(xí)的主要任務(wù)是Java Web軟件開發(fā),學(xué)習(xí)Java開發(fā)中比較典型且經(jīng)常用到的幾個(gè)知識,其中包括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í)一個(gè)方面的內(nèi)容,大概學(xué)習(xí)了六天其中包括Jsp、Servlet、Html、JDBC、Mysql等等,剩下幾天就是項(xiàng)目時(shí)間,做出一個(gè)博客開發(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寫出來的程序可分為兩類,分別是Java Applet與一般的Application,而Application這一類就與一般的程序如C++的作用是比較類似的,是一個(gè)獨(dú)立可執(zhí)行的應(yīng)用程序,像HotJava是一個(gè)瀏覽器,且就是使用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)頁中,在瀏覽時(shí)發(fā)揮作用。
Java的目標(biāo)是為了滿足在一個(gè)充滿各式各樣不同種機(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表示提交的動作,也就是提交到那個(gè)頁面,可表示為Action=“http://004km.cn”;Method屬性表示提交的方法,一般為設(shè)為post;在Form表單域中添加table表,table中的屬性只有很多,常用的有width、height、align、colspan
武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院
生產(chǎn)實(shí)習(xí)報(bào)告
Mysql是一個(gè)關(guān)聯(lián)數(shù)據(jù)庫,它將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大的倉庫內(nèi)。這樣就增加了速度并提高了靈活性。Mysql的Sql指得是“結(jié)構(gòu)化查詢語言”,Sql是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。同時(shí),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í)行語句show databases,即可查看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)用create table +表名(表中所需要的元素),這樣就可以建立一張表了,運(yùn)用desc+表名就可以查看表,運(yùn)用Sql語句“select * from +表名”就可以查看表中的所有數(shù)據(jù),運(yùn)用“insert into ??”語句可以向表中添加數(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是Java Data Base Connectivity的縮寫,是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。
連接數(shù)據(jù)庫的方法有一個(gè)模板,代碼如下: public class DBManager { private static final String URL=“jdbc:mysql://localhost:3306/test”;private static final String USER=“root”;private static final String PASSWORD=“123”;private static Connection conn=null;
public static Connection getConn(){ try {
if(conn==null){
//注冊驅(qū)動
Class.forName(“com.mysql.jdbc.Driver”);
conn=DriverManager.getConnection(URL,USER,PASSWORD);
} } catch(ClassNotFoundException e){
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();}
return conn;} } 以后運(yùn)用數(shù)據(jù)庫連接基本上都是用這個(gè)模板,方便又有效,而且在其他地方連接數(shù)據(jù)
武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院
生產(chǎn)實(shí)習(xí)報(bào)告
六、Servlet Servlet是一種服務(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()方法。舉例如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
1、獲取id
String sid=request.getParameter(“id”);
int id=Integer.parseInt(sid);
//
2、根據(jù)id查詢到對應(yīng)的學(xué)生信息
StuDAO sdao=new StuDAO();
StuDTO stu=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)的時(shí)候,只不過在昨天編寫的基礎(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í)Java Web開發(fā)方面的相關(guān)知識,主要的有JSP、Servlet、HTML,另外還有JDBC,Mysql數(shù)據(jù)庫等等。
首先是JSP,它是Java Web開發(fā)的基礎(chǔ),需要的頁面都是用JSP來建立的,它是一種