Como sou péssimo em games, eu substituo esse tempo com algumas brincadeiras como essas daqui: Meu amigo Bruno Gregory de Brasília, tinha que carregar uma WAR dentro de uma classe Java! Como assim? É isso mesmo, via uma classe Java usando o Jetty você pode rodar um Web Container com todas as funcionalidades pertinentes ao mesmo.
O diferencial dessa aplicação é que sua(s) classe(s) devem ser o WebContainer, então questões de Classloaders por exemplo, devem ser tratadas pelas suas classes.
Além da classes do Jetty, você deve lembrar de por no classpath os jasperC (Compilador de JSPs), no caso de sua aplicação trabalhar com JSPs.
Veja a classe que executa um webcontainer diferetemente de digitar “catalina start” do TomCat
[java]
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.handler.DefaultHandler;
import org.mortbay.jetty.handler.HandlerCollection;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppClassLoader;
import org.mortbay.jetty.webapp.WebAppContext;
public class ContainerExecutor
{
public static void main(String[] args)
throws Exception
{
Server server = new Server();
Connector connector = new SelectChannelConnector();
connector.setPort(8080);
server.setConnectors(new Connector[]{connector});
WebAppContext webappcontext = new WebAppContext();
webappcontext.setContextPath(”/demo”);
webappcontext.setWar(”demo.war”);
WebAppClassLoader loader = new WebAppClassLoader(Thread.currentThread().getContextClassLoader(),webappcontext);
webappcontext.setClassLoader(loader);
HandlerCollection handlers= new HandlerCollection();
handlers.setHandlers(new Handler[]{webappcontext, new DefaultHandler()});
server.setHandler(handlers);
server.start();
server.join();
}
}
[/java]


Entries (RSS)