Below is a simple servlet that will create a text field and a button in html. It will get the users input and pass it to the db code you created. It will then redisplay the form and underneath the form it will display the query results.
Everything will compile if add the import statement for the oracle.jdbc.driver.OracleDriver.
FYI, doInit(), doGet(HttpServletRequest, HttpServletResponse), and doPost(HttpServletRequest, HttpServletResponse) are methods from HttpServlet.
Cheers!
*******************************************
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
import java.sql.*;
// need to import the oracle stuff
public class myServlet extends HttpServlet {
// your global stuff goes here
static final String connect_string = "jdbc

racle:thin:username/pass@host

ort:SID";
private Connection conn;
// your initialization stuff goes in here
public void init() {
}
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException, java.io.IOException {
resp.setContentType("text/html");
// writes the output
PrintWriter out = resp.getWriter();
String sQueryString = req.getParameter("querystring");
// get the html for a simple form
// just has a textbox that is your query
out.print(getFormTag());
// if the typed something in the textbox
// and its not the first time being displayed
if(sQueryString != null && sQueryString.trim().length() > 0) {
out.print(executeQuery(sQueryString));
}
}
public void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException, java.io.IOException {
// for now just use the doget on posts
doGet(req, resp);
}
private String getFormTag() {
StringBuffer buffer = new StringBuffer();
buffer.append("<html><body>\n");
buffer.append("<form name='form1'>\n");
buffer.append("<input type='text' name='querystring' value=''>\n");
buffer.append("<input type='submit' name='Submit' value='Query' action='post'>\n");
buffer.append("</form>\n");
buffer.append("</body>\n");
return buffer.toString();
}
private String executeQuery(String query) {
StringBuffer output = new StringBuffer();
try {
// See if we need to open the connection to the database
if (conn == null) {
// Load the JDBC driver
// don't have the jar -- throws an error
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
// Connect to the databse
output.append ("Connecting to " + connect_string + "\n");
conn = DriverManager.getConnection (connect_string);
output.append ("Connected\n");
}
// Create a statement
Statement stmt = conn.createStatement ();
// Execute the query
output.append ("Executing query " + query + "\n");
ResultSet rset = stmt.executeQuery (query);
// Dump the result
while (rset.next ())
output.append (rset.getString (1) + "\n");
// We're done
output.append ("done.\n");
}
catch (Exception e) {
// Oops
output.append (e.getMessage () + "\n");
}
return output.toString();
}
}
[ February 12, 2002: Message edited by: Thomas Mcfarrow ]