query0mysql.java

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

JAVA
65
字号
// servlet Query0 as first 3tier example
//  mySQL version; change name + the first few lines of "lookup",
//  and make sure the query does not end with a semi-colon.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class Query0MySQL extends HttpServlet { 
  public void doGet (HttpServletRequest req, 
                     HttpServletResponse res)
    throws ServletException, IOException{
    res.setContentType("text/html");
    PrintWriter out=res.getWriter();

    String theName=req.getParameter("theName");

    String qResult=lookup(theName); // does all database work
     // SELECT THENUMBER (in PHONEBOOK) where THENAME=theName

    String title="Query Result: Phone Number for "+theName;
    wrapInHTMLPage(out,qResult,title); // does all output HTML work
  }  // end of doGet()

  public void doPost (HttpServletRequest req,
                      HttpServletResponse res)
      throws ServletException, IOException{
    doGet(req,res);
  }

  public void wrapInHTMLPage(PrintWriter out,String qResult,String title)
      throws IOException {
    out.println("<HTML><HEAD><TITLE> "+title+" </TITLE></HEAD>");
    out.println("<BODY> <H1>"+title+"</H1>");
    out.println(qResult);
    out.println("</BODY></HTML>");
  }

  public String lookup(String key){
  // variables for database work
    String driverName="org.gjt.mm.mysql.Driver";
    String dbURL="jdbc:mysql://localhost/PHONEBOOK/";
    String theUser=""; String thePwd="";
    String qString="SELECT THENUMBER FROM PHONEBOOK WHERE THENAME='"+key+"'";


    try{
      Class.forName(driverName);
      Connection con=DriverManager.getConnection(dbURL,theUser,thePwd);
     // selects value of THENUMBER from PHONEBOOK where THENAME is V;
      Statement stmt=con.createStatement();
      ResultSet res=stmt.executeQuery(qString);
      String value;
      if(null==res)value="db failure on "+key;
      else if(res.next())value=res.getString(1);
      else value="No such name as "+key; // empty result set
      if(res!=null)res.close();
      con.close();
      return value;
    }catch (java.lang.Exception ex)
       {ex.printStackTrace(); return ""+ex;}
  }
}

⌨️ 快捷键说明

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