3.实现中间层
下面以BookServlet为例,说明如何实现中间层的Servlet。
(1)初始化Servlet
public class BookServlet extends HttpServlet {
protected Connection dbConnection;
protected PrepareStatement readQuery;
protected PrepareStatement writeQuery;
protected String dbName=″jdbc:odbc:BookDatabase″;
protected String bookName;
protected String bookISBN;
public void init(ServletConfig config) throws ServletExecption
{
try {
Class.forName(″sun.jdbc.odbc.JdbcOdbcDriver″);
dbConnection=DriverManager.getConnection(dbName,″″,″″);
}
catch(Exception e)
{
System.out.println(″Can not initialize database″);
}
}
Servlet的init()函数在Servlet被初次激活时进行调用,对于BookServlet,在init()中我们创建其与图书数据库的连接(当然应该已经在ODBC中定义BookDatabase),这里使用的是Java JDBC API中的Connection对象。
(2)实现service()操作
当客户端向Servlet进行请求时,Servlet的service()函数被调用,在service()中我们应该实现中间层的所有功能。
public void service(HttpServletRequest request,HttpServletResponse reponse)
throws ServletException,IOException
{
bookName=request.getParameter(″BookName″);
bookISBN=request.getParameter(″BookISBN″);
if (bookName==null && bookISBN==null)
doQueryBook(request,reponse);
else doNewBook(request,reponse);
}
首先,我们通过参数HttpServletRequest取得客户端的输入参数,这些参数是用户在HTML页面中的编辑框中输入的,然后我们根据用户的需要进行库查询或库更新的操作。