SERVLET 學(xué)習(xí)(二) SERVLET技術(shù)概述
一,SERVLET 作用
讀取客戶程序發(fā)送來的顯式數(shù)據(jù)(表單數(shù)據(jù));
讀取客戶程序發(fā)送來的隱式數(shù)據(jù)(請求報(bào)頭);
生成相應(yīng)的結(jié)果;
發(fā)送顯式的數(shù)據(jù)給客戶程序(HTML);
發(fā)送隱式的數(shù)據(jù)給客戶程序(狀態(tài)代碼和響應(yīng)報(bào)頭);
優(yōu)點(diǎn):高效,便利,功能強(qiáng)大,可移植性強(qiáng),花費(fèi)少,安全
二,SERVLET 生命周期
init:僅在servlet首次載入時(shí)執(zhí)行一次。不是每次請求都要調(diào)用。
service:在新線程中由服務(wù)器為每個(gè)請求而調(diào)用。發(fā)送到doGet,doPost等。不要覆蓋這個(gè)方法!
doGet, doPost, doXxx:處理GET, POST, 等請求。覆蓋這些方法以提供期望的行為。
destroy:在服務(wù)器刪除servlet的實(shí)例時(shí)調(diào)用。不是每次請求后都調(diào)用。
三,例子
下面是看《Servlet與JSP核心編程第二版》測試?yán)樱?br /> 給大家推薦一個(gè)網(wǎng)站:http://chinesedocument.com/
看名字就應(yīng)該知道關(guān)于什么的了,上面東西挺多的,不錯(cuò);
說明:
chapter2,chaper3:servlet基礎(chǔ),請求參數(shù);
chapter4:request請求頭查看,post,get方式;
chapter5: 簡單搜索引擎前端,sendError,sendRedirect測試;測試用例:
“http://www.google.cn/search?q=” “sendRedirect”
chapter6:ContentType測試
chapter7:cookie測試,servlet:RegistrationForm 簡單注冊頁面,,使用cookie的值預(yù)先填寫表單的 字段,如果未找到相應(yīng)的cookie則使用默認(rèn)值;Registration servlet:基于接收到的請求參數(shù)創(chuàng)建cookie,如果得到所有的參數(shù)則顯示這些值,如果任何參數(shù)缺失,則重定向到表單;
chapter8:session實(shí)現(xiàn)一個(gè)簡單購物車;流程:登陸(Login servlet)--商品列表(ShopForm servlet)<---->挑選(AddItem servlet)
測試工程servlet.rar
由于jar文件太大,工程中沒有jar保,可自己添加;
工程中用到有:servlet-api.jar,dom4j-1.6.1.jar,jaxen-1.1-beta-6.jar,pull-parser-2.1.10.jar,jaxme-api-0.3.jar,jsr173_1.0_api.jar,msv-20030807.jar,relaxngDatatype-20030807.jar,isorelax-20030108.jar,jtidy-4aug2000r7-dev.jar,xsdlib-20030807.jar,xpp3-1.1.3.3.jar
由于購物車中用到了解析xml,所以Jar包一下就多了;
購物車沒有數(shù)據(jù)庫,我用dom4j解析xml,然后把數(shù)據(jù)存放在session中,覺得很別扭;對dom4j不是很熟悉,解析那部分做的不好,大家給多提提意見;書中有個(gè)refresh例子,還沒看明白;說看明白實(shí)現(xiàn)了給我發(fā)一份啊;
讀取客戶程序發(fā)送來的顯式數(shù)據(jù)(表單數(shù)據(jù));
讀取客戶程序發(fā)送來的隱式數(shù)據(jù)(請求報(bào)頭);
生成相應(yīng)的結(jié)果;
發(fā)送顯式的數(shù)據(jù)給客戶程序(HTML);
發(fā)送隱式的數(shù)據(jù)給客戶程序(狀態(tài)代碼和響應(yīng)報(bào)頭);
優(yōu)點(diǎn):高效,便利,功能強(qiáng)大,可移植性強(qiáng),花費(fèi)少,安全
二,SERVLET 生命周期
init:僅在servlet首次載入時(shí)執(zhí)行一次。不是每次請求都要調(diào)用。
service:在新線程中由服務(wù)器為每個(gè)請求而調(diào)用。發(fā)送到doGet,doPost等。不要覆蓋這個(gè)方法!
doGet, doPost, doXxx:處理GET, POST, 等請求。覆蓋這些方法以提供期望的行為。
destroy:在服務(wù)器刪除servlet的實(shí)例時(shí)調(diào)用。不是每次請求后都調(diào)用。
三,例子
下面是看《Servlet與JSP核心編程第二版》測試?yán)樱?br /> 給大家推薦一個(gè)網(wǎng)站:http://chinesedocument.com/
看名字就應(yīng)該知道關(guān)于什么的了,上面東西挺多的,不錯(cuò);
說明:
chapter2,chaper3:servlet基礎(chǔ),請求參數(shù);
chapter4:request請求頭查看,post,get方式;
chapter5: 簡單搜索引擎前端,sendError,sendRedirect測試;測試用例:
“http://www.google.cn/search?q=” “sendRedirect”
chapter6:ContentType測試
chapter7:cookie測試,servlet:RegistrationForm 簡單注冊頁面,,使用cookie的值預(yù)先填寫表單的 字段,如果未找到相應(yīng)的cookie則使用默認(rèn)值;Registration servlet:基于接收到的請求參數(shù)創(chuàng)建cookie,如果得到所有的參數(shù)則顯示這些值,如果任何參數(shù)缺失,則重定向到表單;
chapter8:session實(shí)現(xiàn)一個(gè)簡單購物車;流程:登陸(Login servlet)--商品列表(ShopForm servlet)<---->挑選(AddItem servlet)
測試工程servlet.rar
由于jar文件太大,工程中沒有jar保,可自己添加;
工程中用到有:servlet-api.jar,dom4j-1.6.1.jar,jaxen-1.1-beta-6.jar,pull-parser-2.1.10.jar,jaxme-api-0.3.jar,jsr173_1.0_api.jar,msv-20030807.jar,relaxngDatatype-20030807.jar,isorelax-20030108.jar,jtidy-4aug2000r7-dev.jar,xsdlib-20030807.jar,xpp3-1.1.3.3.jar
由于購物車中用到了解析xml,所以Jar包一下就多了;
購物車沒有數(shù)據(jù)庫,我用dom4j解析xml,然后把數(shù)據(jù)存放在session中,覺得很別扭;對dom4j不是很熟悉,解析那部分做的不好,大家給多提提意見;書中有個(gè)refresh例子,還沒看明白;說看明白實(shí)現(xiàn)了給我發(fā)一份啊;
posted on 2008-01-18 20:51 zhhang920 閱讀(2343) 評論(2) 編輯 收藏 所屬分類: J2EE