Java技术分享

在Maven Web项目中通过Java代码启动内嵌的jetty

2018-07-31  本文已影响1人  Belmode
1. 在IDEA中,通过maven原型创建web项目
2.手动 添加java 目录,存放包。

在eclipse使用最基本的maven-web是可以直接创建出比较完善的目录结构的,但是IDEA不知为何没有创建出来。


3.修改项目module
4.添加pom.xml依赖

主要依赖,没有其他的了。
注意,不能再引入tomcat的依赖,会出错!

 <dependency>
     <groupId>org.eclipse.jetty.aggregate</groupId>
     <artifactId>jetty-all-server</artifactId>
     <version>8.2.0.v20160908</version>
</dependency>

<dependency>
     <groupId>org.eclipse.jetty</groupId>
     <artifactId>jetty-jsp</artifactId>
     <version>8.2.0.v20160908</version>
</dependency>
5. 新建主类
package top.belmode.starter;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;

public class Main {

    public static void main(String[] args) {

        // 服务器的监听端口
        Server server = new Server(9999);
        // 关联一个已经存在的上下文
        WebAppContext context = new WebAppContext();
        // 设置描述符位置
        context.setDescriptor("./src/main/webapp/WEB-INF/web.xml");
        // 设置Web内容上下文路径
        context.setResourceBase("./src/main/webapp");
        // 设置上下文路径
        context.setContextPath("/");
        context.setParentLoaderPriority(true);
        server.setHandler(context);

        try {
            server.start();
            // server.join();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.err.println("Jetty-8.2.0 Server war started");
        System.err.println("请访问http://localhost:9999");
    }
}
6. 一个简单的index.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
7. 启动top.belmode.starter.Main,浏览器访问9999端口

结束

上一篇下一篇

猜你喜欢

热点阅读