servlet 學習筆記

2021-06-06 03:37:19 字數 2366 閱讀 8398

一、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實現的,具體這個引數...