tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From benjamin.cas...@netcourrier.com
Subject Problem with embedded Tomcat and JSP compilation.
Date Thu, 08 Jan 2004 08:43:59 GMT
Hi,

I wrote an application running an embedded Tomcat, based on the sample code of the onJava
site (an org.apache.catalina.startup.Embedded class with manual configuration of things usually
found in server.xml). I use Tomcat 4.1.27 and Java 1.3.1.
Tomcat starts well, but is not able to compile JSP page. It displays the following error:

<code>
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 4 in the jsp file: /index.jsp

Generated servlet error:
    [javac] Compiling 1 source file


C:\test\tomcat\work\_\localhost\_\index_jsp.java:3: package javax.servlet does not exist
import javax.servlet.*;
^
...
</code>

and so on for all import statements. It looks like a classpath problem, but I set the classpath
with all the jar files in tomcat/common/lib, in tomcat/server/lib, in tomcat/common/endorsed,
bootstrap.jar, the tools.jar of java. I set it in the environment CLASSPATH variable and in
the classpath of the jar of my application. And the classpath is set, because if not, Tomcat
cannot be launched.

So I probably missed something, but what?


Below you can see the code of my class and the code of the main function:

<code of class EmbeddedTomcat>
import org.apache.catalina.Connector;
import org.apache.catalina.Context;
import org.apache.catalina.Deployer;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.logger.SystemOutLogger;
import org.apache.catalina.startup.Embedded;
import org.apache.catalina.Container;

public class EmbeddedTomcat
{
    private String path = null;
    private Embedded embedded = null;
    private Host host = null;
    
    public EmbeddedTomcat()
    {
    }
    
    public void setPath( String path)
    {
        this.path = path;
    }
    
    public String getPath()
    {
        return( path);
    }
    
    public void startTomcat() throws Exception
    {
        Engine engine = null;
        Context context = null;
        
        System.setProperty( "catalina.home", getPath());
        System.setProperty( "catalina.base", getPath());

        embedded = new Embedded();
        embedded.setDebug( 0);
        embedded.setLogger( new SystemOutLogger());
        
        engine = embedded.createEngine();
        engine.setDefaultHost( "localhost");
        
        host = embedded.createHost( "localhost", "webapps");
        engine.addChild( host);
        
        context = embedded.createContext( "", "c:/test/root");
        host.addChild( context);
        
        embedded.addEngine( engine);
        
        Connector connector = embedded.createConnector( null, 8080, false);
        embedded.addConnector( connector);
        
        embedded.start();
    }

    public void stopTomcat() throws Exception
    {
        embedded.stop();
    }
}
</code>

<code in main function of my application>
    EmbeddedTomcat tomcat = new EmbeddedTomcat();
    tomcat.setPath( m_config.getString( "tomcat.home"));
    try
    {
        tomcat.startTomcat();
    }
    catch( Exception error)
    {
        logger.fatal( "Unable to start tomcat.", error);
        return;
    }
</code>

-------------------------------------------------------------
NetCourrier, votre bureau virtuel sur Internet : Mail, Agenda, Clubs, Toolbar...
Web/Wap : www.netcourrier.com
Téléphone/Fax : 08 92 69 00 21 (0,34 € TTC/min)
Minitel: 3615 NETCOURRIER (0,16 € TTC/min)


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message