一、servrlet的生命週期:
1.裝載servlet。這項操作一般是動態執行的。然而,server通常會提供乙個管理的選項,用於在server啟動時強制裝載和初始化特定的servlet。
2.server建立乙個servlet的例項
3.server呼叫servlet的init()方法
4.乙個客戶端的請求到達server
5.server建立乙個請求物件
6.server建立乙個響應物件
7.server啟用servlet的service()方法,傳遞請求和響應物件作為引數
8.service()方法獲得關於請求物件的資訊,處理請求,訪問其他資源,獲得需要的資訊
9.service()方法使用響應物件的方法,將響應傳回server,最終到達客戶端。service()方法可能啟用其它方法以處理請求,如doget()或dopost()或程式設計師自己開發的新的方法。
10.對於更多的客戶端請求,server建立新的請求和響應物件,仍然啟用此servlet的service()方法,將這兩個物件作為引數傳遞給它。如此重複以上的迴圈,但無需再次呼叫init()方法。一般servlet只初始化一次(只有乙個物件),當server不再需要servlet時(一般當server關閉時),server呼叫servlet的destroy()方法。
二:servlet請求和屬性
在使用超連結的請求servlet時,如果重寫了service方法,會直接呼叫servlet方法,如果想呼叫doget或dopost方法,則不需重寫service方法,也可以通過form表單去請求。
三:servlet配置
主要是web.xml裡面配置
testservlet
com.servlet.testservlet
*.do
配置的格式都是請求到配置的servlet。
利用servlet輸出登陸的驗證碼操作:
1、servlet類 doget方法:
randomgraphics g = new randomgraphics();
g.setcharlength(6);
servletoutputstream sos = resp.getoutputstream();
g.buildimage(sos);
req.getsession().setattribute("code", g.getcheckcode());
sos.flush();
2、randomgraphics類:
public string buildimage(outputstream out)
stringbuffer codestr = new stringbuffer();
for (int i = 0; i < this.charlength; i++)
this.checkcode = codestr.tostring();
g.dispose();
//bytearrayinputstream inputstream = null;
//bytearrayoutputstream outputstream = new bytearrayoutputstream();
try catch (ioexception e)
//return inputstream;
return this.checkcode;
} /**
* 利用隨機數,隨機生成乙個color顏色的物件
* @param fc
* @param bc
* @return顏色物件
*/ private color getcolor(int fc, int bc)
if (bc > 255)
int r = fc + random.nextint(bc - fc);
int g = fc + random.nextint(bc - fc);
int b = fc + random.nextint(bc - fc);
return new color(r, g, b);
}
3、配置servlet
checkcodeservlet
com.hw.graphics.checkcodeservlet
/checkcode
4、在jsp頁面上面直接請求就可以了:
驗證碼:
這樣的web.xml載入的開啟頁面就會去請求servlet得到
Servlet學習筆記
會話 簡單來說,使用者訪問乙個瀏覽器,在瀏覽器上執行了很多操作,訪問多個頁面最後關閉瀏覽器,這個過程稱為會話。cookie存在於瀏覽器的本機 使用者可以看到cookie裡邊的內容,不安全 cookie cookie new cookie info name cookie.setmaxage 1 0表...
Servlet學習筆記
本次講述的主要是輸入的文字是中文應該怎麼解決?這裡介紹兩種方法 當method post 時,此時解決的方法比較簡單 在dopost的方法裡面新增 request.setcharacterencoding utf 8 就可以解決了,注意一定要再取得任何請求引數之前新增 第二種當method get ...
Servlet學習筆記
servletconfig public voidinit servletconfigservletconfig servletconfig servlet配置,servletconfig是乙個介面,具體實現是由servlet容器開發商實現的,以tomcat為例,就是tomcat實現的,具體這個引數...