orcale测试实例
发表于:2007-07-01来源:作者:点击数:
标签:
/* OracleTestServlet -This is a sample servlet which connects to an Oracle instance.It includes some code to log various points of invocation and execution into the WebSphere Application Server@#s log.It also sets a log file (in the current
/*
OracleTestServlet - This is a sample servlet which
connects to an Oracle instance. It includes some code to
log various points of invocation and execution into
the WebSphere Application Server@#s log. It also sets a log
file (in the current directory where the servlet is
invoked) for the JDBC driver. This JDBC driver log can be
examined along with the servlet@#s log output in order to
determine configuration problems. Create the
corresponding class file from this source and move it to the
appropriate servlets directory.
Marc Connolly
Oracle Corporation
Email: mdconnol@us.
oracle.com
*/
import
java.io.File;
import java.io.IOException;
import java.lang.IllegalStateException;
import java.io.PrintWriter;
import java.io.PrintStream;
import java.io.FileWriter;
import java.io.FileOutputStream;
import java.
sql.DriverManager;
import java.sql.Connection;
import java.sql.
SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.util.Date;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpUtils;
public class OracleServlet extends HttpServlet
{
private String thisServletName =
"OracleTestServlet";
private String thisServletNameDesc = "
Oracle JDBC Test Servlet";
private boolean servletInitialized = false;
private long servletStartTimeStamp;
public void init(ServletConfig config) throws
ServletException
{
super.init(config);
/*
Record the servlet@#s initialization time
*/
servletStartTimeStamp = System.currentTimeMillis();
log(thisServletName + ":Init Completed");
/*
Mark servlet init complete
*/
servletInitialized = true;
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException
{
log("Start Menu Visual List()");
log(thisServletName + "doGet (Start)");
long startTimeStamp = System.currentTimeMillis();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML><TITLE>OracleTestServlet: Using
Oracle JDBC Driver</TITLE><BODY>");
out.println("<BR><BR<BR<HR><CENTER>Begin Employee
List</CENTER><BR><BR>");
out.println("<PRE>");
/*
Enable JDBC Driver logging
*/
String jdbcDriverlogFileName =
"./OracleServletJDBC.log";
log(thisServletName + "JDBC Log: " +
jdbcDriverlogFileName);
/*
Make the log file
*/
File file = new File(jdbcDriverlogFileName);
if (file.exists())
{
if (!file.canWrite())
{
log(thisServletName + "JDBC Driver Log file (" +
file.getAbsolutePath() + ") is not writable");
}
}
else
{
try
{
File parent = new File(file.getParent());
if (!parent.canWrite())
{
log(thisServletName + "JDBC Driver Log file
directory (" + parent.getAbsolutePath() + ") is not
writable");
}
}
catch (NullPointerException e)
{
// no parent.
}
}
try
{
DriverManager.setLogStream(new PrintStream(new
FileOutputStream(file.getAbsolutePath(), true)));
}
catch (IOException ioE)
{
log(thisServletName + "JDBC Driver Log - exception
thrown during setLogStream:" + ioE);
}
try
{
log(thisServletName + "Registering
Driver(before)");
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
log(thisServletName + "Registering Driver(after)");
/*
Note regarding connection url: the ip address is
the address of the host upon which the Oracle instance is
running followed by
the port which the Oracle instance@#s listener (the
TNS address space) is using as specified in the
.PARMLIB(MPMTNS) member
of the Oracle@#s MPM started task.
*/
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@9.12.2.10:1621:MPM5","system",
"manager");
log(thisServletName + "Get Connection(After)");
Statement stmt = conn.createStatement ();
log(thisServletName + "Create Statement(After)");
ResultSet rset = stmt.executeQuery ("select EMPNO,
ENAME from scott.EMP");
log(thisServletName + "Execute Query(After)");
while (rset.next ())
out.println("<BR>EMPNO:" + rset.getString (1) +
",NAME:" + rset.getString (2));
log(thisServletName + "Close Connection(Before)");
conn.close();
log(thisServletName + "Close Connection(Before)");
}
catch (Exception e)
{
log(thisServletName + "Exception:" + e);
}
out.println("</PRE><BR><HR><CENTER>End Employee
List</CENTER></ FORM></BODY></HTML>");
out.close();
log(thisServletName + "doGet (End)");
}
public void destroy()
{
log(thisServletName + ":Terminated");
super.destroy();
}
public boolean isInitialized()
{
return servletInitialized;
}
public String getServletInfo()
{
return thisServletNameDesc;
}
}
原文转自:http://www.ltesting.net