query1.java

来自「java web 开发,Java Xml 编程指南书籍源码」· Java 代码 · 共 56 行

JAVA
56
字号
// servlet Query1 as extensible 3tier example, similar to
// Query0 but with sparts split off into three classes,
// one to know about file logging, one to know about
// database communication, one to know about HTML.

import javax.servlet.*;  // communicate with client
import javax.servlet.http.*; 

import MyNa.utils.Logger;  // saves admin/debug info to file

import MyNa.utils.LookerUpper;   // communicate with database
import MyNa.utils.MiscDB;   // communicate with database
import MyNa.utils.HtmlWrapper;

import java.sql.SQLException;   // thrown by LookerUpper
import java.io.IOException; // thrown by HtmlWrapper


public class Query1 extends HttpServlet { 
  String qString=
     "SELECT theNumber,theAddr FROM PHONEBOOK WHERE theName=?;";
  String dbUrl="jdbc:odbc:PHONEBOOK";
  String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
  Logger lg=null; LookerUpper looker=null;

  public void init(ServletConfig cfg) throws ServletException{
    super.init(cfg);
    try{
      lg=new Logger(); lg.clearLog(); lg.logIt("Query1.init()");
      looker=new LookerUpper(driverName,dbUrl,qString,lg);
    }catch(Exception E){E.printStackTrace(); lg.logIt(""+E);}
  }

  public void destroy(){ //  try to close up.
   lg.logIt("Query1.destroy()");
   looker.close();
  }

  public void doGet (HttpServletRequest req, 
                     HttpServletResponse res)
    throws ServletException, IOException{
   res.setContentType("text/html");
   String theName=req.getParameter("theName");
   
   String [][]resp=MiscDB.resultRowsToStringMatrix(looker.lookup(theName));
     // ask for THENUMBER (in PHONEBOOK) where THENAME= theName
      // a database query response is normally two-dimensional
   HtmlWrapper W=new HtmlWrapper(res.getWriter());
   W.wrapTablePage("Phone Number for "+theName,resp);
  }

  public String getServletInfo() {
    return "A simple 3tier system's servlet";
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?