Required dependencies:
Sample minimal code to embed and programmatically configure Tomcat 8:
package org.jr.server;
import java.io.File;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.Tomcat;
public enum Tomcat8Server {
INSTANCE;
public void startServer(String contextPath, int port) {
try {
String docBase = ".";
Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
StandardContext ctx = (StandardContext)tomcat.addContext(contextPath, new File(docBase).getAbsolutePath());
Tomcat.addServlet(ctx, "mainServlet", new MainServlet());
ctx.addServletMapping("/*", "mainServlet");
tomcat.start();
tomcat.getServer().await();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
INSTANCE.startServer("", 8090);
}
}
- tomcat-embed-core.jar
- tomcat-embed-logging-juli.jar
- servlet-api.jar
- log4j-1.2.7.jar
- commons-beanutils-1.8.0.jar
- commons-codec-1.9.jar
- commons-collections-3.2.1.jar
- commons-digester-2.1.jar
- commons-io-2.4.jar
- commons-lang-2.6.jar
Sample minimal code to embed and programmatically configure Tomcat 8:
package org.jr.server;
import java.io.File;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.Tomcat;
public enum Tomcat8Server {
INSTANCE;
public void startServer(String contextPath, int port) {
try {
String docBase = ".";
Tomcat tomcat = new Tomcat();
tomcat.setPort(port);
StandardContext ctx = (StandardContext)tomcat.addContext(contextPath, new File(docBase).getAbsolutePath());
Tomcat.addServlet(ctx, "mainServlet", new MainServlet());
ctx.addServletMapping("/*", "mainServlet");
tomcat.start();
tomcat.getServer().await();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
INSTANCE.startServer("", 8090);
}
}