Problem with JNDI Datasource HOW-TO MySQL Example
I'm new to Java but have installed Tomcat a couple of times, and am now trying to configure a JNDI datasource (to use with the OpenReports database reporting package - see http://sourceforge.net/projects/oreports for info on that). Before configuring a datasource for db reporting, I'm trying to set up the test datasource described on the JNDI Datasource HOW-TO at http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-how to.html, under the section MySQL DBCP Example. I've edited the conf/server.xml and webapps/DBTest/WEB-INF/web.xml files as indicated in the HOW-TO. When deploying the code in this sample webapp with Tomcat 4.1.27, I either get a 404 or an error that includes the following: An error occurred at line: 6 in the jsp file: /test.jsp Generated servlet error: [javac] Compiling 1 source file /home/ddegraff/packages/openreports-tomcat/work/Standalone/localhost/DBTest/ test_jsp.java:48: package foo does not exist foo.DBTest tst = new foo.DBTest(); The above error occurs if the jsp file and class file are in the $CATALINA_HOME/webapps/DBTest directory together. If I put the compiled class file (DBTest.class) in webapps/DBTest/WEB-INF/classes, I get a 404 when trying to access the jsp. The jsp file and class file source is copied below. Any insight would be much appreciated. Best, Dave De Graff JSP file text: html head titleDB Test/title /head body % foo.DBTest tst = new foo.DBTest(); tst.init(); % h2Results/h2 Foo %= tst.getFoo() %br/ Bar %= tst.getBar() % /body /html -- DBTest.java file text: package foo; import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = Not Connected; int bar = -1; public void init() {try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception(Boom - No Context); DataSource ds = (DataSource)ctx.lookup( java:comp/env/jdbc/TestDB); if (ds != null) {Connection conn = ds.getConnection(); if(conn != null) {foo = Got Connection +conn.toString(); Statement stmt = conn.createStatement();ResultSet rst = stmt.executeQuery( select id, foo, bar from testdata); if(rst.next()) { foo=rst.getString(2); bar=rst.getInt(3);} conn.close();} }}catch(Exception e) { e.printStackTrace();} } public String getFoo() { return foo; } public int getBar() { return bar;}} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with JNDI Datasource HOW-TO MySQL Example
By the way, the Java source code I'm trying to deploy is formatted and indented just as it is on the HOW-TO page. It lost formatting in being posted to the list. Dave - Original Message - From: David De Graff [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 31, 2003 12:25 AM Subject: Problem with JNDI Datasource HOW-TO MySQL Example I'm new to Java but have installed Tomcat a couple of times, and am now trying to configure a JNDI datasource (to use with the OpenReports database reporting package - see http://sourceforge.net/projects/oreports for info on that). Before configuring a datasource for db reporting, I'm trying to set up the test datasource described on the JNDI Datasource HOW-TO at http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-how to.html, under the section MySQL DBCP Example. I've edited the conf/server.xml and webapps/DBTest/WEB-INF/web.xml files as indicated in the HOW-TO. When deploying the code in this sample webapp with Tomcat 4.1.27, I either get a 404 or an error that includes the following: An error occurred at line: 6 in the jsp file: /test.jsp Generated servlet error: [javac] Compiling 1 source file /home/ddegraff/packages/openreports-tomcat/work/Standalone/localhost/DBTest/ test_jsp.java:48: package foo does not exist foo.DBTest tst = new foo.DBTest(); The above error occurs if the jsp file and class file are in the $CATALINA_HOME/webapps/DBTest directory together. If I put the compiled class file (DBTest.class) in webapps/DBTest/WEB-INF/classes, I get a 404 when trying to access the jsp. The jsp file and class file source is copied below. Any insight would be much appreciated. Best, Dave De Graff JSP file text: html head titleDB Test/title /head body % foo.DBTest tst = new foo.DBTest(); tst.init(); % h2Results/h2 Foo %= tst.getFoo() %br/ Bar %= tst.getBar() % /body /html -- DBTest.java file text: package foo; import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = Not Connected; int bar = -1; public void init() {try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception(Boom - No Context); DataSource ds = (DataSource)ctx.lookup( java:comp/env/jdbc/TestDB); if (ds != null) {Connection conn = ds.getConnection(); if(conn != null) {foo = Got Connection +conn.toString(); Statement stmt = conn.createStatement();ResultSet rst = stmt.executeQuery( select id, foo, bar from testdata); if(rst.next()) { foo=rst.getString(2); bar=rst.getInt(3);} conn.close();} }}catch(Exception e) { e.printStackTrace();} } public String getFoo() { return foo; } public int getBar() { return bar;}} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with JNDI Datasource HOW-TO MySQL Example
simple suggestion. put the class file in webapps/DBTest/WEB-INF/classes/foo. Antony. Original Message - From: David De Graff [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 31, 2003 1:55 PM Subject: Problem with JNDI Datasource HOW-TO MySQL Example I'm new to Java but have installed Tomcat a couple of times, and am now trying to configure a JNDI datasource (to use with the OpenReports database reporting package - see http://sourceforge.net/projects/oreports for info on that). Before configuring a datasource for db reporting, I'm trying to set up the test datasource described on the JNDI Datasource HOW-TO at http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-how to.html, under the section MySQL DBCP Example. I've edited the conf/server.xml and webapps/DBTest/WEB-INF/web.xml files as indicated in the HOW-TO. When deploying the code in this sample webapp with Tomcat 4.1.27, I either get a 404 or an error that includes the following: An error occurred at line: 6 in the jsp file: /test.jsp Generated servlet error: [javac] Compiling 1 source file /home/ddegraff/packages/openreports-tomcat/work/Standalone/localhost/DBTest/ test_jsp.java:48: package foo does not exist foo.DBTest tst = new foo.DBTest(); The above error occurs if the jsp file and class file are in the $CATALINA_HOME/webapps/DBTest directory together. If I put the compiled class file (DBTest.class) in webapps/DBTest/WEB-INF/classes, I get a 404 when trying to access the jsp. The jsp file and class file source is copied below. Any insight would be much appreciated. Best, Dave De Graff JSP file text: html head titleDB Test/title /head body % foo.DBTest tst = new foo.DBTest(); tst.init(); % h2Results/h2 Foo %= tst.getFoo() %br/ Bar %= tst.getBar() % /body /html -- DBTest.java file text: package foo; import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = Not Connected; int bar = -1; public void init() {try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception(Boom - No Context); DataSource ds = (DataSource)ctx.lookup( java:comp/env/jdbc/TestDB); if (ds != null) {Connection conn = ds.getConnection(); if(conn != null) {foo = Got Connection +conn.toString(); Statement stmt = conn.createStatement();ResultSet rst = stmt.executeQuery( select id, foo, bar from testdata); if(rst.next()) { foo=rst.getString(2); bar=rst.getInt(3);} conn.close();} }}catch(Exception e) { e.printStackTrace();} } public String getFoo() { return foo; } public int getBar() { return bar;}} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with JNDI Datasource HOW-TO MySQL Example
Excellent! That worked on the first try, and it turns out that the test JNDI datasource also works. It's strange that the need to put class files in a directory of their package name isn't mentioned in the O'Reilly Tomcat book (diagram on p. 71 shows class file in the WEB-INF/classes directory). Or maybe only some class files need to be in a package subdirectory? In any case, thanks much for the help! Dave - Original Message - From: Antony Paul [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Friday, October 31, 2003 12:42 AM Subject: Re: Problem with JNDI Datasource HOW-TO MySQL Example simple suggestion. put the class file in webapps/DBTest/WEB-INF/classes/foo. Antony. Original Message - From: David De Graff [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 31, 2003 1:55 PM Subject: Problem with JNDI Datasource HOW-TO MySQL Example I'm new to Java but have installed Tomcat a couple of times, and am now trying to configure a JNDI datasource (to use with the OpenReports database reporting package - see http://sourceforge.net/projects/oreports for info on that). Before configuring a datasource for db reporting, I'm trying to set up the test datasource described on the JNDI Datasource HOW-TO at http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-how to.html, under the section MySQL DBCP Example. I've edited the conf/server.xml and webapps/DBTest/WEB-INF/web.xml files as indicated in the HOW-TO. When deploying the code in this sample webapp with Tomcat 4.1.27, I either get a 404 or an error that includes the following: An error occurred at line: 6 in the jsp file: /test.jsp Generated servlet error: [javac] Compiling 1 source file /home/ddegraff/packages/openreports-tomcat/work/Standalone/localhost/DBTest/ test_jsp.java:48: package foo does not exist foo.DBTest tst = new foo.DBTest(); The above error occurs if the jsp file and class file are in the $CATALINA_HOME/webapps/DBTest directory together. If I put the compiled class file (DBTest.class) in webapps/DBTest/WEB-INF/classes, I get a 404 when trying to access the jsp. The jsp file and class file source is copied below. Any insight would be much appreciated. Best, Dave De Graff JSP file text: html head titleDB Test/title /head body % foo.DBTest tst = new foo.DBTest(); tst.init(); % h2Results/h2 Foo %= tst.getFoo() %br/ Bar %= tst.getBar() % /body /html -- DBTest.java file text: package foo; import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = Not Connected; int bar = -1; public void init() {try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception(Boom - No Context); DataSource ds = (DataSource)ctx.lookup( java:comp/env/jdbc/TestDB); if (ds != null) {Connection conn = ds.getConnection(); if(conn != null) {foo = Got Connection +conn.toString(); Statement stmt = conn.createStatement();ResultSet rst = stmt.executeQuery( select id, foo, bar from testdata); if(rst.next()) { foo=rst.getString(2); bar=rst.getInt(3);} conn.close();} }}catch(Exception e) { e.printStackTrace();} } public String getFoo() { return foo; } public int getBar() { return bar;}} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problem with JNDI Datasource HOW-TO MySQL Example
Every java class file must be put in their respective directories as declared in the package declaration. One more thing never put class files in web-inf\classes outside package. Tomcat cannot import such files. Antony - Original Message - From: David De Graff [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Friday, October 31, 2003 2:24 PM Subject: Re: Problem with JNDI Datasource HOW-TO MySQL Example Excellent! That worked on the first try, and it turns out that the test JNDI datasource also works. It's strange that the need to put class files in a directory of their package name isn't mentioned in the O'Reilly Tomcat book (diagram on p. 71 shows class file in the WEB-INF/classes directory). Or maybe only some class files need to be in a package subdirectory? In any case, thanks much for the help! Dave - Original Message - From: Antony Paul [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Friday, October 31, 2003 12:42 AM Subject: Re: Problem with JNDI Datasource HOW-TO MySQL Example simple suggestion. put the class file in webapps/DBTest/WEB-INF/classes/foo. Antony. Original Message - From: David De Graff [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 31, 2003 1:55 PM Subject: Problem with JNDI Datasource HOW-TO MySQL Example I'm new to Java but have installed Tomcat a couple of times, and am now trying to configure a JNDI datasource (to use with the OpenReports database reporting package - see http://sourceforge.net/projects/oreports for info on that). Before configuring a datasource for db reporting, I'm trying to set up the test datasource described on the JNDI Datasource HOW-TO at http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-how to.html, under the section MySQL DBCP Example. I've edited the conf/server.xml and webapps/DBTest/WEB-INF/web.xml files as indicated in the HOW-TO. When deploying the code in this sample webapp with Tomcat 4.1.27, I either get a 404 or an error that includes the following: An error occurred at line: 6 in the jsp file: /test.jsp Generated servlet error: [javac] Compiling 1 source file /home/ddegraff/packages/openreports-tomcat/work/Standalone/localhost/DBTest/ test_jsp.java:48: package foo does not exist foo.DBTest tst = new foo.DBTest(); The above error occurs if the jsp file and class file are in the $CATALINA_HOME/webapps/DBTest directory together. If I put the compiled class file (DBTest.class) in webapps/DBTest/WEB-INF/classes, I get a 404 when trying to access the jsp. The jsp file and class file source is copied below. Any insight would be much appreciated. Best, Dave De Graff JSP file text: html head titleDB Test/title /head body % foo.DBTest tst = new foo.DBTest(); tst.init(); % h2Results/h2 Foo %= tst.getFoo() %br/ Bar %= tst.getBar() % /body /html -- DBTest.java file text: package foo; import javax.naming.*;import javax.sql.*;import java.sql.*; public class DBTest { String foo = Not Connected; int bar = -1; public void init() {try{ Context ctx = new InitialContext(); if(ctx == null ) throw new Exception(Boom - No Context); DataSource ds = (DataSource)ctx.lookup( java:comp/env/jdbc/TestDB); if (ds != null) {Connection conn = ds.getConnection(); if(conn != null) {foo = Got Connection +conn.toString(); Statement stmt = conn.createStatement();ResultSet rst = stmt.executeQuery( select id, foo, bar from testdata); if(rst.next()) { foo=rst.getString(2); bar=rst.getInt(3);} conn.close();} }}catch(Exception e) { e.printStackTrace();} } public String getFoo() { return foo; } public int getBar() { return bar;}} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]