java web项目中集成Jetty作为web容器

wanchaopeng 2019-06-21

  1. 准备好一个非常简单点的web项目(maven项目)

  2. 准备好maven环境,并配置pom文件,关于jetty内容如下:

<!-- jetty dependecies begin -->
  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-server</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-webapp</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-continuation</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>

  <dependency>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-jsp</artifactId>
   <version>9.1.4.v20140401</version>
  </dependency>
  <!-- jetty dependecies end -->
  1. 使用eclipse对maven项目进行build,获取build后的项目目录(或者将项目达成war包)

  2. 创建运行配置jetty的Server类

运行war包的类

public class WebAppWarServer {
 public static void main(String[] args) throws Exception {
  Server server = new Server(8080);

  WebAppContext context = new WebAppContext();
  context.setContextPath("/myapp");
  context.setWar("E:/share/test/xxx.war");
  server.setHandler(context);

  server.start();
  server.join();
 }
}

运行build后的项目目录

public class WebAppContextWithFolderServer {
 public static void main(String[] args) throws Exception {
  Server server = new Server(8080);

  WebAppContext context = new WebAppContext();
  context.setContextPath("/myapp");
  context.setDescriptor("E:/share/test/struts2-blank/WEB-INF/web.xml");
  context.setResourceBase("E:/share/test/struts2-blank");
  context.setParentLoaderPriority(true);
  server.setHandler(context);
  server.start();
  server.join();
 }
}

然后运行项目,输入http://localhost:8080/myapp即可访问项目首页

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(==防止爬虫==):http://blog.liuyingguang.cn
OpenBI问答社区:http://www.openbi.tk

相关推荐