jetty作为内嵌服务器自启动
为了完成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.xmlcontext.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依赖:
<!--jetty --><dependency><groupId>org.eclipse.jetty.aggregate</groupId><artifactId>jetty-all</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-webapp</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-servlet</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-deploy</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-xml</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-security</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-client</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-ajp</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-annotations</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-websocket</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-util</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-io</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-http</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-continuation</artifactId><version>8.0.4.v20111024</version></dependency><dependency><groupId>org.mortbay.jetty</groupId><artifactId>jsp-2.1-glassfish</artifactId><version>2.1.v20100127</version></dependency>
事实上不需要这么多,我这是一劳永逸的偷懒做法,你们可以改进哟
jetty作为内嵌服务器自启动相关推荐
- springboot需要tomcat服务器吗_SpringBoot学习(二):内嵌服务器引擎(Tomcat,Jetty)实现原理...
概述 SpringBoot使用main方法启动的一个重要特性是,不需要打包成war部署到Tomcat这种Servlet容器中,而是只需打包成jar,然后通过java或mvn等命令运行这个jar包,然后 ...
- creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器
Spring Boot的配置详解 在本节中,我们将重点聚焦在Spring Boot的配置方面. 理解Spring Boot的自动配置 按照"约定大于配置"的原则,Spring Bo ...
- 使内嵌式jetty服务器支持jsp
1.jetty是什么 jetty是一个轻量级的web服务器,类似tomcat,但用起来比tomcat灵活,尤其是支持内嵌式使用.所谓内嵌式即以java语句的形式启动jetty,这样我们可以无需部署和启 ...
- 内嵌WEB服务器加载原理
内嵌WEB服务器加载原理 理解里面的tomcat是如何启动的 Startup.bat Server.start() 1,概述 我们在使用springboot项目的时候并没有使用外部的tomcat,那么 ...
- .NET5 开发手机提词应用,基于内嵌Web服务器及PowerPoint自动化
项目说明 我使用电脑录制视频教程的时候,会展示PPT给观众,同时也有一些提示性的文字给我自己看.这就类似于很多电视节目录制现场的"提词器". 节目录制现场的提词器 在PC环境下,P ...
- ssh 反向代理连接内网服务器并配置开机自启动(解决autossh无法开机自启动)
Q:现有公网服务器A和内网服务器B,如何通过ssh连接B呢 A: 安装autossh 配置B免密登录A,弄了之后B运行ssh root@123.123.123.123,以便将A加入到B的know_ho ...
- 永恒之塔最新服务器2020,【永恒之塔5.8服务端】2020全新小结版一键端+GM方式内嵌+GM专用工具+详尽安裝构建教程...
[永恒之塔5.8服务端]2020全新小结版一键端+GM方式内嵌+GM专用工具+详尽安裝构建教程 找了很多版本,都不记得在哪下的,但非常感谢大佬们的付出.这个版本应该是目前最完善的啦,估计大神们都去搞6 ...
- tomcat start 无法启动_解密Springboot内嵌Tomcat
Springboot简介 相信大多数开发者对Springboot比较熟悉了,它能够快速地创建一个spring应用,能够完全摒弃XML的配置方式,并且内嵌了Tomcat.Jetty这样的Servlet容 ...
- Spring Boot 容器选择 Undertow 而不是 Tomcat Spring Boot 内嵌容器Unde
Spring Boot 内嵌容器Undertow参数设置 配置项: # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 # 不要设置过大,如果过大,启动 ...
最新文章
- Swift 中的内存管理详解
- linux主节点启动nfs,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- 悬浮框_纯HTML实现某宝优惠券、商品列表和活动悬浮等布局(文末有源码)
- cubic算法优化_TCP拥塞控制算法 — CUBIC的补丁(七) | 学步园
- YBTOJ:斐波拉契(矩阵快速幂)
- 关于安装 rst2pdf 时遇到的 setuptools过老的问题
- Kafka 副本leader选举
- Redis的两种持久化介绍与对比
- 调度域(Scheduling Domain)
- 基于javaWEB技术的SSM音乐网站设计与实现(含论文+程序设计+PPT答辩)
- 51单片机C语言编程100例pdf,51单片机C语言编程100例.doc
- PCB电路板生产完成分析
- 常见开源Java论坛(附JForum论坛安装以及部署)
- 黑暗传说单机自动挂机_黑暗传说单机RPG
- 关于命令执行Bypass的一些思路
- Linux服务器安全配置
- QNX铁路安全软件--QNX在铁路系统领域应用
- 量子计算机:一场改变世界的开发竞赛
- Kotlin sealed class 的使用
- 几种常用的mosfet驱动电路