建立一个叫StudentDBServlet 的servlet
StudentDBServlet包括以下的方法:初始化、服务请求、显示一个学生记录、登记记录。
初始化Servlet
在Servlet的整个生命周期中,当servlet被请求的时候,init()首先被调用
用户请求服务
当一个servlet 被请求的时候,service()方法被调用,service()方法是servlets的主要入口,如果是第一次调用这个servlet那么init()先被调用,接着是service()方法。
这个service()方法是根据用户的不同请求去调用适当的方法,如在这个例子中,如果所有的字段都不为空,那么可以调用registerstudent()方法了。
显示这个学生列表
lastname=request.getParameter("lastname");
这个request对象是HttpServletRequest的一个实例,request对象包含了表单数据,表单的数据被getParameter()方法取得。toString( )方法是返回数据的字符串格式,toWebString( )方法返回的是HTML格式的列表,toTableString( )方法返回的是HTML格式的表格行。
servlet送一个请求到数据库服务器去得到学生的列表,在init( )方法中准备了这样的SQL语句:
select * from students order by lastname;
这个SQL语句返回的是以lastname排序的学生里表,在下面的while 循环语句中去取得结果集中的每条记录;
int rowNumber=1;
while((dataResultSet.next()){
aStudent=new Student(dataResultSet);
tableBody+=aStudent.toTableString(rowNumber);
rowNumber++;
}
每条记录被用来产生以个新的Student对象,这个toTableString()方法是去得到学生数据的字符串描述,toTableString( )返回的是HTML格式的表格行。
大量的服务器端的程序已经有了,但是我们还没有完工,还必须把HTML页面返回给Web浏览器。这个是被response对象中的output Stream来做的,这个response对象是HttpServletResponse的一个实例,response对象是用来返回给客户端的
printWriter outputToBrowser=new PrintWriter(response.getOutputStream());
response.setContentType("text/html");
outputToBrowser.println(htmlpage);
outputToBrowser.close();
登记一个学生
registerStudent( )方法产生以个基于HTML表单数据的Student对象,这个对象用来设置SQL语句的参数
registerStatement.setString(LAST_NAME_POSITION,aStudent.getLastName( ));
(哎,十指都抽筋了,把原代码都附送给你们吧,随便你们怎么处理了)