Você pode usar o Tomcat mesmo, em modo “embedded” (lembro de ter visto algo no blog de um dos colaboradores do GUJ, infelizmente perdi o bookmark), se suas páginas já estão prontas (não dá para usar o FreeMarker ou o Velocity se você já tem um site de 400 páginas JSP já prontas ), mas fica um bocado pesado.
Eu vi - tive de fazer uma aplicação que usava o Tomcat como serviço. É realmente “um porre”. É que eu queria iniciar o HSQLDB também na mesma JVM, e aprendi um monte de coisas sobre classloaders e porque pôr um monte de coisas que aparentemente não serão usadas no CLASSPATH nem sempre é inofensivo.
fiz testes com os demos do jetty e rodou legal, porem quando fiz minha aplicação deu um erro dizendo que web-app nao está declarado.
o docigo é o seguinte:
public class WebServer {
public static final int PORT = 8080;
public static final String WEBAPP_DIR = "C:/eclipse/workspace/JSups/html/";
public static final String WEBAPP_CTX = "/doc";
public static void main(String[] args) throws Exception {
Server server = new Server();
SocketListener listener = new SocketListener();
listener.setPort(PORT);
server.addWebApplication(WEBAPP_CTX, WEBAPP_DIR);
server.addListener(listener);
server.start();
}
}
cara, eu consegui rodar. fiz umas mudanças no codigo e deu certo.
public class WebServer {
public static void main(String[] args) throws Exception {
Server server = new Server();
server.addListener(":8080");
((ServletHttpContext) server.getContext("/doc")).addServlet("", "br.com.engetron.comunica.http.HelloWorldServlet");
ServletHttpContext context = (ServletHttpContext) server.getContext("/");
context.addServlet("*.jsp", "org.apache.jasper.servlet.JspServlet");
context.setResourceBase("C:/eclipse/workspace/JSups/html/");
ResourceHandler handler = new ResourceHandler();
handler.setDirAllowed(true);
handler.setAcceptRanges(true);
context.addHandler(handler);
context.addHandler(new NotFoundHandler());
server.start();
}
}
porem estou com outra duvida. como faço para colocar este codigo em um arquivo de configuração xml?
deste modo ficaria assim o codigo:
public class WebServer {
public static void main(String[] args) throws Exception {
Server server = new Server();
server.configure("web.xml");
server.start();
}
}