tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Kjome <>
Subject Re[4]: Quick Question
Date Tue, 13 Aug 2002 16:09:43 GMT

If the file exists in the same package as the Bean, then just do:

    Properties props = new Properties();
    try {
        InputStream propsStream = this.getClass().getResourceAsStream("config.txt");
        if (propsStream != null) {
    } catch (IOException e) {
        System.err.println("Caught IOException: " + e.getMessage());

When you use
you run the risk of finding a file with the same name somewhere earlier
in the classpath, although it should have been able to find your file
when one of the same name did not exist in $CATALINA_HOME/bin.

Tuesday, August 13, 2002, 10:54:15 AM, you wrote:

TLC> My bean is WEB-INF/classes....

TLC> Jacob Kjome <>
TLC> 13/08/2002 10:43 a.m.
TLC> Please respond to Tomcat Users List

TLC>         To:     Tomcat Users List <>
TLC>         cc: 
TLC>         Subject:        Re[2]: Quick Question


TLC> Where does your Bean exist?  Is it in one of Tomcat's classloaders, or
TLC> is it running out the WEB-INF/classes or WEB-INF/lib folder of your
TLC> webapp.  I'm geussing the it is in one of Tomcat's classloaders
TLC> meaning $CATALINA_HOME/common/lib, server/lib, or lib (shared/lib in
TLC> Tomcat-4.1.x).

TLC> Those classloaders can't see the individual webapp classloaders.
TLC> However, libraries in your webapp *can* see Tomcat's plublic
TLC> classloaders (all bug server/lib, server/classes).

TLC> You may have to rearrange the location of your libraries.

TLC> Jake

TLC> Tuesday, August 13, 2002, 9:29:19 AM, you wrote:

TLC>> Hi all,

TLC>> I'm trying to resolve this problem with all the solutions that you 
TLC> gave 
TLC>> me,  but it doesn't work...
TLC>> This is what I did:

TLC>> in my java bean (not a servlet), I have this code:

TLC>> public class DbBean {
TLC>>    public  int Connect()  {
TLC>>    InputStream is = 
TLC> Thread.currentThread().getContextClassLoader().getResourceAsStream("config.txt");
TLC>>         if (is == null) {
TLC>>                 return 0;
TLC>>         }
TLC>>         else {
TLC>>                 return 1;
TLC>>         }
TLC>> }

TLC>> then in my jsp, I called this method, and then I write the value (0 
TLC> or 
TLC>> 1)..

TLC>> The txt file is in "WEB-INF/classes/beans...", because "DbBean" is in 
TLC> a 
TLC>> package called "beans", and I start tomcat from TOMCAT_HOME/bin..
TLC>> When I load the jsp, the method Connect of the DbBean (java bean) 
TLC> returned 
TLC>> 0, which means the InputStream is null, but if I put the txt file in
TLC>> TOMCAT_HOME/bin, I had no problem...., the method returned 1....  why 
TLC> is 
TLC>> that??.. I'm using Tomcat 3.2
TLC>> Do I need to set something else in Tomcat??....

TLC>> thanks again
TLC>> Alex Tomita

TLC>> "Drinkwater, GJ (Glen)" <>
TLC>> 13/08/2002 08:11 a.m.
TLC>> Please respond to Tomcat Users List

TLC>>         To:     Tomcat Users List <>
TLC>>         cc: 
TLC>>         Subject:        RE: Quick Question

TLC>> tomcats default directory is where ever you called the 

TLC>> file.
TLC>> So if you dont use another script to call the file 
TLC> tomcats
TLC>> default will be the bin directory.

TLC>> Use this code to find the directory where WEB-INF is.  Then you can 
TLC>> traverse
TLC>> your directory structure from there. 

TLC>> //get context path
TLC>>     ServletConfig scon = null ;
TLC>>     String workingDir = null;
TLC>>     public void init(ServletConfig config) {
TLC>>         scon = config ;
TLC>>      }
TLC>>  public void doPost(HttpServletRequest request, HttpServletResponse
TLC>> response)
TLC>>     throws ServletException, IOException {
TLC>>         //get working dir
TLC>>         ServletContext sc = scon.getServletContext();
TLC>>         workingDir = sc.getRealPath("");

TLC>> --
TLC>> To unsubscribe, e-mail:   <>
TLC>> For additional commands, e-mail: <>

Best regards,

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

View raw message