Is this normal :
<resource-ref>
<res-ref-name>jdbc/BookDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Containter</res-auth>
</resource-ref>
More especially : <res-auth>Containter</res-auth> : CONTAINTER?
Andre Powroznik
-----Original Message-----
From: Przemyslaw Kowalczyk [mailto:[EMAIL PROTECTED]]
Sent: 02 July 2002 12:09
To: 'Tomcat Users List'
Subject: Tomcat 4.0.4, jndi, jdbc and postgresql [long]
Hi
I've just started to write servlets. Servlets that only do processing, without
connecting to database work fine, but I have some problems to get the
connection with postgresql via jdbc work.
Tomcat: 4.0.4 (on linux)
Postgresql: 7.2.1 (on linux)
Jdbc: pgjdbc2.jar (from jdbc.postgresql.org)
The servlet is quite simple:
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class InfoServlet extends HttpServlet {
Connection con;
private boolean conFree = true;
public void init() throws ServletException {
try {
Context initCtx = new InitialContext();
Context envCtx =
(Context)initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)
envCtx.lookup("jdbc/BookDB");
Connection con = ds.getConnection();
} catch (Exception ex) {
throw new ServletException("Couldn't open connection
to database: " + ex.getMessage());
}
}
public void destroy() {
try {
con.close();
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
public void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
HttpSession session = request.getSession();
// set content-type header before accessing the Writer
response.setContentType("text/html");
response.setBufferSize(8192);
PrintWriter out = response.getWriter();
// then write the data of the response
out.println("<html>" +
"<head><title>Duke's Bookstore</title></head>");
}
}
in web/WEB-INF/web.xml I defined:
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Currency Converter Application</display-name>
<description>
Test servlet
</description>
<servlet>
<servlet-name>info</servlet-name>
<display-name>info</display-name>
<description>no description</description>
<servlet-class>InfoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>info</servlet-name>
<url-pattern>/info</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<resource-ref>
<res-ref-name>jdbc/BookDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Containter</res-auth>
</resource-ref>
</web-app>
And in server.xml in the contex of the application:
<Context path="/bookstore" docBase="bookstore" debug="0"
reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_bookstore_log." suffix=".txt"
timestamp="true"/>
<Resource name="jdbc/BookDB" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/BookDB">
<parameter>
<name>user</name>
<value>java</value>
</parameter>
<parameter>
<name>password</name>
<value>java</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>driverName</name>
<value>jdbc:postgresql:public</value>
</parameter>
</ResourceParams>
</Context>
I've tried a few different driverName parameters: (restarting Tomcat after
each change)
jdbc:postgresql://localhost/public
jdbc:postgresql://full.server.name/public
jdbc:postgresql:public
jdbc:postgresql://localhost/
But, despite the parameters, I always get the following error:
exception
javax.servlet.ServletException: Couldn't open connection to database:
Exception creating DataSource: org.hsql.jdbcDriver
at InfoServlet.init(Unknown Source)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)
....
{cut}
I have no idea why Tomcat wants to connect using hsql driver. I grepped
through tomcat directory and found only one reference to this driver (in
examples section). I removed event the sample section, restarted Tomcat but
it didn't help.
Does anyone know what is wrong?
regards
Przem
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
**** DISCLAIMER ****
"This e-mail and any attachments thereto may contain information
which is confidential and/or protected by intellectual property
rights and are intended for the sole use of the recipient(s) named above.
Any use of the information contained herein (including, but not limited to,
total or partial reproduction, communication or distribution in any form)
by persons other than the designated recipient(s) is prohibited.
If you have received this e-mail in error, please notify the sender either
by telephone or by e-mail and delete the material from any computer.
Thank you for your cooperation."
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>