建立一個叫StudentDBServlet 的servlet
StudentDBServlet包括以下的方法:初始化、服務(wù)請求、顯示一個學(xué)生記錄、登記記錄。
初始化Servlet
在Servlet的整個生命周期中,當(dāng)servlet被請求的時候,init()首先被調(diào)用
用戶請求服務(wù)
當(dāng)一個servlet 被請求的時候,service()方法被調(diào)用,service()方法是servlets的主要入口,如果是第一次調(diào)用這個servlet那么init()先被調(diào)用,接著是service()方法。
這個service()方法是根據(jù)用戶的不同請求去調(diào)用適當(dāng)?shù)姆椒?,如在這個例子中,如果所有的字段都不為空,那么可以調(diào)用registerstudent()方法了。
顯示這個學(xué)生列表
lastname=request.getParameter("lastname");
這個request對象是HttpServletRequest的一個實例,request對象包含了表單數(shù)據(jù),表單的數(shù)據(jù)被getParameter()方法取得。toString( )方法是返回數(shù)據(jù)的字符串格式,toWebString( )方法返回的是HTML格式的列表,toTableString( )方法返回的是HTML格式的表格行。
servlet送一個請求到數(shù)據(jù)庫服務(wù)器去得到學(xué)生的列表,在init( )方法中準(zhǔn)備了這樣的SQL語句:
select * from students order by lastname;
這個SQL語句返回的是以lastname排序的學(xué)生里表,在下面的while 循環(huán)語句中去取得結(jié)果集中的每條記錄;
int rowNumber=1;
while((dataResultSet.next()){
aStudent=new Student(dataResultSet);
tableBody+=aStudent.toTableString(rowNumber);
rowNumber++;
}
每條記錄被用來產(chǎn)生以個新的Student對象,這個toTableString()方法是去得到學(xué)生數(shù)據(jù)的字符串描述,toTableString( )返回的是HTML格式的表格行。
大量的服務(wù)器端的程序已經(jīng)有了,但是我們還沒有完工,還必須把HTML頁面返回給Web瀏覽器。這個是被response對象中的output Stream來做的,這個response對象是HttpServletResponse的一個實例,response對象是用來返回給客戶端的
printWriter outputToBrowser=new PrintWriter(response.getOutputStream());
response.setContentType("text/html");
outputToBrowser.println(htmlpage);
outputToBrowser.close();
登記一個學(xué)生
registerStudent( )方法產(chǎn)生以個基于HTML表單數(shù)據(jù)的Student對象,這個對象用來設(shè)置SQL語句的參數(shù)
registerStatement.setString(LAST_NAME_POSITION,aStudent.getLastName( ));
?。ò?,十指都抽筋了,把原代碼都附送給你們吧,隨便你們怎么處理了)