Re: JDBC Driver disappears when using Mod_WEBAPP

2003-03-23 Thread Soefara Redzuan
Sorry, just realized the title should have read
"JDBC driver disappears when using mod_webapp".

From: "Soefara Redzuan" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: JDBC Driver disappears when using Mod_jk !
Dear Sirs,

This is truly bizarre.  I've been runing Apache+mod_webapp in front
of one of our websites for quite a time now and it has worked fine
for serving up JSP pages.  So, the Apache->mod_webapp->Tomcat
communication seems to be working OK.
I recently added a JNDI datasource to the Tomcat web application.
The datasource is configured perfectly, as proven with the
useful servlet (below) which we always use to test JNDI datasource
connections.
ie. http://www.oursite.com:8080/ourapp/TestDb?jndi=jdbc/dbname
reports that we successfully created a database connection from
the JNDI datasource.
However, when we now try to access via mod_webapp
ie. http://www.oursite.com/ourapp/TestDb?jndi=jdbc/dbname
it reports an error message "Cannot load JDBC driver class 'null'"

How can this be ??? Apache+mod_webapp has been proven to be
configured properly since we've been serving up JSP from this
webapp for months.  When connecting directly to Tomcat on
port 8080, the JNDI resource does indeed exist and we can
create the connection so the JDBC driver must exist too (and
it does) !
Why does the JDBC driver seem to disappear when using mod_webapp???

I hope somebody can shed some light on this.

Thank you in advance,

Soefara.

ps. here's the servlet we use for testing JNDI datasource
   connections, maybe some of you will find it useful.
