一,SERVLET 作用
讀取客戶程序發(fā)送來的顯式數(shù)據(jù)(表單數(shù)據(jù));
讀取客戶程序發(fā)送來的隱式數(shù)據(jù)(請求報頭);
生成相應的結果;
發(fā)送顯式的數(shù)據(jù)給客戶程序(HTML);
發(fā)送隱式的數(shù)據(jù)給客戶程序(狀態(tài)代碼和響應報頭);
優(yōu)點:高效,便利,功能強大,可移植性強,花費少,安全
二,SERVLET 生命周期
init:僅在servlet首次載入時執(zhí)行一次。不是每次請求都要調用。
service:在新線程中由服務器為每個請求而調用。發(fā)送到doGet,doPost等。不要覆蓋這個方法!
doGet, doPost, doXxx:處理GET, POST, 等請求。覆蓋這些方法以提供期望的行為。
destroy:在服務器刪除servlet的實例時調用。不是每次請求后都調用。
三,例子
下面是看《Servlet與JSP核心編程第二版》測試例子;
給大家推薦一個網(wǎng)站:
http://chinesedocument.com/
看名字就應該知道關于什么的了,上面東西挺多的,不錯;
說明:
chapter2,chaper3:servlet基礎,請求參數(shù);
chapter4:request請求頭查看,post,get方式;
chapter5: 簡單搜索引擎前端,sendError,sendRedirect測試;測試用例:
“http://www.google.cn/search?q=” “sendRedirect”
chapter6:ContentType測試
chapter7:cookie測試,servlet:RegistrationForm 簡單注冊頁面,,使用cookie的值預先填寫表單的 字段,如果未找到相應的cookie則使用默認值;Registration servlet:基于接收到的請求參數(shù)創(chuàng)建cookie,如果得到所有的參數(shù)則顯示這些值,如果任何參數(shù)缺失,則重定向到表單;
chapter8:session實現(xiàn)一個簡單購物車;流程:登陸(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不是很熟悉,解析那部分做的不好,大家給多提提意見;書中有個refresh例子,還沒看明白;說看明白實現(xiàn)了給我發(fā)一份??;