Re: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Endre Stølsvik
On Thu, 12 Aug 2004, Jacob Kjome wrote:

| To get the context path at init time, try this

Thanks..! Good to see that others (log4j!!) have this problem!
  However, I have been thinking along these lines (the second idea
presented) already, but it then again boils down to that you really cannot
assume anything about what environment you're within. See, typically in
the development environements we use, the dirname of the webapp have
nothing in common with the mount name (you specify that in the tomcat
server config file, or these other xml-snippets outside of the file) -
thus I'm back to the starting point: no knowledge!

If only the SerlvetContext object would be so nice as to have a simple
method getContextPath(), we'd all be happy!

Endre


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



RE: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Shapira, Yoav
Hi,
No, not all of us will be happy.  And it's not simple.

Yoav Shapira
Millennium Research Informatics


-Original Message-
From: Endre Stølsvik [mailto:[EMAIL PROTECTED]
Sent: Friday, August 13, 2004 5:27 AM
To: Tomcat Users List
Subject: Re: SOLVED: How to get the context path for a web application?

On Thu, 12 Aug 2004, Jacob Kjome wrote:

| To get the context path at init time, try this

Thanks..! Good to see that others (log4j!!) have this problem!
  However, I have been thinking along these lines (the second idea
presented) already, but it then again boils down to that you really cannot
assume anything about what environment you're within. See, typically in
the development environements we use, the dirname of the webapp have
nothing in common with the mount name (you specify that in the tomcat
server config file, or these other xml-snippets outside of the file) -
thus I'm back to the starting point: no knowledge!

If only the SerlvetContext object would be so nice as to have a simple
method getContextPath(), we'd all be happy!

Endre


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


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



RE: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Shapira, Yoav
Hi,
And of course, since you can get the source for JSR154, there's nothing preventing you 
from adding this method and running with a custom servlet jar in your container.  
(It's at http://cvs.apache.org/viewcvs.cgi/jakarta-servletapi-5/jsr154/, complete with 
a build file).

Yoav Shapira
Millennium Research Informatics


-Original Message-
From: Endre Stølsvik [mailto:[EMAIL PROTECTED]
Sent: Friday, August 13, 2004 5:27 AM
To: Tomcat Users List
Subject: Re: SOLVED: How to get the context path for a web application?

On Thu, 12 Aug 2004, Jacob Kjome wrote:

| To get the context path at init time, try this

Thanks..! Good to see that others (log4j!!) have this problem!
  However, I have been thinking along these lines (the second idea
presented) already, but it then again boils down to that you really cannot
assume anything about what environment you're within. See, typically in
the development environements we use, the dirname of the webapp have
nothing in common with the mount name (you specify that in the tomcat
server config file, or these other xml-snippets outside of the file) -
thus I'm back to the starting point: no knowledge!

If only the SerlvetContext object would be so nice as to have a simple
method getContextPath(), we'd all be happy!

Endre


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


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



RE: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Endre Stølsvik
On Fri, 13 Aug 2004, Shapira, Yoav wrote:

| Hi,
| And of course, since you can get the source for JSR154, there's nothing
| preventing you from adding this method and running with a custom servlet
| jar in your container.  (It's at
| http://cvs.apache.org/viewcvs.cgi/jakarta-servletapi-5/jsr154/, complete
| with a build file).

Hehe! Forking the JSR, that'd be a little hefty, don't you think? ;)
  Ask customers to dig up the servlet.jar from their chosen Servlet
Container, replace it with this special one, binary-patch the potentially
obfuscated class-files to implement this method, and -then- deploy the
application. Yeah, why not..!

I think I'd rather use one of the hacks suggested here, or simply
configure it in web.xml or similar, as you already suggested.

But, why wouldn't all be happy? And why isn't it simple?

Endre


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



Re: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Ben Souther
Per the servlet spec, a j2ee app isn't required to have an app path.
The entire war file can be deployed remotely and run without ever being 
unpacked. In a case like that, there would be no path to the application.



On Friday 13 August 2004 10:01 am, Endre Stølsvik wrote:
 But, why wouldn't all be happy? And why isn't it simple?

-- 
Ben Souther
F.W. Davison  Company, Inc.


This e-mail message, and any accompanying documents, is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information.  Any unauthorized review, use, disclosure, distribution or
copying is prohibited.  If you are not the intended recipient, please
contact our office by email or by telephone at (508) 747-7261 and
immediately destroy all copies of the original message.

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



RE: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Shapira, Yoav
Hi,
Don't even bother continuing this thread, it's pointless.  Please address all 
Spec-related questions and comments to the Expert Group.  That's why they exist.  Some 
people just want to debate things forever and feel like their own use-cases have to be 
global just because...

Yoav Shapira
Millennium Research Informatics


-Original Message-
From: Ben Souther [mailto:[EMAIL PROTECTED]
Sent: Friday, August 13, 2004 10:12 AM
To: Tomcat Users List
Subject: Re: SOLVED: How to get the context path for a web application?

Per the servlet spec, a j2ee app isn't required to have an app path.
The entire war file can be deployed remotely and run without ever being
unpacked. In a case like that, there would be no path to the application.



On Friday 13 August 2004 10:01 am, Endre Stølsvik wrote:
 But, why wouldn't all be happy? And why isn't it simple?

--
Ben Souther
F.W. Davison  Company, Inc.


This e-mail message, and any accompanying documents, is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information.  Any unauthorized review, use, disclosure, distribution or
copying is prohibited.  If you are not the intended recipient, please
contact our office by email or by telephone at (508) 747-7261 and
immediately destroy all copies of the original message.

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


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



RE: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Mike Curwen
I'm never sure why smart people get this confused.
 
ContextPath... has nothing whatsoever to do with  running in a WAR, from a
database, or exploded from a file system.

For simple little things that an application might want to do like, oh, I
don't know... reminder emails that might contain a link to the webapp in
question.  At that point, there is no request, since this is probably a
scheduled occurrence. I suppose rather than use a scheduler, I could use
cron and wget to hit a URL, in which case, voila, I'd have a
HttpServletRequest. But wouldn't it be great if you could do
application.getContextPath()?  
 
But alas, the expert group feels the answer is 'no'. Fine, whatever.

It seems ridiculous that the application should not know anything about who
it is, or under what URL/I I'm running or however you want to think of
it, until an HttpRequest arrives on the scene. 

I just couldn't let it pass without pointing out that the one (contextPath)
has nothing to do with the reasons that are normally cited for its exclusion
from anything but HttpServletRequest.


 -Original Message-
 From: Ben Souther [mailto:[EMAIL PROTECTED] 
 Sent: Friday, August 13, 2004 9:12 AM
 To: Tomcat Users List
 Subject: Re: SOLVED: How to get the context path for a web 
 application?
 
 
 Per the servlet spec, a j2ee app isn't required to have an 
 app path. The entire war file can be deployed remotely and 
 run without ever being 
 unpacked. In a case like that, there would be no path to the 
 application.
 


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



Re: SOLVED: How to get the context path for a web application?

2004-08-13 Thread David Wall
contextPath = path.substring(0, path.lastIndexOf(/));
contextPath = contextPath.substring(contextPath.lastIndexOf(/) +
1);

This looks like a reasonable hack, but isn't it true that the filesystem
path and the context path don't have to match?  For example, I can map  to
/webapps/ROOT can't I?  Or map /myapp to /webapps/somethingelse?

David


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



Re: SOLVED: How to get the context path for a web application?

2004-08-13 Thread Jacob Kjome
Quoting David Wall [EMAIL PROTECTED]:

 contextPath = path.substring(0, path.lastIndexOf(/));
 contextPath = contextPath.substring(contextPath.lastIndexOf(/) +
 1);
 
 This looks like a reasonable hack, but isn't it true that the filesystem
 path and the context path don't have to match?  For example, I can map  to
 /webapps/ROOT can't I?  Or map /myapp to /webapps/somethingelse?
 
 David

The path returned by context.getResource(/) has nothing whatsoever to do with
the file system.  By your logic, my app located at
C:\apps\myappbuld\target\war, using said method above, would end up with the
value war.  Yet, it ends up with whatever I set the path to in my context
configuration file.

If you want to continue to challenge this, do the test yourself.  If you find
something different than what I describe, let me know.


Jake

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



Re: SOLVED: How to get the context path for a web application?

2004-08-12 Thread Endre Stølsvik
On Wed, 11 Aug 2004, David Wall wrote:

|  The cause for some of these specs is the fact servlet containers aren't
|  required to run on file systems.  For example, they may run entirely
|  inside a DBMS (and Oracle had such a container for a while), in which
|  case you must deploy in a packed WAR and the subset under a server's
|  URL name space is not a hard-drive path.

I do know this.

|
| Nobody cares if this maps to a file system or not.

Totally agree - it has nothing at all with filesystem, or whether the
webapp is stored on a read-only stone-tablet - I want to know what subset
of the webserver's URL namespace I'm mounted beneath, at init time. What
I'll do with that information is my business!
  As this is a static element; the webapp is, -per definition- (The
javadoc snippet) mounted beneath a subset of the URL namespace; there is
no reason I can fathom why this shouldn't be made available to us coders
that are making webapps, at init time. The point is that the webapp won't
change mount point from request to request, will it? So the web
container must know at init-time which sub-space it will mount the webapp
under.. Just please make that information available then, at init time!

IMO, that is.

 ( -My- use-case is, as mentioned, that I want to make it easy for
developers to override some (development-)settings of the framework. In
the webapp I'll check whether it is possible to do file-system access and
System-property-getting, and if so, then check for and read the files
$userdir/devel/develconfig.xml, and then
$userdir/devel/webappname/develconfig.xml.  It if it is not possible,
then I won't do that, and assume that I am in a production environment or
something. )

I'd just love to see this extra method added.

Endre.


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



Re: SOLVED: How to get the context path for a web application?

2004-08-12 Thread Jacob Kjome
To get the context path at init time, try this
from:
http://cvs.apache.org/viewcvs.cgi/logging-log4j-sandbox/src/java/org/apache/log4j/servlet/InitShutdownController.java
/**
   * Retrieves the context path of the web application from the servlet 
context.
   *
   * @param context the current servlet context
   * @return the derived context path, guaranteed non-null
   */
  private static String getContextPath(final ServletContext context) {
//old way to determine context path
//String tempdir =  +
//context.getAttribute(javax.servlet.context.tempdir);
//int lastSlash = tempdir.lastIndexOf(File.separator);
//if ((tempdir.length() - 1)  lastSlash) {
//  logHomePropName = tempdir.substring(lastSlash + 1) + .log.home;
//}
String contextPath = ;

try {
  //use a more standard way to obtain the context path name
  //which should work across all servers. The tmpdir technique
  //(above) depends upon the naming scheme that Tomcat uses.
  String path = context.getResource(/).getPath();
  //first remove trailing slash, then take what's left over
  //which should be the context path less the preceeding
  //slash such as MyContext
  contextPath = path.substring(0, path.lastIndexOf(/));
  contextPath = contextPath.substring(contextPath.lastIndexOf(/) + 1);
} catch (Exception e) {
  ;
}
return contextPath;
  }
Jake
At 10:28 AM 8/12/2004 +0200, you wrote:
On Wed, 11 Aug 2004, David Wall wrote:
|  The cause for some of these specs is the fact servlet containers aren't
|  required to run on file systems.  For example, they may run entirely
|  inside a DBMS (and Oracle had such a container for a while), in which
|  case you must deploy in a packed WAR and the subset under a server's
|  URL name space is not a hard-drive path.
I do know this.
|
| Nobody cares if this maps to a file system or not.
Totally agree - it has nothing at all with filesystem, or whether the
webapp is stored on a read-only stone-tablet - I want to know what subset
of the webserver's URL namespace I'm mounted beneath, at init time. What
I'll do with that information is my business!
  As this is a static element; the webapp is, -per definition- (The
javadoc snippet) mounted beneath a subset of the URL namespace; there is
no reason I can fathom why this shouldn't be made available to us coders
that are making webapps, at init time. The point is that the webapp won't
change mount point from request to request, will it? So the web
container must know at init-time which sub-space it will mount the webapp
under.. Just please make that information available then, at init time!
IMO, that is.
 ( -My- use-case is, as mentioned, that I want to make it easy for
developers to override some (development-)settings of the framework. In
the webapp I'll check whether it is possible to do file-system access and
System-property-getting, and if so, then check for and read the files
$userdir/devel/develconfig.xml, and then
$userdir/devel/webappname/develconfig.xml.  It if it is not possible,
then I won't do that, and assume that I am in a production environment or
something. )
I'd just love to see this extra method added.
Endre.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


Re: SOLVED: How to get the context path for a web application?

2004-08-12 Thread Rajesh
hai
use
request.getContextPath()
Rajesh
Jacob Kjome wrote:
To get the context path at init time, try this
from:
http://cvs.apache.org/viewcvs.cgi/logging-log4j-sandbox/src/java/org/apache/log4j/servlet/InitShutdownController.java 

/**
   * Retrieves the context path of the web application from the 
servlet context.
   *
   * @param context the current servlet context
   * @return the derived context path, guaranteed non-null
   */
  private static String getContextPath(final ServletContext context) {
//old way to determine context path
//String tempdir =  +
//context.getAttribute(javax.servlet.context.tempdir);
//int lastSlash = tempdir.lastIndexOf(File.separator);
//if ((tempdir.length() - 1)  lastSlash) {
//  logHomePropName = tempdir.substring(lastSlash + 1) + .log.home;
//}
String contextPath = ;

try {
  //use a more standard way to obtain the context path name
  //which should work across all servers. The tmpdir technique
  //(above) depends upon the naming scheme that Tomcat uses.
  String path = context.getResource(/).getPath();
  //first remove trailing slash, then take what's left over
  //which should be the context path less the preceeding
  //slash such as MyContext
  contextPath = path.substring(0, path.lastIndexOf(/));
  contextPath = contextPath.substring(contextPath.lastIndexOf(/) 
+ 1);
} catch (Exception e) {
  ;
}

return contextPath;
  }
Jake
At 10:28 AM 8/12/2004 +0200, you wrote:
On Wed, 11 Aug 2004, David Wall wrote:
|  The cause for some of these specs is the fact servlet containers 
aren't
|  required to run on file systems.  For example, they may run entirely
|  inside a DBMS (and Oracle had such a container for a while), in 
which
|  case you must deploy in a packed WAR and the subset under a server's
|  URL name space is not a hard-drive path.

I do know this.
|
| Nobody cares if this maps to a file system or not.
Totally agree - it has nothing at all with filesystem, or whether the
webapp is stored on a read-only stone-tablet - I want to know what 
subset
of the webserver's URL namespace I'm mounted beneath, at init time. 
What
I'll do with that information is my business!
  As this is a static element; the webapp is, -per definition- (The
javadoc snippet) mounted beneath a subset of the URL namespace; 
there is
no reason I can fathom why this shouldn't be made available to us 
coders
that are making webapps, at init time. The point is that the webapp 
won't
change mount point from request to request, will it? So the web
container must know at init-time which sub-space it will mount the 
webapp
under.. Just please make that information available then, at init time!



IMO, that is.
 ( -My- use-case is, as mentioned, that I want to make it easy for
developers to override some (development-)settings of the framework. In
the webapp I'll check whether it is possible to do file-system access 
and
System-property-getting, and if so, then check for and read the files
$userdir/devel/develconfig.xml, and then
$userdir/devel/webappname/develconfig.xml.  It if it is not possible,
then I won't do that, and assume that I am in a production 
environment or
something. )

I'd just love to see this extra method added.
Endre.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


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


RE: SOLVED: How to get the context path for a web application?

2004-08-12 Thread Mike Curwen
OHH!!.  How could we be so stupid???

RTFT! (that last 'T' would be 'thread')

 -Original Message-
 From: Rajesh [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, August 12, 2004 8:47 AM
 To: Tomcat Users List
 Subject: Re: SOLVED: How to get the context path for a web 
 application?
 
 
 hai
 
 
 use
 
 request.getContextPath()
 
 Rajesh
 


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



RE: SOLVED: How to get the context path for a web application?

2004-08-11 Thread Endre Stølsvik
On Tue, 10 Aug 2004, Shapira, Yoav wrote:

|
| Hi,
|
| Agreed, but my follow-up question was if there was such a call to be
| done
| using a ServletContext/ServletConfig object so that you can get the
| context
| path in initialization servlets, etc., before a request comes in.
|
| No, and an archive search would reveal past discussions around this
| issue (though none recently).   Webapps are supposed to be independent
| of their server configuration including with regards to context path,
| and so the Servlet Spec actively discourages you from doing webapp
| initialization or configuration based on such data.  A lot of people
| debated for a long time what does and doesn't go into the
| ServletContext/ServletConfig objects as opposed to Request/Response
| objects.

I'm jumping in on this thread, since I just had the same problem: I wanted
to do some initing for developers on a particular setup, where I wanted to
be able to override init (development-)settings per user per webapp w/o
messing with any webapp-specific config files. Per user is OK, but per
webapp is impossible.

Look at this snippet from servlet JavaDocs..:

[ http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletContext.html ]

There is one context per web application per Java Virtual Machine.
(A web application is a collection of servlets and content installed
under a specific subset of the server's URL namespace such as /catalog and
possibly installed via a .war file.)  

Thus, there is a -clear- notion of a Webapp living under a specific
subset of the server's URL namespace. What is that subset, please?

I find it very non-coherent and non-consistent that you can get this on a
request, but not on startup. Now, why is that? The argument about
supposed to be independent doesn't do it for me: This independence isn't
more enforced by -taking away- the information that you nonetheless have
to, and are, given on a request. And it encourages, as you state in a
later mail, folks to duplicate information in config files, e.g. web.xml -
and at that point you most definately have ripped the independence of the
webapp to small pieces.


If anyone here will be on the next Servlet EG, then please ask these
questions again! I'm informed that this has had its fair share of
discussion before - but please either remove that JavaDoc, or -gimme the
information- via the ServletContext object!

Endre.


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



RE: SOLVED: How to get the context path for a web application?

2004-08-11 Thread Shapira, Yoav
Hi,
Several Tomcat committers are in touch (and for that matter, personally know) several 
members of the Servlet Expert Group.

The cause for some of these specs is the fact servlet containers aren't required to 
run on file systems.  For example, they may run entirely inside a DBMS (and Oracle had 
such a container for a while), in which case you must deploy in a packed WAR and the 
subset under a server's URL name space is not a hard-drive path.  But then again, I'm 
not going to bother discussing this again, it's been done enough in the past.  If you 
want to change the Spec, contact the expert group yourself, and I'm sure they'll weigh 
your concerns seriously.

Yoav Shapira
Millennium Research Informatics


-Original Message-
From: Endre Stølsvik [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 11, 2004 5:25 AM
To: Tomcat Users List
Cc: David Wall
Subject: RE: SOLVED: How to get the context path for a web application?

On Tue, 10 Aug 2004, Shapira, Yoav wrote:

|
| Hi,
|
| Agreed, but my follow-up question was if there was such a call to be
| done
| using a ServletContext/ServletConfig object so that you can get the
| context
| path in initialization servlets, etc., before a request comes in.
|
| No, and an archive search would reveal past discussions around this
| issue (though none recently).   Webapps are supposed to be independent
| of their server configuration including with regards to context path,
| and so the Servlet Spec actively discourages you from doing webapp
| initialization or configuration based on such data.  A lot of people
| debated for a long time what does and doesn't go into the
| ServletContext/ServletConfig objects as opposed to Request/Response
| objects.

I'm jumping in on this thread, since I just had the same problem: I wanted
to do some initing for developers on a particular setup, where I wanted to
be able to override init (development-)settings per user per webapp w/o
messing with any webapp-specific config files. Per user is OK, but per
webapp is impossible.

Look at this snippet from servlet JavaDocs..:

[
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletContext.
html ]

There is one context per web application per Java Virtual Machine.
(A web application is a collection of servlets and content installed
under a specific subset of the server's URL namespace such as /catalog and
possibly installed via a .war file.)  

Thus, there is a -clear- notion of a Webapp living under a specific
subset of the server's URL namespace. What is that subset, please?

I find it very non-coherent and non-consistent that you can get this on a
request, but not on startup. Now, why is that? The argument about
supposed to be independent doesn't do it for me: This independence isn't
more enforced by -taking away- the information that you nonetheless have
to, and are, given on a request. And it encourages, as you state in a
later mail, folks to duplicate information in config files, e.g. web.xml -
and at that point you most definately have ripped the independence of the
webapp to small pieces.


If anyone here will be on the next Servlet EG, then please ask these
questions again! I'm informed that this has had its fair share of
discussion before - but please either remove that JavaDoc, or -gimme the
information- via the ServletContext object!

Endre.


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


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



Re: SOLVED: How to get the context path for a web application?

2004-08-11 Thread David Wall
 The cause for some of these specs is the fact servlet containers aren't
required to run on file systems.  For example, they may run entirely inside
a DBMS (and Oracle had such a container for a while), in which case you must
deploy in a packed WAR and the subset under a server's URL name space is not
a hard-drive path.

Nobody cares if this maps to a file system or not.  If your application
needs to create an URL that will take someone to a page on your site (let's
say it's the /login.jsp page), we need to be able to set the protocol,
domain, port and context path that will appear in front.

For example, we have lots of emails that go out with such links back to the
webapp, and today, we end up putting the complete URL in config files since
there's no easy way to set these up in an init type method.  That's just
too bad since the context path doesn't change from request to request.

David


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



Re: SOLVED: How to get the context path for a web application?

2004-08-10 Thread David Wall
 Someone on the list suggested Request.getContextPath() and it works like a
 charm. Thanks to all.

Agreed, but my follow-up question was if there was such a call to be done
using a ServletContext/ServletConfig object so that you can get the context
path in initialization servlets, etc., before a request comes in.

David


  A ServletConfig reference is passed in the call to the init() method of
  your
  servlet. From this you may use the getServletContext() method to get
the
  context. One thing to remember is that this does not get called until
the
  servlet is initialized and would be invalidated when it is destroyed. I
  suggest
  you check the API docs for more information.
 
  But do any of those return the context path?  I didn't see it anywhere
in
  the javadocs.


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



RE: SOLVED: How to get the context path for a web application?

2004-08-10 Thread Shapira, Yoav

Hi,

Agreed, but my follow-up question was if there was such a call to be
done
using a ServletContext/ServletConfig object so that you can get the
context
path in initialization servlets, etc., before a request comes in.

No, and an archive search would reveal past discussions around this
issue (though none recently).   Webapps are supposed to be independent
of their server configuration including with regards to context path,
and so the Servlet Spec actively discourages you from doing webapp
initialization or configuration based on such data.  A lot of people
debated for a long time what does and doesn't go into the
ServletContext/ServletConfig objects as opposed to Request/Response
objects.

Yoav



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



Re: SOLVED: How to get the context path for a web application?

2004-08-10 Thread David Wall
 No, and an archive search would reveal past discussions around this
 issue (though none recently).   Webapps are supposed to be independent
 of their server configuration including with regards to context path,
 and so the Servlet Spec actively discourages you from doing webapp
 initialization or configuration based on such data.  A lot of people
 debated for a long time what does and doesn't go into the
 ServletContext/ServletConfig objects as opposed to Request/Response
 objects.

True and it's mostly not a big issue.  However, is it possible for a
ServletContext to reference one context path and the Request objects to have
a different one?  Most webapps only operate under a single context path
(don't they?), so having it at initialization would be nice too.  Oh well...
With the path, I could build URLs for email and other logging info at
initialization that cannot be done dynamically without knowing the
host/port/contextpath.

David


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



Re: SOLVED: How to get the context path for a web application?

2004-08-10 Thread Milt Epstein
On Tue, 10 Aug 2004, David Wall wrote:

  No, and an archive search would reveal past discussions around this
  issue (though none recently).   Webapps are supposed to be independent
  of their server configuration including with regards to context path,
  and so the Servlet Spec actively discourages you from doing webapp
  initialization or configuration based on such data.  A lot of people
  debated for a long time what does and doesn't go into the
  ServletContext/ServletConfig objects as opposed to Request/Response
  objects.

 True and it's mostly not a big issue.  However, is it possible for a
 ServletContext to reference one context path and the Request objects to have
 a different one?  Most webapps only operate under a single context path
 (don't they?), so having it at initialization would be nice too.  Oh well...
 With the path, I could build URLs for email and other logging info at
 initialization that cannot be done dynamically without knowing the
 host/port/contextpath.

You could always pass it in yourself as a context variable (i.e.,
context init-param).  The problems then are that you're duplicating
data and reducing portability.

Milt Epstein
Research Programmer
Integration and Software Engineering (ISE)
Campus Information Technologies and Educational Services (CITES)
University of Illinois at Urbana-Champaign (UIUC)
[EMAIL PROTECTED]

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



RE: SOLVED: How to get the context path for a web application?

2004-08-10 Thread Robert Harper
If you set your container to start a pool of servlets when it starts, the init
should be called then. I'm not sure how to set Tomcat to start up a pool of
Keep alive servlets. You'll have to consult the docs for that. The init is
called when the servlet is instantiated and should be called before requests are
made if the servlet is started before request arrive. I have done this with
other servlet containers.

Robert S. Harper
801.265.8800 ex. 255

 -Original Message-
 From: David Wall [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, August 10, 2004 11:27 AM
 To: Tomcat Users List
 Subject: Re: SOLVED: How to get the context path for a web application?
 
  Someone on the list suggested Request.getContextPath() and it works like a
  charm. Thanks to all.
 
 Agreed, but my follow-up question was if there was such a call to be done
 using a ServletContext/ServletConfig object so that you can get the context
 path in initialization servlets, etc., before a request comes in.
 
 David
 
 
   A ServletConfig reference is passed in the call to the init() method of
   your
   servlet. From this you may use the getServletContext() method to get
 the
   context. One thing to remember is that this does not get called until
 the
   servlet is initialized and would be invalidated when it is destroyed. I
   suggest
   you check the API docs for more information.
  
   But do any of those return the context path?  I didn't see it anywhere
 in
   the javadocs.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 




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



RE: SOLVED: How to get the context path for a web application?

2004-08-10 Thread Shapira, Yoav

Hi,

True and it's mostly not a big issue.  However, is it possible for a
ServletContext to reference one context path and the Request objects to
have
a different one?  Most webapps only operate under a single context path
(don't they?), so having it at initialization would be nice too.  Oh
well...
With the path, I could build URLs for email and other logging info at
initialization that cannot be done dynamically without knowing the
host/port/contextpath.

All webapps operate under one context path: that's a one to one
relationship at the core of the Servlet Specification.

Note that one reason the ServletContext object does have a context path
is that the latter is an HTTP-specific concept.  (One has to be very
careful here as these terms are used interchangeably).  The
ServletContext and ServletConfig objects are explicitly
protocol-independent.  Specifically, what the ServletContext JavaDoc
calls uripath may or may not correspond to a path on the hard-drive
and in the Request#getContextPath method.

There's more to this but I have to run to a meeting ;)

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



RE: SOLVED: How to get the context path for a web application?

2004-08-10 Thread Aris Javier
that's me! =)
it's nice to be of service... 

welcome!

aris

-Original Message-
From: Dov Rosenberg [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 11, 2004 1:23 AM
To: Tomcat Users List
Subject: SOLVED: How to get the context path for a web application?


Someone on the list suggested Request.getContextPath() and it works like
a charm. Thanks to all.



On 8/10/04 1:06 PM, David Wall [EMAIL PROTECTED] wrote:

 A ServletConfig reference is passed in the call to the init() method 
 of
 your
 servlet. From this you may use the getServletContext() method to get 
 the context. One thing to remember is that this does not get called 
 until the servlet is initialized and would be invalidated when it is 
 destroyed. I
 suggest
 you check the API docs for more information.
 
 But do any of those return the context path?  I didn't see it anywhere

 in the javadocs.
 
 David
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-- 
Dov Rosenberg
Conviveon Corporation
http://www.conviveon.com


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


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



Re: SOLVED: How to get the context path for a web application?

2004-08-10 Thread Dov Rosenberg
Thanks again



On 8/10/04 7:52 PM, Aris Javier [EMAIL PROTECTED] wrote:

 that's me! =)
 it's nice to be of service...
 
 welcome!
 
 aris
 
 -Original Message-
 From: Dov Rosenberg [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, August 11, 2004 1:23 AM
 To: Tomcat Users List
 Subject: SOLVED: How to get the context path for a web application?
 
 
 Someone on the list suggested Request.getContextPath() and it works like
 a charm. Thanks to all.
 
 
 
 On 8/10/04 1:06 PM, David Wall [EMAIL PROTECTED] wrote:
 
 A ServletConfig reference is passed in the call to the init() method
 of
 your
 servlet. From this you may use the getServletContext() method to get
 the context. One thing to remember is that this does not get called
 until the servlet is initialized and would be invalidated when it is
 destroyed. I
 suggest
 you check the API docs for more information.
 
 But do any of those return the context path?  I didn't see it anywhere
 
 in the javadocs.
 
 David
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-- 
Dov Rosenberg
Conviveon Corporation
370 Centerpointe Circle, suite 1178
Altamonte Springs, FL 32701
http://www.conviveon.com
[EMAIL PROTECTED]
AOL IM: dovrosenberg
(407) 339-1177 x102
(407) 339-6704 (fax)
(800) 475-9890
(407) 310-8316 (cell)


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