DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=40509>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=40509

           Summary: Jasper strips off the host part of the file name
           Product: Tomcat 5
           Version: 5.0.24
          Platform: PC
        OS/Version: Windows 2000
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


We are running a web application inside a Tomcat servlet container. Our 
environment contains a web server machine (SA94) and a file server machine 
(SA96).The web application runs as windows service on the Web server machine 
(SA94) pointing to the files on the file server (SA96). SA96 exports the root 
of the file store as share \\SA96\F$\test

After deploying the application, when we try to access the application 
following error is shown:

type Exception report message description 
The server encountered an internal error () that prevented it from fulfilling 
this request. 
exception 
org.apache.jasper.JasperException: Unable to compile class for JSP 
org.apache.jasper.JspCompilationContext.compil(JspCompilationContext.java:515) 
org.apache.jasper.servlet.JspServletWrapper.servic(JspServletWrapper.java:274) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 

root cause 
java.io.FileNotFoundException: 
\F$\test\subs\IGUI\tomcat\work\Catalina\localhost\i3s\org\apache\jsp\index_jsp.
java (The system cannot find the path specified) 
java.io.FileOutputStream.open(Native Method) 
java.io.FileOutputStream.<init>(Unknown Source) 
java.io.FileOutputStream.<init>(Unknown Source) 
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:188) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:422) 
org.apache.jasper.JspCompilationContext.compil(JspCompilationContext.java:507) 
org.apache.jasper.servlet.JspServletWrapper.servic(JspServletWrapper.java:274) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 

note The full stack trace of the root cause is available in the 
Apache Tomcat/5.0.24 logs. 

and it is justifiable because the path does not exist: 
\F$\test\subs\IGUI\tomcat\work\Catalina\localhost\i3s\org\apache\jsp\index_jsp.
java 
it is correct up to 
\F$\test\subs\IGUI\tomcat\work\Catalina\localhost\i3s\

We spent some hours trying to track down the problem and are now suspecting 
that we are seeing a bug/restriction in Jasper. When building the path for the 
directory it uses for compiling jsp pages, it strips off the host part of the 
file name (actually a file URL). On Unix this would be no problem as remote 
file systems are mounted/linked to file names indistinguishable from ordinary 
names, but for the Windows way of referencing remote file systems this is bad. 

Here is the culprit code from the createOutputDir method of 
 org.apache.jasper.JspCompilationContext.java: 
 
baseUrl = options.getScratchDir().toURL(); 
String outUrlString = baseUrl.toString() + '/' + path; 
URL outUrl = new URL(outUrlString); 
outputDir = outUrl.getFile() + File.separator;

Our current workaround is to run the service on the same machine where its 
files are.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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

Reply via email to