--

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class DbHandlerDebug extends HttpServlet {

   public void doGet (HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {
   Connection conn = null;
   String jndiName = request.getParameter("jndi");
   response.setContentType("text/html");
   PrintWriter out = new PrintWriter(response.getOutputStream() );
   out.println("Test JNDI");
   Context ctx = null;
   DataSource ds = null;
   if (jndiName == null) {
   out.println("Usage : send argument 
'jndi'.  eg. /servlet/TestDB?jndi=jdbc/ourdb");
   }
   try {
   ctx = new InitialContext();
   Context envCtx = (Context) ctx.lookup("java:/comp/env/");
   out.println("Retrieved Context");
   ds = (DataSource) envCtx.lookup(jndiName);
   out.println("Obtained Datasource");
   conn = ds.getConnection();
   out.println("Got Connection");
   out.println("OK :-)");
   }
   catch (NamingException e) {
   out.println("Failed to get datasource from context : " + 
e.getMessage());
   }
   catch (SQLException e) {
   out.println("Failed to get DB connection : " + e.getMessage());
   }
   catch (Exception e) {
   out.println("Unexpected error : " + e.getMessage());
   }
   out.flush();
   }

}









_
Download ringtones, logos and picture messages from MSN Malaysia 
http://www.msn.com.my/mobile/ringtones/default.asp

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


_
Are you in love? Find a date on MSN Personals http://match.msn.com.my/
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


JDBC Driver disappears when using Mod_jk !

2003-03-23 Thread Soefara Redzuan
Dear Sirs,

This is truly bizarre.  I've been runing Apache+mod_webapp in front
of one of our websites for quite a time now and it has worked fine
for serving up JSP pages.  So, the Apache->mod_webapp->Tomcat
communication seems to be working OK.
I recently added a JNDI datasource to the Tomcat web application.
The datasource is configured perfectly, as proven with the
useful servlet (below) which we always use to test JNDI datasource
connections.
ie. http://www.oursite.com:8080/ourapp/TestDb?jndi=jdbc/dbname
reports that we successfully created a database connection from
the JNDI datasource.
However, when we now try to access via mod_webapp
ie. http://www.oursite.com/ourapp/TestDb?jndi=jdbc/dbname
it reports an error message "Cannot load JDBC driver class 'null'"

How can this be ??? Apache+mod_webapp has been proven to be
configured properly since we've been serving up JSP from this
webapp for months.  When connecting directly to Tomcat on
port 8080, the JNDI resource does indeed exist and we can
create the connection so the JDBC driver must exist too (and
it does) !
Why does the JDBC driver seem to disappear when using mod_webapp???

I hope somebody can shed some light on this.

Thank you in advance,

Soefara.

ps. here's the servlet we use for testing JNDI datasource
   connections, maybe some of you will find it useful.
--

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class DbHandlerDebug extends HttpServlet {

   public void doGet (HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {
   Connection conn = null;
   String jndiName = request.getParameter("jndi");
   response.setContentType("text/html");
   PrintWriter out = new PrintWriter(response.getOutputStream() );
   out.println("Test JNDI");
   Context ctx = null;
   DataSource ds = null;
   if (jndiName == null) {
   out.println("Usage : send argument 
'jndi'.  eg. /servlet/TestDB?jndi=jdbc/ourdb");
   }
   try {
   ctx = new InitialContext();
   Context envCtx = (Context) ctx.lookup("java:/comp/env/");
   out.println("Retrieved Context");
   ds = (DataSource) envCtx.lookup(jndiName);
   out.println("Obtained Datasource");
   conn = ds.getConnection();
   out.println("Got Connection");
   out.println("OK :-)");
   }
   catch (NamingException e) {
   out.println("Failed to get datasource from context : " + 
e.getMessage());
   }
   catch (SQLException e) {
   out.println("Failed to get DB connection : " + e.getMessage());
   }
   catch (Exception e) {
   out.println("Unexpected error : " + e.getMessage());
   }
   out.flush();
   }

}









_
Download ringtones, logos and picture messages from MSN Malaysia 
http://www.msn.com.my/mobile/ringtones/default.asp

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: mod_jk virtual hosts ? 90% of the way there.

2003-02-18 Thread Soefara Redzuan
Thank you John,

You're right on all three counts
(a) I forgot a JkMount line and now it works fine
(b) I was a clumsy clown and actually using mod_jk, not mod_jk2
(c) Jk does indedd have far more documentation than mod_jk2

Therefore I am going to stick with the mod_jk, especially since I have got 
it running.

There just remains one thing that I do not understand -

I'm using Tomcat4.1.18 (just installed today) and if my 
"/conf/jk2.properties" file is not being read at all then how 
does Tomcat know how to communicate with Apache ? Or is Apache the only 
piece of this puzzle which needs configuring (with mod_jk) since it is the 
one making the connections?

Thank you and sorry for all the confusion earlier.

Soefara.









From: "Turner, John" <[EMAIL PROTECTED]>
Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
To: 'Tomcat Users List' <[EMAIL PROTECTED]>
Subject: RE: mod_jk virtual hosts ? 90% of the way there.
Date: Tue, 18 Feb 2003 06:46:54 -0500


JK has way more documentation and support than JK2.

You're missing a JkMount line.


ServerName www.domain1.com
DocumentRoot /usr/local/etc/httpd/site1
ErrorLog logs/error_log
TransferLog logs/access_log

JkMount /*.jsp ajp13
JkMount /servlets/* ajp13


John


-Original Message-
From: Soefara Redzuan [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, February 18, 2003 3:05 AM
To: [EMAIL PROTECTED]
Subject: mod_jk virtual hosts ? 90% of the way there.


Hello all,

Mod_jk2 is much easier to install and configure than mod_jk ever was,
largely due to some much more abundant and well-written documentation.

I've set up mod_jk2 and now Apache is passing requests to Tomca OK. I've
also set up Virtual Hosts in Tomcat's server.xml, and now I can access
my server via "http://www.mydomain.com:8080"; instead of the IP address.

Now I'd like to put the two together and have Apache handle
http://www.mydomain.com and pass the requests through to Tomcat4, and now
I'm confused where I go from here. I'm comfortable with Apache's
 directive in httpd.conf but can't see how it works with 
mod_jk

since there's only one set of mod_jk directives per httpd.conf

This is what I have so far,

Tomcat_Home/conf/jk2.properties:

# Define the communication channel [channel.socket:localhost:8009]
info=Ajp13 forwarding over socket tomcatId=localhost:8009

# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*] info=Map the whole webapp



Apache's httpd.conf
---
LoadModule jk_module modules/mod_jk.so

AddModule mod_jk.c
JkWorkersFile /usr/local/etc/httpd/conf/workers.properties
JkLogFile /usr/local/etc/httpd/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T" JkMount /examples/* worker1 



workers.properties (in same directory as httpd.conf)

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=3


The above passes requests from Apache to Tomcat OK.
Now for virtual hosts,


domain1.com




mydomain2.com




But what do I add to Apache's httpd.conf for the virtual hosts ?


ServerName www.domain1.com
DocumentRoot /usr/local/etc/httpd/site1
ErrorLog logs/error_log
TransferLog logs/access_log


I feel I'm so close. Could somebody please help with this last part ?

Thank you very much,

Soefara.

ps. is 1 worker enough to handle everything ?


_
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.449 / Virus Database: 251 - Release Date: 1/27/2003


---

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.449 / Virus Database: 251 - Release Date: 1/27/2003


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


_
Protect your PC - get McAfee.com VirusScan Online 
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Solved it. Re: mod_jk virtual hosts ? 90% of the way there.

2003-02-18 Thread Soefara Redzuan
OK, you're right RK. Thank you for pointing it out - I am indeed using 
mod_jk instead of mod_jk2 !  I also must take back what I said about the 
mod_jk2 docs being so much better than the mod_jk(1) documents; it seems 
that I've been following the mod_jk(1) documentation.

I've been using this
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html#Installation

assuming from the 'jk2' in the URL that it applied to mod_jk2 but now I see 
from the navigation in the left of the page that it's actually mod_jk(1)

I still can't believe I got virtual hosts working exactly as I wanted 
though, and since I'm only running Apache 1.3 and don't wish to recompile it 
for pthreads, I think I'll stick with mod_jk for now, unless there's an 
over-riding reason why I should not ?

I'll get to the bottom of this one day.

Soefara.






From: "Soefara Redzuan" <[EMAIL PROTECTED]>
Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: Re: Solved it. Re: mod_jk virtual hosts ? 90% of the way there.
Date: Tue, 18 Feb 2003 19:18:51 +0800

Hi RK,

I thought my workers.properties file looked very different
from everybody else's using mod_jk2 !

I just checked again and realize I misread the page
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk2/confighowto.html

I actually put the following in jk2.properties instead of in 
workers2.properties -

_jk2.properties
# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
info=Map the whole webapp
--

and the really strange thing is that it all worked 

My workers.properties looks very different from everybody
else's but it also works fine

_workers.properties___
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=3
--

Is the mod_jk2.so backwards compatible ?
I'm also using the mod_jk-1.3-noeapi.so file from
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.1/bin/solaris8/
which was linked from the jk2 FAQ
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/faq.html
Or is the link in the FAQ incorrect ?

It's going to hurt if I've somehow managed to use mod_jk1 as
opposed to mod_jk2 :(

Soefara.

_
The new MSN 8: advanced junk mail protection and 2 months FREE* 
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


_
Help STOP SPAM with the new MSN 8 and get 2 months FREE*  
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Solved it. Re: mod_jk virtual hosts ? 90% of the way there.

2003-02-18 Thread Soefara Redzuan
Hi RK,

I thought my workers.properties file looked very different
from everybody else's using mod_jk2 !

I just checked again and realize I misread the page
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk2/confighowto.html

I actually put the following in jk2.properties instead of in 
workers2.properties -

_jk2.properties
# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
info=Map the whole webapp
--

and the really strange thing is that it all worked 

My workers.properties looks very different from everybody
else's but it also works fine

_workers.properties___
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=3
--

Is the mod_jk2.so backwards compatible ?
I'm also using the mod_jk-1.3-noeapi.so file from
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.1/bin/solaris8/
which was linked from the jk2 FAQ
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/faq.html
Or is the link in the FAQ incorrect ?

It's going to hurt if I've somehow managed to use mod_jk1 as
opposed to mod_jk2 :(

Soefara.

_
The new MSN 8: advanced junk mail protection and 2 months FREE* 
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Solved it. Re: mod_jk virtual hosts ? 90% of the way there.

2003-02-18 Thread Soefara Redzuan
Solved it myself :-)

I added the JkMount to the  directives and now everything 
appears to work perfectly.


   ServerName www.domain1.com
   ErrorLog logs/error_log
   TransferLog logs/access_log
   JkMount /* worker1



   ServerName www.domain2.com
   ErrorLog logs/error_log
   TransferLog logs/access_log
   JkMount /* worker1


Wow, this mod_jk2 really is much easier to configure than mod_jk was, though 
the advanced configuration looks quite daunting. For simple virtual hosting 
of a servlet/JSP site, I shouldn't need more than one worker, should I?

Thank you.

Soefara.





From: "Soefara Redzuan" <[EMAIL PROTECTED]>
Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: mod_jk virtual hosts ? 90% of the way there.
Date: Tue, 18 Feb 2003 16:05:04 +0800

Hello all,

Mod_jk2 is much easier to install and configure than mod_jk ever was, 
largely due to some much more abundant and well-written documentation.

I've set up mod_jk2 and now Apache is passing requests to Tomca OK.
I've also set up Virtual Hosts in Tomcat's server.xml, and now I can access 
my server via "http://www.mydomain.com:8080"; instead of the IP address.

Now I'd like to put the two together and have Apache handle 
http://www.mydomain.com and pass the requests through to Tomcat4, and now 
I'm confused where I go from here. I'm comfortable with Apache's 
 directive in httpd.conf but can't see how it works with 
mod_jk since there's only one set of mod_jk directives per httpd.conf

This is what I have so far,

Tomcat_Home/conf/jk2.properties:

# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009

# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
info=Map the whole webapp



Apache's httpd.conf
---
LoadModule jk_module modules/mod_jk.so

AddModule mod_jk.c
JkWorkersFile /usr/local/etc/httpd/conf/workers.properties
JkLogFile /usr/local/etc/httpd/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/* worker1




workers.properties (in same directory as httpd.conf)

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=3


The above passes requests from Apache to Tomcat OK.
Now for virtual hosts,


   domain1.com
   



   mydomain2.com
   



But what do I add to Apache's httpd.conf for the virtual hosts ?


ServerName www.domain1.com
DocumentRoot /usr/local/etc/httpd/site1
ErrorLog logs/error_log
TransferLog logs/access_log


I feel I'm so close. Could somebody please help with this last part ?

Thank you very much,

Soefara.

ps. is 1 worker enough to handle everything ?


_
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


_
Help STOP SPAM with the new MSN 8 and get 2 months FREE*  
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



mod_jk virtual hosts ? 90% of the way there.

2003-02-18 Thread Soefara Redzuan
Hello all,

Mod_jk2 is much easier to install and configure than mod_jk ever was, 
largely due to some much more abundant and well-written documentation.

I've set up mod_jk2 and now Apache is passing requests to Tomca OK.
I've also set up Virtual Hosts in Tomcat's server.xml, and now I can access 
my server via "http://www.mydomain.com:8080"; instead of the IP address.

Now I'd like to put the two together and have Apache handle 
http://www.mydomain.com and pass the requests through to Tomcat4, and now 
I'm confused where I go from here. I'm comfortable with Apache's 
 directive in httpd.conf but can't see how it works with mod_jk 
since there's only one set of mod_jk directives per httpd.conf

This is what I have so far,

Tomcat_Home/conf/jk2.properties:

# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009

# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
info=Map the whole webapp



Apache's httpd.conf
---
LoadModule jk_module modules/mod_jk.so

AddModule mod_jk.c
JkWorkersFile /usr/local/etc/httpd/conf/workers.properties
JkLogFile /usr/local/etc/httpd/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/* worker1




workers.properties (in same directory as httpd.conf)

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=3


The above passes requests from Apache to Tomcat OK.
Now for virtual hosts,


   domain1.com
   



   mydomain2.com
   



But what do I add to Apache's httpd.conf for the virtual hosts ?


ServerName www.domain1.com
DocumentRoot /usr/local/etc/httpd/site1
ErrorLog logs/error_log
TransferLog logs/access_log


I feel I'm so close. Could somebody please help with this last part ?

Thank you very much,

Soefara.

ps. is 1 worker enough to handle everything ?


_
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How to write custom authentication method forTomcat as well asweblogic/orion?

2003-02-12 Thread Soefara Redzuan


From: "Craig R. McClanahan" <[EMAIL PROTECTED]>

> Whilst Tomcat's JDBC Realm's are easy to set up and get working,
> (http://jakarta.apache.org/tomcat/tomcat-4.1-doc/realm-howto.html), I'm
> wondering how easy it might be to write our own authentication mechanism
> using Filters ?

You might want to check out at least one project that has already done
the kind of thing you describe:

  http://securityfilter.sourceforge.net


Oooh, how cool is that ? :)

Thank you Craig.

Soefara.



_
The new MSN 8: advanced junk mail protection and 2 months FREE* 
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



How to write custom authentication method forTomcat as well as weblogic/orion?

2003-02-11 Thread Soefara Redzuan
Whilst Tomcat's JDBC Realm's are easy to set up and get working, 
(http://jakarta.apache.org/tomcat/tomcat-4.1-doc/realm-howto.html), I'm 
wondering how easy it might be to write our own authentication mechanism 
using Filters ?  There are a few reasons for this,
1) We'd like a security mechanism which has "Groups" as well as users and 
roles, with roles attached to groups (as well as users).
2) The current JDBC Realm is logging off users (sometimes within a minute of 
them logging-in).
3) We'd like a security mechanism that will work with Weblogic and Websphere 
as well as Tomcat, with little (or no) change.
4) We would like the passwords encrypted in the database.

Having thought about this for a while, it seems that I could easily write 
one as follows,
- create a AuthenticatedUser javabean
- write a Filter that checks whether an AuthenticatedUser object exists in 
the session.  If it does, the user is authenticated. If not, the Filter 
redirects to a log-in page instead. Also remember the originally requested 
URL.
- create a login page and an associated FormHandler which simply 
authenticates against the database and creates an AuthenticatedUser object 
in the session, then redirects to the originally requested URL.

Is that it or have I overlooked something?  It seems a bit too simple.

Thank you very much in advance.

Soefara Redzuan.

_
The new MSN 8: smart spam protection and 2 months FREE*  
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Keep getting logged out of Tomcat?

2003-02-11 Thread Soefara Redzuan
I've set up a JDBC Realm and it works fine for the most part but sometimes 
I'll get logged out and have to log in again within the space of less than 2 
minutes - this happens repeatedly.  Has anybody else encountered such a 
problem ?

Thank you.

Soefara.

_
STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 
http://join.msn.com/?page=features/junkmail


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Running XML-parsing servlets on Tomcat, using JAXP ?

2002-09-26 Thread Soefara Redzuan


Sorry for the very very late follow up to my problem.

Eventually solved it. I later found out it was a clash
with the XML-RPC libraries which I forgot were also in
WEB-INF/lib. I think it's a bug in the Apache XML-RPC
libs as somebody else experienced the same problem.

So, I've got JAXP working on Tomcat. Hoorah !

And yes, I put the JAXP classes in $TOMCAT_HOME/common/lib
(And also removed some of the previous libraries that were there).

Soefara.


>From: Jacob Kjome <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: "Tomcat Users List" <[EMAIL PROTECTED]>
>Subject: Re: Running XML-parsing servlets on Tomcat, using JAXP ?
>Date: Sun, 15 Sep 2002 22:29:17 -0500
>
>At 10:58 AM 9/16/2002 +0800, you wrote:
>>Let me know how it went. I'm curious that the java xml pack had 
>>instructions for that. Well I suppose they have tested it, so I guess it 
>>is harmless.
>>Anyway like you said, you can always bundle the java xml pack under its 
>>own webapp.
>
>Bad assumption!  Tomcat will either ignore or throw exceptions if you put 
>your XML and/or DOM classes under WEB-INF/lib.  This is because it violates 
>the Sun classloading spec which Tomcat started enforcing as of 
>Tomcat-4.0.2.  In order to use XML/DOM libraries, they need to be in a 
>parent classloader such as $TOMCAT_HOME/lib (shared/lib on Tomcat-4.1.x) or 
>common/lib.  Don't ask me to explain the reasons why this is against the 
>classloading spec.  It just is.  Maybe Remmy can explain better?
>
>Jake
>
>
>>Soefara Redzuan wrote:
>>
>>>>From: Kwok Peng Tuck <[EMAIL PROTECTED]>
>>>>Hmm, how did you get a jasper directory under the tomcat root ?
>>>
>>>
>>>That's where it is in Tomcat4.0.x under Windows 2000, at
>>>least the version that I downloaded and installed.
>>>
>>>>I checked my tomcat installation in Win2K & I didn't see anything like 
>>>>this.
>>>
>>>
>>>Perhaps you have a different version to me. It seems that
>>>the libraries shipped with Tomcat4 are changing a lot.
>>>
>>>>Your /common/lib seems to have a lot more than the standard libraries 
>>>>that
>>>>shipped with it, I 've got :
>>>>a) activation.jar
>>>>b) jdbc2_0-stdex.jar
>>>>c) jndi.jar
>>>>d) jta-spec1_0_1.jar
>>>>e) mail.jar
>>>>f) naming-common.jar
>>>>g) naming-resource.jar
>>>>h) servlet.jar
>>>>i) tools.jar
>>>>j) tyrex.license
>>>>k) tyrex-0.9.7.0.jar
>>>>l) xerces.jar
>>>
>>>
>>>Well, in my version I had crimson.jar and not xerces.jar.
>>>
>>>>How did dom.jar , xalan.jar, mysql.jar end up there ?
>>>
>>>
>>>dom.jar and xalan.jar are part of the Java XML pack, along with 
>>>xercesImpl.jar, sax.jar, jaxp-api.jar and xsltc.jar. The Java XML
>>>Pack says to put them in /common/lib
>>>
>>>In your case, I think they would require you to remove xerces.jar
>>>
>>>
>>>>Generally if you wish to use any other jar(s) you put them in {webapps 
>>>>root} /WEB-INF/lib .
>>>
>>>
>>>That's true, but for libraries that you're going to use amongst
>>>all webapps (eg. mysql.jar in my case), then you can also put them
>>>in /common/lib
>>>
>>>However, I do think I'll try what you said - put the libraries in
>>>/webapps//WEB-INF/lib and see if that helps. Will
>>>let you know.
>>>
>>>Thank you,
>>>
>>>Soefara.
>>>
>>>
>>>>>>>I'd still like to keep jaxp installed on my machine for other
>>>>>>>java applications. This won't affect Tomcat at all, will it ?
>>>>>>
>>>>>>
>>>>>>
>>>>>>NO, It should not, I recommend you do not place the jar file in your 
>>>>>>classpath. We never know...
>>>>>
>>>>>
>>>>>
>>>>>I tried removing the jars from the classpath but it made no
>>>>>difference, as we all pretty much expected in any case.
>>>>>
>>>>>I'm using Tomcat4.0.x and JDK1.3
>>>>>
>>>>>I found that /common/lib/crimson.jar also included
>>>>>

Re: Running XML-parsing servlets on Tomcat, using JAXP ?

2002-09-13 Thread Soefara Redzuan

>>I'd still like to keep jaxp installed on my machine for other
>>java applications. This won't affect Tomcat at all, will it ?
>
>NO, It should not, I recommend you do not place the jar file in your 
>classpath. We never know...

I tried removing the jars from the classpath but it made no
difference, as we all pretty much expected in any case.

I'm using Tomcat4.0.x and JDK1.3

I found that /common/lib/crimson.jar also included
a org.xml.sax library, so I removed crimson.jar.  Still, the
errors persisted.

Here is what I have on my system,

/common/lib contains
-
activation.jar
dom.jar
jaxp-api.jar
jdbc2_0_stdext.jar
jndi.jar
jta.jar
ldap.jar
mail.jar
mysql.jar
naming-common.jar
naming-resources.jar
sax.jar
servlet.jar
tools.jar
tyrex-0.9.7.0.jar
xalan.jar
xercesImpl.jar
xsltc.jar

(none of those seem to have any clashing xml libraries)

/lib contains
--
jasper-runtime.jar
naming-factory.jar

But now I think I've found the culprit - Jasper !


/jasper contains
-
crimson.jar
jasper-compiler.jar
jaxp.jar

who or what is Jasper ? I don't wish to remove something that is
core to Tomcat functionality, but I think that crimson.jar and
jaxp.jar may be clashing with xercesImpl.jar and jaxp-api.jar
in /common/lib.

Does anybody know how I should handle this ?

I really would just upgrade to the latest version of
Tomcat and JDK1.4 but my production servers are running
JDK1.3 and Tomcat 4.0 so I can't take that risk at the moment.
So many changes, so little time.

Thank you in advance,

Soefara.

_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: Running XML-parsing servlets on Tomcat, using JAXP ?

2002-09-13 Thread Soefara Redzuan

My oh my, Jake, thank you so much for this most incredible
explanation of the Endorsed mechanism, the differences between
the various versions of Tomcat as well as JDK1.3/1.4.

This is such a valuable body of knowledge, and so well explained,
that I hope it will be archived by many for future reference.

Thanks also for confirming that "stuff you just put on the
classpath won't affect Tomcat at all since it ignores the
system classpath."

Regards,

Soefara.


>From: Jacob Kjome <[EMAIL PROTECTED]>
>
>common/endorsed only exists in Tomcat-4.1.x, not 4.0.x.  Also, since you 
>are using JDK1.3.x, there is no concept of the Endorsed Standards Override 
>Mechanism as that was introduced with the release of j2sdk1.4.0.  I imagine 
>that the common/endorsed directory doesn't really act any different than 
>common/lib when running under JDK1.3.x, but when running with j2sdk1.4.x, 
>common/endorsed provides a way to override classes in the JDK itself.  So, 
>if the JDK used an older version of Xerces, you could put a newer version 
>in common/endorsed and it would be used instead of the one that came with 
>the JDK.   That same newer library in common/lib would be ignored as the 
>JDK would take precedence in classloading.
>
>Putting your classes in $CATALINA_HOME/lib (same as 
>$CATALINA_HOME/shared/lib in Tomcat-4.1.x) or common/lib is the way to go 
>in your setup.  With j2sdk1.4.x, you might think about putting them in 
>common/endorsed which is where the Xerces libraries are in the full version 
>of Tomcat-4.1.x (not the jdk1.4-lite version as it is assumed that the JDK 
>provides those libraries).
>
>You can permanently add these to your system under j2sdk1.4.x by putting 
>them in $JAVA_HOME/jre/lib/endorsed.  You will have to create the 
>"endorsed" directory if it isn't there already.  This does the same thing 
>as common/endorsed in Tomcat, only it affects the entire system.
>
>server/lib is not viable to put your libraries unless they are only for the 
>container's use.  Your app cannot see libraries in that folder.
>
>As far as affecting Tomat, endorsed stuff will affect it, but stuff you 
>just put on the classpath won't affect Tomcat at all since it ignores the 
>system classpath.
>
>Jake


_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: Running XML-parsing servlets on Tomcat, using JAXP ?

2002-09-12 Thread Soefara Redzuan


Thank you very much for replying, Jean-Francois,

>From: Jean-Francois Arcand <[EMAIL PROTECTED]>
>
>You don't need the jax-pack for your problem. Under 
>{CATALINA_HOME}/common/endorsed, just copy the xerces.jar and the 
>jaxp-ri.jar file. Tomcat will uses this folder for selecting which parser 
>to use (so crimson will not be used).

I don't have a "common/endorsed" folder. Is this specific to more
recent versions of Tomcat ? I'll create it anyway.

Also, I've got a jaxp.jar and jaxp-api.jar file but what is
jaxp-ri.jar ?

I'd still like to keep jaxp installed on my machine for other
java applications. This won't affect Tomcat at all, will it ?

Thank you again.

Soefara.



>Soefara Redzuan wrote:
>
>>Has anybody managed to run XML-parsing servlets on Tomcat 4 using JAXP?
>>If so, could you please help me with the XML configuration for
>>Tomcat because I keep getting class clashes. Here's what I've done
>>so far,
>>
>>1. Downloaded the Java XML Pack from
>>http://java.sun.com/xml/javaxmlpack.html
>>
>>2. Unpacked the Java XML Pack and put the JAXP jar files (dom.jar,
>>jaxp-api.jar, sax.jar, xalan.jar, xercesImpl.jar and xsltc.jar)
>>in the directory c:\jdk1.3\jaxp-1.2_01
>>
>>3. Added all the jars to the CLASSPATH
>>
>>4. The Java XML Pack instructions then read,
>>
>> > When you run the examples on Tomcat you must copy all
>> > the JAR files from the Java XML Pack to CATALINA_HOME/common/lib .
>> > Some of these files already exist in Tomcat distribution and
>> > should be overwritten by the Java XML Pack JARs. The xerces.jar
>> > that comes with the tomcat installation should also be removed
>> > from CATALINA_HOME/common/lib.
>>
>>I copied all of the JAXP jar files (dom.jar, jaxp-api.jar,
>>sax.jar, xalan.jar, xercesImpl.jar and xsltc.jar) to
>>CATALINA_HOME/common/lib but strangely none of them existed
>>there previously ! Also, there was no "xerces.jar" that
>>supposedly came with the Tomcat distribution according to the
>>Sun documentation.
>>There is however, a crimson.jar (I'm using an early Tomcat4.x)
>>and a jaxp.jar which I removed, since JAXP's jaxp-api.jar
>>seems to contain updated libraries.
>>
>>5. I restarted Tomcat and then tried to run a servlet which
>>uses some XML-parsing, which I have already tested in a
>>standalone command-line program and found to be working OK.
>>
>>However, the servlet generated this error,
>>"java.lang.LinkageError: loader constraints violated when linking
>>org/xml/sax/InputSource class"
>>
>>which I believe means that the Tomcat class loader is finding
>>two conflicting org.xml.sax.InputSource classes (and possibly
>>associated libraries).
>>
>>This was my big worry with adding XML libraries to my operating
>>system, that they would clash with Tomcat's to stop functioning.
>>How should I have arranged things to make this work ?
>>
>>I put all the JAXP libraries in c:\jdk1.3\jaxp-1.2_01 and added
>>them to the CLASSPATH so that I can easily compile all XML programs
>>without defining where to find the Sax libraries and classes,
>>because my XML applications are not just for Tomcat.


_
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




Running XML-parsing servlets on Tomcat, using JAXP ?

2002-09-12 Thread Soefara Redzuan

Has anybody managed to run XML-parsing servlets on Tomcat 4 using JAXP?
If so, could you please help me with the XML configuration for
Tomcat because I keep getting class clashes. Here's what I've done
so far,

1. Downloaded the Java XML Pack from
   http://java.sun.com/xml/javaxmlpack.html

2. Unpacked the Java XML Pack and put the JAXP jar files (dom.jar,
   jaxp-api.jar, sax.jar, xalan.jar, xercesImpl.jar and xsltc.jar)
   in the directory c:\jdk1.3\jaxp-1.2_01

3. Added all the jars to the CLASSPATH

4. The Java XML Pack instructions then read,

   > When you run the examples on Tomcat you must copy all
   > the JAR files from the Java XML Pack to CATALINA_HOME/common/lib .
   > Some of these files already exist in Tomcat distribution and
   > should be overwritten by the Java XML Pack JARs. The xerces.jar
   > that comes with the tomcat installation should also be removed
   > from CATALINA_HOME/common/lib.

   I copied all of the JAXP jar files (dom.jar, jaxp-api.jar,
   sax.jar, xalan.jar, xercesImpl.jar and xsltc.jar) to
   CATALINA_HOME/common/lib but strangely none of them existed
   there previously ! Also, there was no "xerces.jar" that
   supposedly came with the Tomcat distribution according to the
   Sun documentation.
   There is however, a crimson.jar (I'm using an early Tomcat4.x)
   and a jaxp.jar which I removed, since JAXP's jaxp-api.jar
   seems to contain updated libraries.

5. I restarted Tomcat and then tried to run a servlet which
   uses some XML-parsing, which I have already tested in a
   standalone command-line program and found to be working OK.

   However, the servlet generated this error,
   "java.lang.LinkageError: loader constraints violated when linking
org/xml/sax/InputSource class"

   which I believe means that the Tomcat class loader is finding
   two conflicting org.xml.sax.InputSource classes (and possibly
   associated libraries).

This was my big worry with adding XML libraries to my operating
system, that they would clash with Tomcat's to stop functioning.
How should I have arranged things to make this work ?

I put all the JAXP libraries in c:\jdk1.3\jaxp-1.2_01 and added
them to the CLASSPATH so that I can easily compile all XML programs
without defining where to find the Sax libraries and classes,
because my XML applications are not just for Tomcat.

Thank you so much for any help.

Soefara.




_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: More JDBCRealm Questions

2002-07-24 Thread Soefara Redzuan


>From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
> >
> > I have set up a JDBCRealm and am using it with form-based login to
> > secure/protect my webapp.  However, I have a few questions which I
> > hope somebody could help me with,
> >
> > 1. The JDBCRealm is set up with the following in server.xml.
> >
> >  >  driverName="org.gjt.mm.mysql.Driver"
> >  connectionURL="jdbc:mysql://localhost/authentication"
> >  userTable="users" userNameCol="user_name" userCredCol="user_pass"
> >  userRoleTable="user_roles" roleNameCol="role_name"/>
> >
> > However, I have noticed that this requires the password (stored in
> > the user_pass column) to be clear text, which I really don't like 
>doing.
> > Is there any way to have store the passwords as hashes (ie. using 
>the
> > password() function in MySQL) ?
> >
>
>The database password isn't the only sensitive piece of information in
>server.xml -- you should ensure that the server.xml file as a whole is not
>accessible to any OS user other than the one running Tomcat.  In addition,
>you can use security manager protections to prevent webapps from being
>able to access it directly.

Sorry, I was not very coherent in my explanation.
I was worried about storing users' passwords in clear text in the database.
Somebody else has kindly pointed out that JDBCRealm supports hashed 
passwords
in the user/password columns.


> > 2. I read that "a call to j_security_check will be made by every attempt
> >access your secured pages".  Since I am protecting every page in my
> >webapp, I'm wondering how efficient is "j_security_check" ?
> >Does it simply look at the session, or does it make a database call 
>on
> >each and every request ?
> >
>
>If you are using sessions, the user identity is cached the first time, so
>the database will only get hit once.

Excellent.


> > 3. How do you specify a page for authenticated users who do not have
> >the correct permissions/roles ?  At the moment, I have this in 
>web.xml,
> >
> > 
> > FORM
> > 
> > login.jsp
> >login-error.jsp
> > 
> > 
> >
> > login.jsp is the form that shows when an authenticated user tries to
> > access the site.
> > login-error.jsp is displayed when an incorrect username/password is
> > submitted.
> >
> > However, when a correct username/password is submitted but the user 
>does
> > not
> > possess an adequate role, I see a default "You are not authorized"
> > message.
> > How can I customize the page that is shown in such circumstances ?
> >
>
>You can use an  element in your web.xml for the 403 status.

Thank you. I was just checking that I hadn't missed something.
I had expected an equivalent to   which would allow
one to tailor the authorization-failure to the section of the webapp.


> > 4. Is there a formal method to logging out, rather than calling
> >invalidate() on the session ?
> >
>
>Not in Servlet 2.3.  Such things are under consideration for 2.4.  For
>now, invalidating the session is the right way to do it (if you're using
>form based login).
>
> > 5. If your webapp's authentication works fine on Tomcat, would it then
> >work on say BEAWeblogic or IBMWebsphere ?
> >
>
>As long as you are not relying on wierd container-specific behaviors and
>using j_security_check the way it was intended to be used.
>
>Note that the user database itself, and how you set it up, will be
>specific for each app server (i.e. JDBCRealm is Tomcat specific).  But the
>app won't have to change.

Thank you for the clarification, Craig.

Soefara.


_
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: context-param for a list/array of values ?

2002-07-24 Thread Soefara Redzuan

>From: "Shapira, Yoav" <[EMAIL PROTECTED]>
>Subject: RE: context-param for a list/array of values ?
>
>Howdy,
>There are a couple of ways.  My favorite is:
>
>jndi.resources
>jndi/a,jndi/b,jndi/c
>
>String jndiString =
>getServletContext().getInitParameter("jndi.resources");
>StringTokenizer st = new StringTokenizer(jndiString, ",");
>ArrayList jndiResources = new ArrayList();
>
>while(st.hasMoreTokens())
>{
>   jndiResources.add(st.nextToken());
>}
>
>That's it, very simple.  ;)

Oh my, now why didn't I think of that ?  :)

I had thought there would be something like request.getParameterValues()
which allows us to detect an array of values.
Ex. a fictional getServletContext().getInitParameterValues()

Looks like I'll have to go with the String split instead :-)

Thank you, Yoav.

Soefara.



_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: More flexible JDBCRealm implementation ? (for ASP-style webapp)

2002-07-23 Thread Soefara Redzuan


>From: [EMAIL PROTECTED] (Will Hartung)
> > I've setup a JDBCRealm for Tomcat using MySQL. It works OK
> > but the database schema is not good for an ASP (application
> > service provider) model. For example, I would like several
> > companies to use the same webapp (each company should not
> > know of the other's existence) and each should be able to
> > create a user 'admin' and a user 'david' but in the way that
> > JDBCRealm is currently configured only one instance of any
> > user name is possible since it is the primary key in the users
> > table. Is there a better way to do this ?
>
>I'm not familiar enough with MySQL, but I'll toss this out.
>
>Since you can configure your Realms on a Webapp basis, that may give you 
>the
>flexibility you need.
>
>For example, if you were using, say, Oracle, or most any other database 
>that
>has a concept of User ownership for its tables (most DBs do, MySQL may do
>this, I don't know), you could set up seperate Users or Schemas in the
>database for each Client Webapp. This way, each client would have access to
>their own versions of the tables. You would distinguish the realms by each
>having their own login to the client database with a client specific
>username/password for the database.

Yes, but this adds complexity due to different table names for different
clients. I like to keep things simple. So, I can do what you suggest except
with different databases (running on the same MySQL instance) for
different customers and webapps. That's my current setup.

>If you'd rather share the tables (for whatever reason), perhaps you could
>make views on a master table that's limited by the client id.

I do prefer to share the tables. The reason is that you can easily set
up new clients and customers without restarting Tomcat. Better yet, users
can register and sign-up themselves, something that's not possible if I
have to set up a different database for them, with its own JNDI resource
configuration in server.xml


>These views would be placed in the appropriate client schemas and shadow 
>the
>master table in a central schema. Something like CREATE VIEW
>CLIENT1.USERS(user_name, user_pass, user_goupid) AS SELECT user_name,
>user_pass, user-groupid FROM MASTER.USERS WHERE CLIENTID = 'CLIENT1'.

I'll have to investigate this use of views. It's something I'd never
considered before and looks very useful.


>Finally, if you look at
>$CATALINA_HOME/src/share/org/apache/cataline/realm/JDBCRealm.java, it looks
>pretty darn simple to tweak that to do whatever you want, or, better, to
>subclass and change the relevant methods (not many from the looks of it).
>The only fear here is that the TC team can change JDBCRealm behind your 
>back
>in a later release.

I'd much rather avoid something this drastic. It would be better for me
to write a filter and use custom authentication I believe.

>Stick the pertinent webapp specific entries into ENV-ENTRY, and you can do
>all sorts of scary things I would think.

Thank you,

Soefara.

_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




More JDBCRealm Questions

2002-07-23 Thread Soefara Redzuan


I have set up a JDBCRealm and am using it with form-based login to
secure/protect my webapp.  However, I have a few questions which I
hope somebody could help me with,

1. The JDBCRealm is set up with the following in server.xml.



However, I have noticed that this requires the password (stored in
the user_pass column) to be clear text, which I really don't like doing.
Is there any way to have store the passwords as hashes (ie. using the
password() function in MySQL) ?

2. I read that "a call to j_security_check will be made by every attempt
   access your secured pages".  Since I am protecting every page in my
   webapp, I'm wondering how efficient is "j_security_check" ?
   Does it simply look at the session, or does it make a database call on
   each and every request ?

3. How do you specify a page for authenticated users who do not have
   the correct permissions/roles ?  At the moment, I have this in web.xml,


FORM

login.jsp
   login-error.jsp



login.jsp is the form that shows when an authenticated user tries to 
access the site.
login-error.jsp is displayed when an incorrect username/password is 
submitted.

However, when a correct username/password is submitted but the user does 
not
possess an adequate role, I see a default "You are not authorized" 
message.
How can I customize the page that is shown in such circumstances ?


4. Is there a formal method to logging out, rather than calling
   invalidate() on the session ?

5. If your webapp's authentication works fine on Tomcat, would it then
   work on say BEAWeblogic or IBMWebsphere ?

Sorry for so many questions but I can't find a comprehensive description
of this anywhere. I've only found setup/configuration guides which deal
with the simple issues.

Soefara.

_
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: More flexible JDBCRealm implementation ? (for ASP-style webapp)

2002-07-23 Thread Soefara Redzuan

Thank you for the reply Vic.

>From: "Vic C." <[EMAIL PROTECTED]>
>That is a frequent need.
>
>What is needed is the concept of "organization", a 3rd field in every db
>table.

Yes, I've done something like that too. But have therefore found that
the Tomcat out-the-box JDBCRealm setup (using server.xml, web.xml as I
described below) is not flexible in any way.

So it looks like I too will have to use a manual authentication which
I had hoped to avoid in the name of standardization. Oh well.

>I know how to manualy code (using getuserpricipal and a bean) but
>nothing automatic I can think of.

Why use getUserPrincipal ?
I thought we were supposed to use request.getRemoteUser() ?

Also, may I ask by what you mean "a bean" for this ?
I really like to design code (including Javabeans) so that they
will run in standalone applications, as well as in the servlet
container environment. Is it possible to design an authentication
mechanism that is not dependent upon the servlet container (eg. Tomcat) ?

Soefara.




>Vic
>
>Soefara Redzuan wrote:
> > I've setup a JDBCRealm for Tomcat using MySQL. It works OK
> > but the database schema is not good for an ASP (application
> > service provider) model. For example, I would like several
> > companies to use the same webapp (each company should not
> > know of the other's existence) and each should be able to
> > create a user 'admin' and a user 'david' but in the way that
> > JDBCRealm is currently configured only one instance of any
> > user name is possible since it is the primary key in the users
> > table. Is there a better way to do this ?
> >
> > I followed instructions found on many websites for setting up
> > a JDBCRealm.
> >
> > The table schema is
> >
> > create table user_groups (
> >group_id int not null auto_increment,
> >group_name char(24),
> >parent_id int not null default -1,
> >primary key(group_id)
> >);
> >
> > create table users (
> >  user_name varchar(32) not null,
> >  user_pass varchar(32) not null,
> >  user_groupid  int not null default -1,
> >  primary key(user_name)
> > );
> >
> > create table user_roles (
> >  user_name varchar(15) not null,
> >  role_name varchar(15) not null,
> >  primary key (user_name, role_name)
> > );
> >
> > And in Tomcat's server.xml I have this in the appropriate context,
> >
> >   >   driverName="org.gjt.mm.mysql.Driver"
> >   connectionURL="jdbc:mysql://servername/databasename"
> >   userTable="users" userNameCol="user_name" userCredCol="user_pass"
> >   userRoleTable="user_roles" roleNameCol="role_name"/>
> >
> > And finally this in the webapp's web.xml,
> >
> >  
> > 
> > ProtectedApp
> > /*
> > POST
> >GET
> > 
> > 
> > name the security roles that are allowed to
> > access
> > administrator
> > user
> > 
> > 
> >
> > The alternative is to set up a separate webapp for each
> > company that wishes to use our service but that really isn't
> > scalable and doesn't allow for users to self-register and
> > be up-and-running without administrator intervention.
> >
> > Has anybody solved this problem ?  Thank you in advance,
> >
> > Soefara.
> >

_
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




More flexible JDBCRealm implementation ? (for ASP-style webapp)

2002-07-23 Thread Soefara Redzuan

I've setup a JDBCRealm for Tomcat using MySQL. It works OK
but the database schema is not good for an ASP (application
service provider) model. For example, I would like several
companies to use the same webapp (each company should not
know of the other's existence) and each should be able to
create a user 'admin' and a user 'david' but in the way that
JDBCRealm is currently configured only one instance of any
user name is possible since it is the primary key in the users
table. Is there a better way to do this ?

I followed instructions found on many websites for setting up
a JDBCRealm.

The table schema is

create table user_groups (
group_id int not null auto_increment,
group_name char(24),
parent_id int not null default -1,
primary key(group_id)
);

create table users (
  user_name varchar(32) not null,
  user_pass varchar(32) not null,
  user_groupid  int not null default -1,
  primary key(user_name)
);

create table user_roles (
  user_name varchar(15) not null,
  role_name varchar(15) not null,
  primary key (user_name, role_name)
);

And in Tomcat's server.xml I have this in the appropriate context,

  

And finally this in the webapp's web.xml,



ProtectedApp
/*
POST
GET


name the security roles that are allowed to 
access
administrator
user



The alternative is to set up a separate webapp for each
company that wishes to use our service but that really isn't
scalable and doesn't allow for users to self-register and
be up-and-running without administrator intervention.

Has anybody solved this problem ?  Thank you in advance,

Soefara.





_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




context-param for a list/array of values ?

2002-07-23 Thread Soefara Redzuan

In web.xml, variables can be defined like this,

  
  gui.bgcolor
  #00
  

And then in your servlet or JSP,

  String guiBgColor = getServletContext().getInitParameter("gui.bgcolor");

But how can I assign a list or array of values to a variable
in web.xml ?  For example, I wish to configure the available
JNDI datasources available to a webapp, so that the end user
can select one. Is it something like this ?

  
  jndi.resources
  jdbc/users
  jdbc/accounts
  jdbc/finance
  

But then how would I extract values in my JSP or servlet ?

Soefara

_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: JNDI realm against win2000 DC (REPOST SORRY)

2002-04-12 Thread Soefara Redzuan

No sooner have I hit send then I find the solution for you !!

http://forum.java.sun.com/thread.jsp?forum=51&thread=194669

Please do let us know if it works.

Soefara.

>From: "Soefara Redzuan" <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: JNDI realm against win2000 DC (REPOST SORRY)
>Date: Fri, 12 Apr 2002 20:55:31 +0800
>
>Do you mean authentication against a Windows 2000 Active Directory ? The
>latter is based upon LDAP I believe and therefore should be accessible. At
>least that's what the JNDI FAQ implies
>http://java.sun.com/products/jndi/faq.html
>
>However, for authentication purposes, you need to communicate with the
>server via SSL. I've never managed to get this to work successfully but
>there are quite a few references in the forums. For example
>http://forum.java.sun.com/thread.jsp?forum=51&thread=91182
>
>Please do let us know if you get it working. I'm sure there are many people
>who would love to use it too.
>
>Soefara.
>
>
>
>
>
>>From: "Jacob Lund" <[EMAIL PROTECTED]>
>>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>>To: <[EMAIL PROTECTED]>
>>Subject: JNDI realm against win2000 DC (REPOST SORRY)
>>Date: Fri, 12 Apr 2002 14:39:07 +0200
>>
>>Sorry about this repost, but it is really bugging me!
>>
>>
>>Does anyone have a TC 4.0.x configured with a JNDI realm against a
>>windows 2000 domain controller? Or maybe just know how to set this up!
>>
>>I have been looking at the JNDI how-to and I cannot get it working.
>>
>>Thanks,
>>Jacob
>>
>>
>>--
>>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>>For additional commands: <mailto:[EMAIL PROTECTED]>
>>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>>
>
>
>_
>Chat with friends online, try MSN Messenger: http://messenger.msn.com
>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>


_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>




Re: JNDI realm against win2000 DC (REPOST SORRY)

2002-04-12 Thread Soefara Redzuan

Do you mean authentication against a Windows 2000 Active Directory ? The 
latter is based upon LDAP I believe and therefore should be accessible. At 
least that's what the JNDI FAQ implies
http://java.sun.com/products/jndi/faq.html

However, for authentication purposes, you need to communicate with the 
server via SSL. I've never managed to get this to work successfully but 
there are quite a few references in the forums. For example
http://forum.java.sun.com/thread.jsp?forum=51&thread=91182

Please do let us know if you get it working. I'm sure there are many people 
who would love to use it too.

Soefara.





>From: "Jacob Lund" <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Subject: JNDI realm against win2000 DC (REPOST SORRY)
>Date: Fri, 12 Apr 2002 14:39:07 +0200
>
>Sorry about this repost, but it is really bugging me!
>
>
>Does anyone have a TC 4.0.x configured with a JNDI realm against a
>windows 2000 domain controller? Or maybe just know how to set this up!
>
>I have been looking at the JNDI how-to and I cannot get it working.
>
>Thanks,
>Jacob
>
>
>--
>To unsubscribe:   
>For additional commands: 
>Troubles with the list: 
>


_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: Designing for scalability ?

2002-04-12 Thread Soefara Redzuan

>From: David Lu <[EMAIL PROTECTED]>
>you're talking about a clustered environment.  such capabilities
>are already available in commercial app servers like weblogic.

I've often wondered why somebody would actually want to put out several 
thousand US$ for a BEA or ATG when Tomcat is available. Are such features in 
the Tomcat roadmap ? I presume that they were not in the J2EE 
specifications.

>here are some things you want to do now if you think you'll ever
>go clustered:
>
>- make sure everything you put into the session implements  Serializable. 
>this way the app server can share session data.

Nice tip. How does a clustered environment share these objects ? I'm 
surprised that they (and Tomcat) don't provide the option of usinga central 
relational database for storing session objects between multiple servers.

>- don't put large data objects (like a Collection) into the session.
>- don't rely on static data held in singleton objects, because you may
>   end up with multiple singleton objects, one in every app server 
>instance.
>- code to standards and avoid app-server-specific "features" as much
>   as you can, for you may have to change app servers for clustering.

Super. Thank you for sharing this experience and wisdom, David.

Soefara.


_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: Tomcat 4.x and Database Connection Pooling

2002-04-12 Thread Soefara Redzuan

I don't understand why you need it to be abstract.

I don't think that Struts necessarily changes it either.

Remember that your servlets calling the class are multi-threaded. That's the 
one thing that I completely misunderstood when I first started writing 
servlets.

As I understand it, just say 3 simultaneous requests come in for the servlet 
that uses your DatabaseManager class. The servlet will create 3 threads to 
deal with these requests. Each thread will create an instance of your 
DatabaseManager class (unless you make it a static class variable which 
would probably be a bad idea).  Each instance of the DatabaseManager class 
(one instance for each servlet thread) will then grab a database connection 
from the database pool manager using JNDI. Therefore, do not employ global 
static variables or else you'll need to use synchronized and that will also 
defeat the object of database pooling.

Please correct me if I'm wrong and sorry if I have not answered your 
question. Be aware that I'm not a java maestro.

Soefara

>From: Ric Searle <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: "Tomcat Users List" <[EMAIL PROTECTED]>
>Subject: Re: Tomcat 4.x and Database Connection Pooling
>Date: Thu, 11 Apr 2002 20:17:32 +0100
>
>Thanks to everyone who's commented on this - I can't believe that I
>hadn't come across the JNDI solution, but it's working beautifully now.
>So onto the next, closely related issue...
>
>I'm accessing my database, via JNDI, using a class called
>DatabaseManager.  My aim is that this class abstracts the database
>backend, so I can just call addUser(myUser), and it will take care of
>the SQL stuff behind the scenes.  At the moment,  this DatabaseManager
>contains code similar to Soefara's below to get a connection for itself
>whenever it has to make a db request.
>
>My confusion is what to do with this class - Should I declare it as
>abstract?  Does that ruin some of the pooling stuff?  I would really
>like to be able to create a global instance of this class, instantiated
>when the server starts, since individual requests don't need their own
>DatabaseManager.  But I'm using Struts, and I don't know how to do
>that!  Arghh...
>
>Any thoughts/experiences?
>
>   Ric Searle
>   Web Application Developer
>   --
>   Dialogue Communications Ltd
>
>   http://www.dialogue.co.uk
>   +44 (0) 114 221 0307
>
>On Thursday, April 11, 2002, at 06:02  pm, Craig R. McClanahan wrote:
>
>>
>>
>>On Thu, 11 Apr 2002, Soefara Redzuan wrote:
>>
>>>Date: Thu, 11 Apr 2002 10:46:14 +0800
>>>From: Soefara Redzuan <[EMAIL PROTECTED]>
>>>Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
>>>To: [EMAIL PROTECTED]
>>>Subject: Re: Tomcat 4.x and Database Connection Pooling
>>>
>>>>Tomcat:  As far as I'm concerned, JNDI support is a "now and forever
>>>>more"
>>>>feature of Tomcat 4 and later.  It's the standard access mechanism
>>>>for J2EE
>>>>app servers as well.
>>>
>>>This is what I love to hear. With so many changes (servlets to JSP to
>>>Struts) over the last few years, future-proofing is so important.
>>>
>>>>Recommendation:  If you can, you should use JNDI based access to data
>>>>sources.  This is both portable across containers, and portable across
>>>>Struts versus non-Struts applications.
>>>
>>>>In addition, it can be used from
>>>>directly from within a JavaBean implementing your business logic,
>>>>without requiring a reference to ActionServlet or the servlet context
>>>>(or
>>>>the web layer at all).
>>>
>>>Really ? This is incredibly important news to me. I've been acquiring
>>>the
>>>JNDI resource within my servlet then passing it as a parameter to my
>>>Javabean which is a terrible mechanism because it makes my javabean
>>>dependent on the servlet :(
>>>
>>>So, are we saying that once we've set up a pooled database connection
>>>JNDI
>>>resource in server.xml and web.xml, any Javabean that is called by a
>>>serlvet
>>>or JSP can make use of this JNDI resource directly like this
>>>
>>>
>>>In the javabean.
>>>
>>>import javax.naming.NamingException;
>>>import javax.naming.Context;
>>>import javax.naming.InitialContext;
>>>import javax.naming.NamingEnumeration;
>>>import javax.naming.directory.InitialDirContext;
>>>
>>>

Re: Tomcat 4.x and Database Connection Pooling

2002-04-11 Thread Soefara Redzuan

> > In the javabean.
> > 
> > import javax.naming.NamingException;
> > import javax.naming.Context;
> > import javax.naming.InitialContext;
> > import javax.naming.NamingEnumeration;
> > import javax.naming.directory.InitialDirContext;
> >
> > class mybean() {
> > java.sql.Connection conn
> > 
> > get getPooledDatabaseConnection() {
> > Context ctx = new  InitialContext();
> > Context envCtx = (Context) ctx.lookup("java:/comp/env/");
> > DataSource ds = (DataSource) envCtx.lookup("jdbc/dbpool");
> > conn = ds.getConnection();
> > }
> > ...
> > }
> >
> > If so, this is going to make development much easier. :-)
> >
>
>Yep ... that is exactly the pattern you can use.  Nice, isn't it?

It's so good we're updating all of our code to use this.

Now the whole MVC framework finally makes sense :-)
At least in a webapp, that is. I'm not sure how a standalone application 
would be able to provide the JNDI environment to the same Javabeans but I'll 
check the Sun JNDI mailing list.

Thank you for all the great work on Tomcat,

Soefara.

_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Designing for scalability ?

2002-04-10 Thread Soefara Redzuan

If one day you suspect that one Tomcat server will not be sufficient, and 
you will have to employ 2 or more Tomcat servers running on separate 
machines, how can we allow for scalability ?

For example, using simple DNS round-robbin to offload requests between 
servers, a first request might arrive at one server and a Session object 
created. But if the subsequent request (from the same client) arrives at a 
different server, that Session will not be found, will it ?  (As far as I 
know, there is no method to store Sessions in a common database used by 
several servers)

What steps are people taking to allow for scalability in their applications 
? Are there any steps that can be implemented at initial development which 
may save time further down the road ?

Thank you, Soefara.

_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: Tomcat 4.x and Database Connection Pooling

2002-04-10 Thread Soefara Redzuan

>Tomcat:  As far as I'm concerned, JNDI support is a "now and forever more" 
>feature of Tomcat 4 and later.  It's the standard access mechanism for J2EE 
>app servers as well.

This is what I love to hear. With so many changes (servlets to JSP to 
Struts) over the last few years, future-proofing is so important.

>Recommendation:  If you can, you should use JNDI based access to data
>sources.  This is both portable across containers, and portable across
>Struts versus non-Struts applications.

>In addition, it can be used from
>directly from within a JavaBean implementing your business logic,
>without requiring a reference to ActionServlet or the servlet context (or 
>the web layer at all).

Really ? This is incredibly important news to me. I've been acquiring the 
JNDI resource within my servlet then passing it as a parameter to my 
Javabean which is a terrible mechanism because it makes my javabean 
dependent on the servlet :(

So, are we saying that once we've set up a pooled database connection JNDI 
resource in server.xml and web.xml, any Javabean that is called by a serlvet 
or JSP can make use of this JNDI resource directly like this


In the javabean.

import javax.naming.NamingException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingEnumeration;
import javax.naming.directory.InitialDirContext;

class mybean() {
java.sql.Connection conn

get getPooledDatabaseConnection() {
Context ctx = new  InitialContext();
Context envCtx = (Context) ctx.lookup("java:/comp/env/");
DataSource ds = (DataSource) envCtx.lookup("jdbc/dbpool");
conn = ds.getConnection();
}
...
}

If so, this is going to make development much easier. :-)

Soefara.




_
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Tomcat/Apache trying to hide /webapp/ from URL

2002-04-07 Thread Soefara Redzuan

Sorry, I know Tomcat/Apache has been discussed endlessly but this problem is 
driving me around the bend.

We have Tomcat(3.2.3) running fine. We have several webapps running on it 
with no problem, including our main corporate website which is accessed 
directly via Tomcat at http://www.domain.com:8080/corporatesite
(ie. the webapp is /webapps/corporatesite)

We have Apache configured to be in front of Tomcat with mod_jk which simply 
means that we need to insert this line into Apache's httpd.conf and it works 
fine.

Include /usr/local/jakarta/tomcat/conf/mod_jk.conf-auto

However, there are 2 problems with this

1. The URL to reach the site is http://www.domain.com/corporatesite but we'd 
really like it to be http://www.domain.com

2. I think that Tomcat still has to serve up all of the images and static 
content which are part of the webapp. (ie. they're stored in subdirectories 
of /webapps/corporatesite)

I thought that I could solve both of these problems using this ProxyPass but 
that didn't work as expected. There must be an easy way to solve this.

I was also surprised that setting Apache's httpd.cont to include
DocumentRoot /usr/local/jakarta/tomcat/webapps/corporatesite
did not help at all.

Any and all help is truly welcome.  Thank you so much, Soefara.

_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: Problem with cache clearing in Tomcat

2002-03-26 Thread Soefara Redzuan

To first check whether it's a browser or Tomcat server problem, go to 
another computer on your nework that has not yet been used to view the 
offending JSP/servlet. If you find you're still viewing an older version of 
the page, then it's obviously caching on the server. I've found that 9 times 
out of 10 it's Tomcat caching and not browser caching. If it's Tomcat 
caching then the META tags or pragma-no-cache will not help.

There's the reloadable="false" (or should it be "true"? I have to check) 
parameter for the context in server.xml. But even that has not helped for me 
and I have to just delete the "/work" directory whenever I want to reload 
things. Be careful not to delete something in the webapps directory by 
mistake. That can really ruin your day.

Soefara.


>From: "Jeff Larsen" <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: "Tomcat Users List" <[EMAIL PROTECTED]>
>Subject: Re: Problem with cache clearing in Tomcat
>Date: Tue, 26 Mar 2002 09:29:48 -0600
>
>You may also want to try
>
>
>
>However, I don't really trust META tags. Browser implementations
>of META tags are not always reliable. Write to the response headers
>directly. I embed the following at the top of every jsp page.
>
><%
>  response.setHeader("Cache-Control", "no-cache");
>  response.setHeader("Pragma", "no-cache");
>  response.setDateHeader("Expires", 0);
>%>
>
>If you're not using jsp, you could also put this in your servlet code.
>
>However, during the development of my latest web app, I had similar cache
>problems while running under Tomcat 3.2.3 standalone. In my production 
>environment
>however, I run Apache 1.3.23 with mod_jk to connect to Tomcat 4.0.3 and my 
>cache
>problems went away. I'm not sure if it's a Tomcat version issue or if 
>Tomcat's
>standalone HTTP connector just doesn't handle the headers correctly.
>
>Good luck,
>
>Jeff
>
>
>- Original Message -
>From: "somya_iyer" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Tuesday, March 26, 2002 3:58 AM
>Subject: Problem with cache clearing in Tomcat
>
>
> > Hi,
> > I'm using apache tomcat 4.0 and my application has been developed using 
>only servlets
>and an oracle database. After a user logs out, when the next one logs in,  
>the application
>continues with the old pages belonging to the previous user. The old 
>session has been
>invalidated and the new session values are being correctly taken by the 
>system. On
>refreshing the screen, the correct pages come up. I have tried setting the 
>header
>information as follows:
> > 
> >  
> > but this doesn't help either.
> > Can anyone help out?
> > Thanks,
> > Somya
> >
> > --
> > To unsubscribe:   
> > For additional commands: 
> > Troubles with the list: 
>
>
>--
>To unsubscribe:   
>For additional commands: 
>Troubles with the list: 
>


_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: AW: Multiple users share java bean?

2002-03-26 Thread Soefara Redzuan

First of all, thank you so much Alexander for taking the time to explain 
this so thoroughly.


> > First, am I correct in saying that the default behaviour for a
> > Javabean is that each servlet or JSP that uses it will create > a new 
>instance of that Javabean ?  For example, if we have > Register.jsp which 
>uses a Javabean called memberData.java then > if 2 people were to submit 
>data to Register.jsp
> > at exactly the same time, each page would actually create and use
> > a separate instance of the bean memberData.java. Is this correct?
>
>Nice answer: That depends :-)
>a) 
>The bean is created for exactly this page executed by this user
>
>b) 
>The bean is created for this page and all pages you  in this 
>request.
>
>c) 
>The bean is created and accessible by all pages of this application
>(You must include this line into all pages)
>p.ex.: You create a session bean that accesses a database. The database
>connection will be made once and will stand until the session runs out.
>There is a seperate bean for every user, though.
>
>d) 
>The bean is created the first time a user accesses a page in your
>application. From then on, every user and every page will have the same
>bean!

Lovely concise answer. I've printed this out as a cheat sheet :-)

Now, since each JSP is essentially a servlet, how does the servlet perform 
the sharing of the javabean ? Does a servlet that shares a javabean (similar 
to the JSP case [d] above, where scope="application"), is actually creating 
the javabean as a *static* variable so that it is shared by all members of 
the class ?


> > Third, I'm getting confused and starting to doubt my understanding of
> > servlets within the Tomcat servlet container. If we have a simple 
>servlet
> > using the helloWorld.class and it just prints "hello world" to
> > the web page,
> > then if 10 people were to requsest the servlet at the same time, am I
> > correct in assuming that 10 different instances of the class are
> > created to
> > handle these requests ?
>
>true


Great, that's what I thought.  But here's why I'm getting confused. The 
servlet tutorial says that a servlet is created once and once only (that's 
when the init() is run).
http://java.sun.com/docs/books/tutorial/servlets/lifecycle/index.html
If the servlet class is created only once, how does Tomcat then create 
multiple instances of the class ?

>I could recommend a german book here, but I think that wouldn't be of
>great use for you...

Good guess. Learning German through Java would surely be a challenge :)

Thank you again, Soefara.


_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: Multiple users share java bean?

2002-03-26 Thread Soefara Redzuan

Wow, you boys made me realize how little I know, and now I'm even starting 
to doubt my prior understanding.  Can you please help me clarify the 
following.

First, am I correct in saying that the default behaviour for a Javabean is 
that each servlet or JSP that uses it will create a new instance of that 
Javabean ?  For example, if we have Register.jsp which uses a Javabean 
called memberData.java then if 2 people were to submit data to Register.jsp 
at exactly the same time, each page would actually create and use a separate 
instance of the bean memberData.java. Is this correct?

Second, if this is the case, how do you actually create a shared bean and 
why would you want one ?

Third, I'm getting confused and starting to doubt my understanding of 
servlets within the Tomcat servlet container. If we have a simple servlet 
using the helloWorld.class and it just prints "hello world" to the web page, 
then if 10 people were to requsest the servlet at the same time, am I 
correct in assuming that 10 different instances of the class are created to 
handle these requests ?

Sorry for these seemingly basic questions but I'm going through one of those 
stages where I question the fundamental understanding. I must go read the 
servlet API I think.

Soefara.



>From: Daniel Hinojosa <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: Tomcat Users List <[EMAIL PROTECTED]>
>Subject: Re: Multiple users share java bean?
>Date: Mon, 25 Mar 2002 15:58:20 -0700
>
>In that case I recommend a facade bean in order to do this
>
>For example, doing this.
>
>
>
>
>Chenming Zhao wrote:
>
>>Dniel,
>>
>>There is still one problem: the value set by the second user2 updated the
>>value of the first user1 before finishing user1's work. I paste the code.
>>Please take a look.
>>
>>public class test
>>{
>>int numEvents= 5;
>>
>>public synchronized int test()
>>{
>>int real=0;
>>int eventCounter=0;
>>
>>while(eventCounter<=numEvents)
>>{
>>real=eventCounter;
>>
>>// wait for 0.01 second
>>try{wait(10);}
>>catch(InterruptedException e){};
>>eventCounter++;
>>}
>>return real;
>>}
>>
>>public synchronized int setNumEvents(int sec)
>>{
>>numEvents= sec;
>>}
>>}
>>
>>For example, I input 200 as the value of numEvents for user1. Before
>>finishing user1's task, user2 input 100 as numEvents and  begin his work. 
>>I
>>hope I can get results 200 and 100 respectively. But I got 100 both.
>>
>>- Original Message -
>>From: "Daniel Hinojosa" <[EMAIL PROTECTED]>
>>To: "Tomcat Users List" <[EMAIL PROTECTED]>
>>Sent: Monday, March 25, 2002 11:35 AM
>>Subject: Re: Multiple users share java bean?
>>
>>>If it's a shared bean, sycnchronize it.   Make sure that
>>>all mutators(Setters) are synchronized, and it would be a bad idea to do
>>>that to the
>>>accessors (mututors) are synchronized too.  If you have more open than
>>>private member variables in this bean, make sure they are private.
>>>e.g.
>>>
>>>public void synchronized setName(String name) {
>>>.
>>>}
>>>
>>>--
>>>Daniel Hinojosa
>>>
>>
>>
>>--
>>To unsubscribe:   
>>For additional commands: 
>>Troubles with the list: 
>>
>>
>>
>public  class TestFacade {
>private Test test = null;
>public void synchronized process() {
>   if (test == null) test = new Test();
>   test.test();
>   test.setNumEvents(2);
>}
>}
>
>
>With this I am pretty sure that you can take the synchronized off of
>methods of the Test Object and always use this testFacade before using
>your test object.
>
>Hope that helps
>


_
Send and receive Hotmail on your mobile device: http://mobile.msn.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




RE: Tomcat and Unicode parameters in URLs ???

2002-03-20 Thread Soefara Redzuan

Thanks for pointing this out Larry. Unfortunately we use Tomcat 4 only 
because it seems quite a bit faster than the Tomcat 3 series. Thank you 
though. It looks like I'm going to have to learn how to "guess" the 
character set and language.

Thank you, Soefara.

>From: Larry Isaacs <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: 'Tomcat Users List' <[EMAIL PROTECTED]>
>Subject: RE: Tomcat and Unicode parameters in URLs ???
>Date: Tue, 19 Mar 2002 07:51:46 -0500
>
>If you can live with the Servlet 2.2 spec, Tomcat 3.3
>has a work around for this.  The DecodeInterceptor can
>accept a URL like the following to specify the encoding
>as part of the URI:
>
>http://localhost:8080/myapp/index.jsp;charset=UTF-8?param=value
>
>For details, see the charsetAttribute attribute of the
>DecodeInterceptor:
>
><http://jakarta.apache.org/tomcat/tomcat-3.3-doc/serverxml.html#DecodeInterceptor>
>
>You are welcome to give it a try.
>
>Cheers,
>Larry
>
> > -Original Message-
> > From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, March 18, 2002 8:50 PM
> > To: Tomcat Users List
> > Subject: Re: Tomcat and Unicode parameters in URLs ???
> >
> >
> >
> >
> > On Tue, 19 Mar 2002, Soefara Redzuan wrote:
> >
> > > Date: Tue, 19 Mar 2002 09:20:47 +0800
> > > From: Soefara Redzuan <[EMAIL PROTECTED]>
> > > Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: Tomcat and Unicode parameters in URLs ???
> > >
> > >
> > > >Setting the content type, as you did above, only affects
> > the *output*
> > > >of that particular response -- it has nothing to do with
> > how the next
> > > >*input* request from that browser will be handled.
> > > >
> > > >In order to deal with request parameters in an incoming
> > request, you
> > > >must tell Tomcat what encoding to use, *before* processing the
> > > >parameters. This is done by calling the
> > > >request.setCharacterEncoding() method that was added in
> > Servlet 2.3.
> > > >As long as you call this before calling methods like
> > > >request.getParameter(), the proper encoding will be applied.
> > > >
> > > >One way to do this without modifying your application itself is to
> > > >use a Filter that looks at incoming requests and decides what
> > > >encoding should be used -- perhaps by looking at the
> > > >Accept-Language header, or based on
> > attributes you have
> > > >stored in the current session that indicate what the user will be
> > > >supplying.
> > >
> > > But what happens if you really do not know what character set to
> > > expect ? In our company, the webserver is used for B2B
> > messaging with
> > > customers and not purely serving web pages.  For example, we can
> > > accept a message with a query string like this
> > >
> > http://vpn.ourcompany.com/servlet/incoming?> company=CustomerName&refere
> > > nceId=1234¬eText=
> > >
> > > The noteText could be in one of several languages since we do
> > > international business. We're currently considering adding
> > a language
> > > parameter such as &Language=English but it would be nicer to
> > > autodetect the language. Is this possible ?
> > >
> >
> > It would be possible if the HTTP specs defined a way to tell
> > the server what language the HTTP URL is encoded in, and if
> > browsers actually sent along that indication.  Neither seems
> > to be the case in general -- even on a POST transaction
> > (where the browsers really have no excuse for not including
> > the character encoding in the Content-Type header), many
> > don't. Thus, you're stuck haveing to figure it out for yourself.
> >
> > Note that adding a language parameter to the query string
> > isn't going to do you much good -- you have to call
> > setCharacterEncoding() *before* you call
> > request.getParameter(), so you won't have been able to read
> > the language field first.
> >
> > > Thank you, Soefara
> > >
> > > _
> >
> > Craig
> >
> > > Join the world's largest e-mail service with MSN Hotmail.
> > > http://www.hotmail.com
> > >
> > >
> > > --
> > > To unsubscribe:
> > <mailto:tomcat-user-> [EMAIL PROTECTED]>
> > > For
> > additional commands:
> > <mailto:[EMAIL PROTECTED]>
> > > Troubles with the list:
> > <mailto:[EMAIL PROTECTED]>
> > >
> > >
> >
> >
> > --
> > To
> > unsubscribe:   <mailto:[EMAIL PROTECTED]>
> > For additional commands: <mailto:[EMAIL PROTECTED]>
> > Troubles with the list: <mailto:[EMAIL PROTECTED]>
> >
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>


_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>




Re: Tomcat and Unicode parameters in URLs ???

2002-03-18 Thread Soefara Redzuan


>Setting the content type, as you did above, only affects the *output* of
>that particular response -- it has nothing to do with how the next *input*
>request from that browser will be handled.
>
>In order to deal with request parameters in an incoming request, you must
>tell Tomcat what encoding to use, *before* processing the parameters.
>This is done by calling the request.setCharacterEncoding() method that was
>added in Servlet 2.3.  As long as you call this before calling methods
>like request.getParameter(), the proper encoding will be applied.
>
>One way to do this without modifying your application itself is to use a
>Filter that looks at incoming requests and decides what encoding should be
>used -- perhaps by looking at the Accept-Language header, or
>based on attributes you have stored in the current session that indicate
>what the user will be supplying.

But what happens if you really do not know what character set to expect ? In 
our company, the webserver is used for B2B messaging with customers and not 
purely serving web pages.  For example, we can accept a message with a query 
string like this
http://vpn.ourcompany.com/servlet/incoming?company=CustomerName&referenceId=1234¬eText=

The noteText could be in one of several languages since we do international 
business. We're currently considering adding a language parameter such as 
&Language=English but it would be nicer to autodetect the language. Is this 
possible ?

Thank you, Soefara

_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Is there db caching ? Re: Managing Tomcat(4.0.x) JNDI JDBC pool resources

2002-03-18 Thread Soefara Redzuan

Super explanation, Craig. I've taken a look at the Tyrex site and think I'm 
correct in saying that there is no caching of database results. Is this true 
?

I understand that database connections take longer than queries so the 
connection pooling creates the greatest time saving, but I think result 
caching can also improve performance. Does Tomcat have a mechanism for doing 
this or is it up to us to build that into our own web-apps ? Is there a 
boilerplate for doing this ?

Thank you, Soefara

>From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: Tomcat Users List <[EMAIL PROTECTED]>
>Subject: Re: Managing Tomcat(4.0.x) JNDI JDBC pool resources - Craig?
>Date: Sat, 16 Mar 2002 12:51:22 -0800 (PST)
>
>
>
>On Sat, 16 Mar 2002, Steven Elliott wrote:
>
> > Date: Sat, 16 Mar 2002 17:46:01 +
> > From: Steven Elliott <[EMAIL PROTECTED]>
> > Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: Managing Tomcat(4.0.x) JNDI JDBC pool resources - Craig?
> >
> > Apologies in advance if this has already been answered in another thread 
>but
> > my searches have turned up numerous references to JNDI & pooling & JDBC 
>-
> > etc. but only one post mentioned managing container (Tomcat) pool 
>resources
> > and that question went unanswered as far as I could tell.  Nor did I 
>find
> > anything particullarly illuminating in the Tomcat documentation.  At 
>least I
> > haven't found the
> >
> > After reading the JDBC2.0 stdext documentation it seems that the 
>container
> > does not use the driver's ConnectionPoolDataSource interface as a 
>factory
> > for PooledConnection objects but instead (at least what I can tell from
> > Tomcat) uses its own pooling resource?
> >
>
>The container exposes a javax.sql.DataSource implementation to
>applications.  Internally, the factory is currently based on Tyrex
>(http://tyrex.exolab.org) for 4.0.x, but has switched to the DBCP package
>from Jakarta Commons (http://jakarta.apache.org/commons) in the nightly
>builds.
>
> > What I don't see provided for is any kind of management methods to set 
>Min
> > or Max Pool size, or setting the initial Pool size, etc.  Nor do I see 
>any
> > default values?  Although I can set parameters for the DataSource object
> > supported by my driver (like dataBaseName, etc. I think) I don't see any 
>way
> > to get to the setter, getter methods supported by my driver's
> > ConnectionPoolDataSource factory (beyond the methods declared in the 
>javax
> > API)?
> >
>
>Tyrex, and the DBCP pool, both do their own pool management of
>java.sql.Connection instances provided by your driver, so they can be used
>with any JDBC driver -- even those that do not support
>ConnectionPoolDataSource themselves.  The DBCP based pool does have
>configuration management properties for pool size and so on.
>
> > Is there any way to configure these parameters for Tomcat?  If not is 
>there
> > any way to register a third party connection pool from within server.xml 
>or
> > will this have to be done in a separate package.
> >
>
>It should be possible to use the DBCP based pool even with Tomcat 4.0.x by
>overriding the default JNDI factory for javax.sql.DataSource objects (I
>haven't tested this, but in theory it should all work).
>This requires the following steps:
>
>* Download recent nightly builds of the Collections, Pool, and DBCP
>   packages from Jakarta Commons
>   (http://jakarta.apache.org/builds/jakarta-commons/nightly/) and put
>   the JAR files into $CATALINA_HOME/common/lib along with your JDBC
>   driver.
>
>* Configure the "factory" parameter in the  element
>   to set the JNDI ObjectFactory class for this resource:
>
> 
>   
> factory
> org.apache.commons.dbcp.BasicDataSourceFactory
>   
>   ... other configuration parameters ...
> 
>
>* Configure the other parameter values of the  element
>   from the list of supported properties below:
>   - driverClassName - Fully qualified Java class name of the JDBC driver
>   - maxActive   - Maximum number of active connections at one time
>   - maxIdle - Maximum number of idle connections at one time
>   (if more are returned to the pool, they will be
>   closed to release database resources)
>   - maxWait - Number of milliseconds the pool will wait when there
>   are no available connections before causing
>   getConnection() to throw an exception
>   - password- Database password
>   - url - Connection URL (also accepts "driverName" for
>   backwards compatibility)
>   - user- Database username
>   - validationQuery - Optional SQL SELECT statement used to validate a
>   connection before returning it to the application
>   (must return at least one row).  This is helpful
>   in catching

RE: jndi versus database connection pooling

2002-03-16 Thread Soefara Redzuan


Maybe but if it's just the docs that you're missing, why not get them from 
the Apache site ?

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html

Soefara

>From: Bing Zhang <[EMAIL PROTECTED]>
>Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
>To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>Subject: RE: jndi versus database connection pooling
>Date: Sat, 16 Mar 2002 18:19:13 -0800
>
>I asked this before, but got no answear. Since we are talking about docs,
>here we go again.
>
>I installed tomcat-4.0.1, 4.0.1-manuls and 4.0.1-webapps, all from rpms on
>RedHat 6.2. However some of key docs under webapps/tomcat-docs are empty,
>such as jndi-resources-howto.html, class-loader-howto.html, ssl-howto.html,
>index.html, introduction.html and ..
>
>Am I missing something here?
>
>Thanks
>
>Bing Zhang
>
>-Original Message-
>From: Craig R. McClanahan
>To: Tomcat Users List
>Sent: 3/15/02 11:26 PM
>Subject: Re: jndi versus database connection pooling
>
>
>
>On Sat, 16 Mar 2002, Soefara Redzuan wrote:
>
> > Date: Sat, 16 Mar 2002 15:03:10 +0800
> > From: Soefara Redzuan <[EMAIL PROTECTED]>
> > Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: Re: jndi versus database connection pooling
> >
> > Oh dear, Craig, I'm fairly embarassed. Sorry.
> >
> > >You're going to kick yourself ... the required element name is
> > >, not  :-).
> >
> > I should have noticed that when I copied my web.xml right next to the
> > previous person's. What is it they say about being so close to a
>problem to
> > be blinded.
> >
> > But may I suggest that the JNDI docs are updated because it's
> >  in many cases there, for Mail as well as JDBC.
> >
> > http://127.0.0.1:8080/tomcat-docs/jndi-resources-howto.html
> >
>
>Well, now I'm somewhat embarrassed, because I wrote the original
>document
>that had the wrong element name :-(.
>
>However, this was fixed in the Tomcat source code on October 10, 2001,
>and
>therefore the correct version was included from release 4.0.1 onwards
>(current production release is 4.0.3).  Which version are you running?
>Is
>there anyplace that the wrong version of this document still exists
>online
>that we need to fix?
>
>Craig
>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>


_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>




Re: jndi versus database connection pooling

2002-03-15 Thread Soefara Redzuan

Oh dear, Craig, I'm fairly embarassed. Sorry.

>You're going to kick yourself ... the required element name is
>, not  :-).

I should have noticed that when I copied my web.xml right next to the 
previous person's. What is it they say about being so close to a problem to 
be blinded.

But may I suggest that the JNDI docs are updated because it's 
 in many cases there, for Mail as well as JDBC.

http://127.0.0.1:8080/tomcat-docs/jndi-resources-howto.html

I really should have checked the DTD though.

>With regards to your question about portability, the answer is yes --
>resource references declared in the web.xml are portable, as long as the
>servlet container you plan to run on supports a JNDI naming context for
>each web application.  That covers *all* J2EE-compatible servers and
>Tomcat 4 -- for anything else, you will want to double check.

I think "*all* J2EE compatible servers" should be enough for the meantime. 
:-)


>Note, however, that the actual mechanism for defining what connection
>pool the resource reference actually refers to is server dependent.
>For Tomcat 4, that means setting things up in server.xml.  For other
>servers, consult the documentation for that server.

Thank you, Soefara.


_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: jndi versus database connection pooling

2002-03-15 Thread Soefara Redzuan


>   DataSource ds = null;
>   Context initCtx = new InitialContext();
>   Context envCtx = (Context)initCtx.lookup( "java:comp/env" );
>   ds = (DataSource)envCtx.lookup( "jdbc/DB" );
>
>The problem is that returned datasource is always null.

I wish I could get that far. I am using a web.xml that is almost identical 
to your own below and yet Tomcat will not start without reporting this XML 
parsing error.

org.xml.sax.SAXParseException: Element "resource-ref" does not allow
"resource-ref-name" here.


>From: "Taavi Tiirik" <[EMAIL PROTECTED]>
>
>In web.xml I have following resource-ref defined:
>
>  
>   
>   Resource reference to a factory for javax.sql.DataSource
>   instances that may be used for talking to a particular
>   database that is configured in the server.xml file.
>   
>   jdbc/DB
>   javax.sql.DataSource
>   Container
>  

My own web.xml is contains almost the same resource-ref


  
Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.
  
  
jdbc/mydb
  
javax.sql.DataSource
Container


The error I get is an XML parsing error and the actual values are actually 
irrelevant. I'm using Tomcat 4.0.1 on Windows 2000. How come nobody else is 
reporting this error regardless if you're using Postgres, Oracle or mysql

org.xml.sax.SAXParseException: Element "resource-ref" does not allow
"resource-ref-name" here.

Also, IF I ever get this to work, will this also work on other java servers 
like Websphere or will your own database pool manager be more cross platform 
?

Thank you, Soefara.



_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




Re: jndi versus database connection pooling

2002-03-14 Thread Soefara Redzuan

Yes, sorry, I was using dummy values and forgot that.  Thank you for 
pointing that out. But my main problem seems to be with the XML parsing of 
the config file, regardless of the values I use, since the Tomcat error on 
the console is

org.xml.sax.SAXParseException: Element "resource-ref" does not allow
"resource-ref-name" here.

I'm surprised nobody else got this following the JNDI howto.

Soefara.



>From: [EMAIL PROTECTED]
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: jndi versus database connection pooling
>Date: Thu, 14 Mar 2002 11:03:07 -0500
>
>
>Hi Soefara,
>
>Your  in web.xml should have same name with  in
>server.xml.
>
>Good luck,
>
>
>
>
>
>"Soefara Redzuan" <[EMAIL PROTECTED]> on 03/14/2002 10:47:51 AM
>
>Please respond to "Tomcat Users List" <[EMAIL PROTECTED]>
>
>To:[EMAIL PROTECTED]
>cc:
>Fax to:
>Subject:Re: jndi versus database connection pooling
>
>
> >>"Mark Muffett" <[EMAIL PROTECTED]> on 03/14/2002 04:18:13 AM
> >>The coding side seems to be well documented, and there have been
> >>several instances posted here, but (as far as I can see) we're all
> >>working in the dark with server.xml.  I've spent a lot of time trying
> >>to get database pooling to work with Postgresql, but I've failed and
> >>given up.  I'd be interested to know what database/tomcat configurations
> >>anyone has got to work - with some sample server.xml fragments if
> >>possible.
>
>Thank goodness it's not just me. I was starting to feel very stupid.
>
> >From: [EMAIL PROTECTED]
> >Hi, here is an example.
> >
> >Server.xml
> >
> > >  reloadable="true" crossContext="true">
> >>="javax.sql.DataSource"/>
> >
> >  driverClassName
> >   COM.ibm.db2.jdbc.net.DB2Driver
> > driverName
> >   jdbc:db2://URL/DATABASENAME
> > userUSERNAME
> > passwordPASSWORD
> > maxPoolSize2
> > loginTimeout10
> >
> >   
> >
>
>I did something similar in server.xml and Tomcat has not complained yet.
>
>This is mine for mysql
>
>
>
>
>
>   
> user
> 
>   
>   
> password
> 
>   
>   
> driverClassName
> org.gjt.mm.mysql.Driver
>   
>   
> driverName
> jdbc:mysql://url/databasename
>   
>
>
>
> >web.xml
> >
> >
> >   jdbc/creditel
> >   javax.sql.DataSource
> >   Container
> >
>
>My web.xml has more in it.
>
>
> 
> myServlet
> myServlet
> 
> 
> myServlet
> /myServlet
> 
>  
>
>  Resource reference to a factory for java.sql.Connection
>  instances that may be used for talking to a particular
>  database that is configured in the server.xml file.
>
>
>  jdbc/mydb
>
>  javax.sql.DataSource
>  Container
>  
>
>
>But when I start Tomcat it gives me this error
>
>Apache Tomcat/4.0
>PARSE error at line 29 column -1
>org.xml.sax.SAXParseException: Element "resource-ref" does not allow
>"resource-ref-name" here.
>
>Which is very strange because I just followed the examples in the JNDI
>howto.
>
>Soefara.


_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>




Re: jndi versus database connection pooling

2002-03-14 Thread Soefara Redzuan


>>"Mark Muffett" <[EMAIL PROTECTED]> on 03/14/2002 04:18:13 AM
>>The coding side seems to be well documented, and there have been
>>several instances posted here, but (as far as I can see) we're all
>>working in the dark with server.xml.  I've spent a lot of time trying
>>to get database pooling to work with Postgresql, but I've failed and
>>given up.  I'd be interested to know what database/tomcat configurations 
>>anyone has got to work - with some sample server.xml fragments if 
>>possible.

Thank goodness it's not just me. I was starting to feel very stupid.

>From: [EMAIL PROTECTED]
>Hi, here is an example.
>
>Server.xml
>
>  reloadable="true" crossContext="true">
>   ="javax.sql.DataSource"/>
>
>  driverClassName
>   COM.ibm.db2.jdbc.net.DB2Driver
> driverName
>   jdbc:db2://URL/DATABASENAME
> userUSERNAME
> passwordPASSWORD
> maxPoolSize2
> loginTimeout10
>
>   
>

I did something similar in server.xml and Tomcat has not complained yet.

This is mine for mysql





  
user

  
  
password

  
  
driverClassName
org.gjt.mm.mysql.Driver
  
  
driverName
jdbc:mysql://url/databasename
  



>web.xml
>
>
>   jdbc/creditel
>   javax.sql.DataSource
>   Container
>

My web.xml has more in it.



myServlet
myServlet


myServlet
/myServlet


  
Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.
  
  
jdbc/mydb
  
javax.sql.DataSource
Container



But when I start Tomcat it gives me this error

Apache Tomcat/4.0
PARSE error at line 29 column -1
org.xml.sax.SAXParseException: Element "resource-ref" does not allow 
"resource-ref-name" here.

Which is very strange because I just followed the examples in the JNDI 
howto.

Soefara.

_
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




what is intermixed ? Re: a better way to deploy servlets on tomcat ?

2002-03-14 Thread Soefara Redzuan

Are you referring to an alternative product to Tomcat or a particular 
configuration somewhere ?  It's not in my server.xml or web.xml and I can't 
find a mention of it on the Jakarta website.

Soefara


>From: [EMAIL PROTECTED]
>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>To: "Tomcat Users List" <[EMAIL PROTECTED]>
>Subject: Re: a better way to deploy servlets on tomcat ?
>Date: Thu, 14 Mar 2002 08:39:21 -0600
>
>
>see intermixed.
>
>
>
>
>"Soefara Redzuan" <[EMAIL PROTECTED]> on 03/14/2002 12:26:08 AM
>
>Please respond to "Tomcat Users List" <[EMAIL PROTECTED]>
>
>To:   [EMAIL PROTECTED]
>cc:
>
>Subject:  a better way to deploy servlets on tomcat ?
>
>Sorry for another question but is there an easier way to load servlets into
>
>Tomcat than the following process which I'm using now.
>
>First, I write my servlet .java file for example in
>webapps//WEB-INF/classes/myservlet.java
>
>Second, I compile it.
>
>Third, I add the servlet and servlet mapping to
>webapps//WEB-INF/web.xml
>
>
> 
> testServlet
> testServlet
> 
> 
> 
> testServlet
> 
> 
> /testServlet
> 
> 
>
>
>Finally, I restart Tomcat.
>
>Do I really have to add each servlet and its servlet mapping to web.xml or
>is there a way to have all servlets automatically detected and served by
>Tomcat ?
>You typically could live without the need to add a mapping for each servlet
>that you write. But if you wish to do some advanced stuff such as loading
>the servlet when Tomcat starts, or you need to access the servlet by
>another name rather than say
>http:servlet/testServlet, or suppose your
>servlet needs init parameters, then it's a good idea to create a web.xml
>(deployment descriptor). There are other uses for a web.xml. Check the
>servlet spec. See Deployment Descriptor section.
>
>
>   Plus is there anyway to avoid the restarting of Tomcat ?
>
>The reloadable=true attribute serves the purpose of reloading the web
>application whenever tomcat detects a change (although the documentation
>doesn't recommend once you have deployed your applications). The manager
>web app can be used also to restart/install/stop/etc. a particular web
>application without restarting Tomcat. See
>http://localhost:8080/tomcat-docs/config/context.html
>
>
>Thank you again, Soefara
>
>
>_
>MSN Photos is the easiest way to share and print your photos:
>http://photos.msn.com/support/worldwide.aspx
>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>
>
>
>
>
>
>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>


_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>




a better way to deploy servlets on tomcat ?

2002-03-13 Thread Soefara Redzuan

Sorry for another question but is there an easier way to load servlets into 
Tomcat than the following process which I'm using now.

First, I write my servlet .java file for example in
webapps//WEB-INF/classes/myservlet.java

Second, I compile it.

Third, I add the servlet and servlet mapping to
webapps//WEB-INF/web.xml



testServlet
testServlet



testServlet


/testServlet




Finally, I restart Tomcat.

Do I really have to add each servlet and its servlet mapping to web.xml or 
is there a way to have all servlets automatically detected and served by 
Tomcat ?  Plus is there anyway to avoid the restarting of Tomcat ?

Thank you again, Soefara


_
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe:   
For additional commands: 
Troubles with the list: 




jndi versus database connection pooling

2002-03-13 Thread Soefara Redzuan

I am getting very confused. Is JDNI Tomcat's own builtin database pool 
manager or must I still use a database conncetion pool manager such as the 
one at www.javaexchange.com ?

Really I would love to have the database connection URL and 
username/password outside of my JSPs and in one place so JNDI looks best. 
But I'd also like to use database connection pooling within my JSPs and 
Servlets.  How are people doing this with mysql ?

Thank you, Soefara

_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.


--
To unsubscribe:   
For additional commands: 
Troubles with the list: