//DBServ.java
//A simple database servlet
//Demonstrates combining JDBC, servlet capabilities
//Andy Harris
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
import java.sql.*;
import sun.jdbc.odbc.*;
public class DBServ extends HttpServlet{
ResultSet rs;
Statement stmt;
Connection con;
public void init(ServletConfig config) throws ServletException{
super.init(config);
//handle setting up database connection
new JdbcOdbcDriver();
try{
//prepare the connection parameters
String url = "jdbc:odbc:practice";
String user = "";
String password = "";
//make the connection
con = DriverManager.getConnection(url, user, password);
//System.out.println("Made the connection to the database");
//generate a statement object
stmt = con.createStatement();
} catch (Exception e) {
System.out.println(e.getMessage());
} // end try
} // end init
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException{
//assuming an empty form here...
response.setContentType("text/html");
PrintWriter out = response.getWriter();
mainMenu(out);
} // end doGet
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String mode = request.getParameter("mode");
out.println("");
out.println("
");
out.println("Database main page");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.close();
} // end mainMenu
public void addPeople(PrintWriter out){
out.println("");
out.println("");
out.println("Add a person");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.close();
} // end addPeople
public void addCity(PrintWriter out){
out.println("");
out.println("");
out.println("Add a city");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.close();
} // end addPeople
public void insertCity(PrintWriter out, HttpServletRequest request){
String insertString = "Insert into city values(";
insertString += "'" + request.getParameter("txtID") + "', ";
insertString += "'" + request.getParameter("txtName") + "'); ";
out.println();
out.println("Executing query:
");
out.println(insertString);
try{
stmt.executeUpdate(insertString);
} catch (SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
} // end try
} //end insertCity
public void insertPerson(PrintWriter out, HttpServletRequest request){
String insertString = "Insert into people values(";
insertString += "'" + request.getParameter("txtLName") + "', ";
insertString += "'" + request.getParameter("txtFName") + "', ";
insertString += request.getParameter("txtCity") + ")";
out.println();
out.println("Executing query:
");
out.println(insertString);
try{
stmt.executeUpdate(insertString);
} catch (SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
} // end try
} //end insertPerson
public void viewPeople(PrintWriter out){
//runs a query on people table, spits out result
out.println(exQ("Select * from people"));
} // end view people
public void viewCity(PrintWriter out){
//runs a query on city table, spits out result
out.println(exQ("Select * from city"));
} // end view people
public void viewData(PrintWriter out){
//runs a joined query on people, city table, spits out result
out.println(exQ("Select FName, LName, City.name from people INNER JOIN city on people.city = city.id"));
} // end view people
public String exQ(String query){
//handles all queries which use executeQuery
String result = "";
System.out.println(query);
try {
ResultSet rs = stmt.executeQuery(query);
result = createHTMLTable(rs);
} catch (SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
} // end try
return result;
} // end exQ
public String createHTMLTable(ResultSet rs) throws SQLException{
//takes in a resultset and prints out an HTML table
ResultSetMetaData rsmd = rs.getMetaData();
String HTMLOut = "";
HTMLOut += " \n";
HTMLOut += " \n";
//get column headings
for (int column = 1; column <= rsmd.getColumnCount(); column++){
HTMLOut += " | " + rsmd.getColumnName(column) + " | \n";
} // end for loop
HTMLOut += "
\n";
//for each row---
//rs.first();
while (rs.next()){
HTMLOut += " \n";
//print each field
for (int column = 1; column <= rsmd.getColumnCount(); column++){
HTMLOut += " | " + rs.getString(column) + " | \n";
} // end for loop
HTMLOut += "
\n";
} // end while loop1
HTMLOut += "
\n";
return HTMLOut;
} // end printTable
} // end class def