My computer is Linux platform running Tomcat4 using the JDBC driver
mysql-connector-java-2.0.14-bin.jar
<%@ page import="java.sql.*" %>
<%
String connectionURL = "jdbc:mysql://localhost:3306/db
name?user=username&password=password";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
%>
<html><body>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "", "");
statement = connection.createStatement();
rs = statement.executeQuery("SELECT * FROM table");
while (rs.next()) {
out.println(rs.getString("field")+"<br>");
}
rs.close();
%>
Execption:
org.apache.jasper.JasperException: Server configuration denies access to
data source
at org.apache.jasper.servlet.JspServletWrapper.service(Unknown Source)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)
at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:380)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:533)
at java.lang.Thread.run(Thread.java:536)
Pretty long error stack trace you have there ...
It would be wise to call a Java-code from the jsp, and not to put all
that database stuff within the jsp page itself.
eg:
public final class Jdbc {
private static Driver driver;
private static Properties props=new Properties();
private static boolean initDone;
private static String url, user, pwd, drv;
public static void init() {
try {
url = Settings.getAttribute(Settings.Attributes.DB_URL);
user = Settings.getAttribute(Settings.Attributes.DB_USERNAME);
pwd = Settings.getAttribute(Settings.Attributes.DB_PASSWORD);
drv = Settings.getAttribute(Settings.Attributes.DB_DRIVER);
props.setProperty("user", user);
props.setProperty("password", pwd);
driver = (Driver)Class.forName(drv).newInstance();
initDone=true;
}
catch(Exception e) {
e.printStackTrace(System.err); // VERY IMPORTANT
}
}
public static Connection openConnection() throws SQLException {
return driver.connect(url,props);
}
public static void close(Object o) {
if (o==null) return;
try {
if (oinstanceof ResultSet)
((ResultSet)o).close();
else if (o instanceof Statement)
((Statement)o).close();
else if (o instanceof Connection)
((Connection)o).close();
}
catch(Exception ignore) {
}
finally {
o = null;
}
}
// and many other functions ...
}
and in your jsp page:
<%
Connection con = Jdbc.getConnection();
// ...
Jdbc.close(con);
%>
What output does the e.printStackTrace(System.err); give in
your code ?
greetings,
Benny Lootens
Java Developer
BELGIUM
--
Posted via http://dbforums.com