博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jetty作为内嵌服务器自启动
阅读量:6239 次
发布时间:2019-06-22

本文共 4683 字,大约阅读时间需要 15 分钟。

  为了完成web工程的测试,最近内嵌jetty也要搞起来.第一次搞还是挺焦头烂额的.直接上成果:

package com.test.action;import java.io.File;import org.eclipse.jetty.server.Connector;import org.eclipse.jetty.server.Server;import org.eclipse.jetty.server.nio.SelectChannelConnector;import org.eclipse.jetty.util.thread.QueuedThreadPool;import org.eclipse.jetty.webapp.WebAppContext;public class RunTest {    public static void main(String[] args) {        tt();    }    public static void tt() {        Server server = new Server();// 创建jetty web容器        server.setStopAtShutdown(true);// 在退出程序是关闭服务        // 创建连接器,每个连接器都是由IP地址和端口号组成,连接到连接器的连接将会被jetty处理        Connector connector = new SelectChannelConnector();// 创建一个连接器        connector.setHost("127.0.0.1");// ip地址        connector.setPort(8080);// 连接的端口号        server.addConnector(connector);// 添加连接        QueuedThreadPool threadPool = new QueuedThreadPool();        threadPool.setMaxThreads(3000);        server.setThreadPool(threadPool);        // 配置服务        WebAppContext context = new WebAppContext();// 创建服务上下文        context.setContextPath("/strutsDemo");// 访问服务路径 http://{ip}:{port}/        context.setConfigurationDiscovered(true);        String baseDir = Thread.currentThread().getContextClassLoader()                .getResource("").getPath();        context.setDescriptor(baseDir + File.separator + "/WEB-INF/web.xml");// 指明服务描述文件,就是web.xml        // context.setDescriptor("/E:/workspace/strutsDemo/target/classes/\\/WEB-INF/web.xml");//        // 指明服务描述文件,就是web.xml        context.setResourceBase(System.getProperty("user.dir")                + "/src/main/webapp/");// 指定服务的资源根路径,配置文件的相对路径与服务根路径有关        server.setHandler(context);// 添加处理try {            server.start();// 开启服务            server.join();        } catch (Exception e) {            e.printStackTrace();            System.exit(1);        }    }}

  启动访问就可以了.主要是context的配置花了很多功夫,老是配不好.还有据说jetty版本或者jar包不同会有配置差异,我用的是8.0.4版本,顺便贴上maven依赖:

org.eclipse.jetty.aggregate
jetty-all
8.0.4.v20111024
org.eclipse.jetty
jetty-webapp
8.0.4.v20111024
org.eclipse.jetty
jetty-server
8.0.4.v20111024
org.eclipse.jetty
jetty-servlet
8.0.4.v20111024
org.eclipse.jetty
jetty-deploy
8.0.4.v20111024
org.eclipse.jetty
jetty-xml
8.0.4.v20111024
org.eclipse.jetty
jetty-security
8.0.4.v20111024
org.eclipse.jetty
jetty-client
8.0.4.v20111024
org.eclipse.jetty
jetty-ajp
8.0.4.v20111024
org.eclipse.jetty
jetty-annotations
8.0.4.v20111024
org.eclipse.jetty
jetty-websocket
8.0.4.v20111024
org.eclipse.jetty
jetty-util
8.0.4.v20111024
org.eclipse.jetty
jetty-io
8.0.4.v20111024
org.eclipse.jetty
jetty-http
8.0.4.v20111024
org.eclipse.jetty
jetty-continuation
8.0.4.v20111024
org.mortbay.jetty
jsp-2.1-glassfish
2.1.v20100127

  事实上不需要这么多,我这是一劳永逸的偷懒做法,你们可以改进哟

转载于:https://www.cnblogs.com/garfieldcgf/p/5530306.html

你可能感兴趣的文章
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
ObjectOutputStream和ObjectInputStream
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
error LNK2001: 无法解析的外部符号 __CrtDbgReport
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
邮件客户端导入邮件通讯录地址薄
查看>>
荆慕瑶
查看>>
EIGRP 查看邻居命令详解
查看>>
Linux启动的顺序说明
查看>>
Linux系统安装
查看>>
Oracle数据库的体系结构
查看>>
Cassandra监控 - OpsCenter手册
查看>>