import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
private Connection con = null;
public void init() throws ServletException {
try {
Class.forName("com.sybase.jdbc.SybDriver");
con = DriverManager.getConnection("jdbc:sybase:Tds:dbhost:7678", "user", "passwd");
}
catch (ClassNotFoundException e) {
throw new UnavailableException("Couldn't load database driver");
}
catch (SQLException e) {
throw new UnavailableException("Couldn't get db connection");
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("Phonebook ");
out.println("");
HtmlSQLResult result = new HtmlSQLResult("SELECT NAME, PHONE FROM EMPLOYEES", con);
out.println("Employees:
");
out.println(result);
out.println("");
}
public void destroy() {
try {
if (con != null) con.close();
}
catch (SQLException ignored) { }
}
}
class HtmlSQLResult {
private String sql;
private Connection con;
public HtmlSQLResult(String sql, Connection con) {
this.sql = sql;
this.con = con;
}
public String toString() { // can be called at most once
StringBuffer out = new StringBuffer();
// Uncomment the following line to display the SQL command at start of table
// out.append("Results of SQL Statement: " + sql + "\n");
try {
Statement stmt = con.createStatement();
if (stmt.execute(sql)) {
// There's a ResultSet to be had
ResultSet rs = stmt.getResultSet();
out.append("
\n");
ResultSetMetaData rsmd = rs.getMetaData();
int numcols = rsmd.getColumnCount();
// Title the table with the result set's column labels
out.append("");
for (int i = 1; i <= numcols; i++)
out.append("" + rsmd.getColumnLabel(i));
out.append(" \n");
while(rs.next()) {
out.append(""); // start a new row
for(int i = 1; i <= numcols; i++) {
out.append(""); // start a new data element
Object obj = rs.getObject(i);
if (obj != null)
out.append(obj.toString());
else
out.append(" ");
}
out.append(" \n");
}
// End the table
out.append("
\n");
}
else {
// There's a count to be had
out.append("Records Affected: " + stmt.getUpdateCount());
}
}
catch (SQLException e) {
out.append("ERROR:
" + e.getMessage());
}
return out.toString();
}
}
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
MyServletName
MyServlet
MyServletName
*.htm
javax.servlet.jsp.jstl.fmt.timeZone
US/Central
database-driver
org.gjt.mm.mysql.Driver
database-url
jdbc:mysql://localhost/forum?user=forumuser