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]



Reply via email to