版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/liuy_98_1001/article/details/27544671

Jetty POJO配置

Jetty的核心组件是Plain Old Java Objects(POJOs)。配置Jetty的大部分工作就是在Jetty POJOs上的初始化、装配和设置域的处理,你能通过以下的方式来实现:
 1)直接通过Java代码初始化和装配Jetty对象。

这个在后面Embedding Jetty讲。
 2)用Jetty XML配置(一个控制反转(IoC)框架)初始化和装配Jetty对象。

etc/jetty.xml文件是基本的Jetty XML配置文件。但有一些其他的etc/jetty-feature.xml文件包括在jetty中。
 3)用第三方库IoC框架如Spring初始化和装配Jetty对象作为Spring beans。
由于基本的Jetty配置通过IoC来做,因此Jetty API文档是终于的配置參考。

Jetty Start配置文件

Jetty用以下尾随的配置文件来初始化、注入和启动server:

ini文件

Jetty Start机制用命令行。start.ini文件和不论什么start.d/*.ini文件用于提供命令行參数,參数能够是:
 ------Jetty IoC(或者Spring)XML格式的XML文件
 ------模块激活。格式为:--module=name
 ------属性,格式为:name=value,用于Jetty IoC XML的參数
 ------标准Java属性文件,包括附加的启动属性
 ------其他start.jar选项(看java -jar start.jar --help)
 ------一些JVM选项
 ini文件放在jetty.base(假设不同于jetty.home)。通过改动它们改变配置。

mod文件

modules/*.mod文件包括了模块的定义,这些模块能通过--module=name激活。每一个mod文件定义:
 ------为排序和激活定义的模块依赖
 ------须要被模块加入到classpath的库
 ------须要被模块加入到命令行的XML文件
 ------须要被激活模块的文件
 ------一个模板ini文件,当使用--add-to-start=name激活是使用
 mod文件通常被放在jetty.home,可是能够被jetty.base中的覆盖。通常非常少编辑模块文件除非大的结构改变。

XML文件

Jetty支持Jetty IoC和Spring IoC格式的XML文件,能够在命令行中指定。也能够在ini文件里指定。或者通过模块定义加入到命令行中。XML文件实例化和注入Java对象,包括server、connectors和contexts。由于Jetty IoC XML文件常常使用properties。一些通常的配置任务不须要编辑这些XML文件就能完毕。假设XML配置被要求改变,XML文件应该从jetty.home/etc复制到jetty.base/etc。再做改动。

其他配置文件

服务端配置还能使用以下的文件:

Context XML文件

Jetty IoC或者Spring IoC格式的XML文件。放置在webapps目录下。部署模块用它来实例化和注入HttpContext实例以创建一个特定的context。

Property文件

Jetty配置支持标准Java property文件。

Jetty IoC XML格式

为了理解Jetty IoC XML格式。先看以下在Java代码中初始化和配置的样例:

package org.eclipse.jetty.embedded;import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.thread.QueuedThreadPool;public class ExampleServer {public static void main(String[] args) throws Exception {Server server = new Server();ServerConnector connector = new ServerConnector(server);connector.setPort(8080);server.setConnectors(new Connector[] { connector });ServletContextHandler context = new ServletContextHandler();context.setContextPath("/hello");context.addServlet(HelloServlet.class, "/");HandlerCollection handlers = new HandlerCollection();handlers.setHandlers(new Handler[] { context, new DefaultHandler() });server.setHandler(handlers);server.start();server.join();}
}

以下是上面的Java代码相应的使用Jetty IoC XML初始化和配置相同的server的样例:

<?xml version="1.0"?

> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> <Configure id="ExampleServer" class="org.eclipse.jetty.server.Server"> <Set name="connectors"> <Array type="org.eclipse.jetty.server.Connector"> <Item> <New class="org.eclipse.jetty.server.ServerConnector"> <Arg><Ref refid="ExampleServer"/></Arg> <Set name="port">8080</Set> </New> </Item> </Array> </Set> <New id="context" class="org.eclipse.jetty.servlet.ServletContextHandler"> <Set name="contextPath">/hello</Set> <Call name="addServlet"> <Arg>org.eclipse.jetty.embedded.HelloServlet</Arg> <Arg>/</Arg> </Call> </New> <Set name="handler"> <New class="org.eclipse.jetty.server.handler.HandlerCollection"> <Set name="handlers"> <Array type="org.eclipse.jetty.server.Handler"> <Item> <Ref refid="context" /> </Item> <Item> <New class="org.eclipse.jetty.server.handler.DefaultHandler" /> </Item> </Array> </Set> </New> </Set> </Configure>

在实践中。通常使用Jetty XML文件。一般放置在标准公布版本号的etc目录中。

因此配置Jetty一般是编辑已经存在的XML文件,改变配置的值。

配置Jetty公布版本号

通常Jetty的公布版本号。包括以下的配置:

$JETTY_HOME/start.ini

全局命令行选项。

从Jetty 9.1開始,start.ini的内容被移动到模块的start.d/下的ini文件里。

$JETTY_HOME/start.d

模块ini文件的目录,用于为Jetty modules设置OPTION、parameters和配置文件。

这些modules能够通过重命名文件或者在9.1之后使用start.jar的--enable或者--disable选项来激活或者停止。

$JETTY_HOME/lib/*.xml

Jetty IoC XML文件,配置个体特性;如jetty.xml(为server),jetty-http.xml,jetty-https.xml,jetty-jmx.xml。

$JETTY_HOME/webapps/*

用于部署标准WAR文件、web应用和上下文IoC XML文件。

Jetty端口配置实例

以下是一个样例用于測试Jetty配置机制,展示如何设置HTTP端口。为了执行Jetty。我们通常执行以下的命令:

  >java -jar start.jar

start.d/http.ini模块默认被激活。当中包括以下的行:

 --module=httpjetty.port=8080

这里设置了Jetty端口(jetty.port),并激活了http模块(在modules/http.mod 文件里定义),http模块的配置文件为etc/jetty-http.xm,在这个配置文件里,调用server的addConnector加入一个ServerConnector类的新实例,这个实例配置包括以下的行:
 <Set name="port"><Property name="jetty.port" default="80" /></Set>
这行表示使用jetty.port属性值或者默认值80(假设没有配置jetty.port)调用ServerConnector.setPort(int)。jetty.port能够配置在start.ini或者http.ini中,仅仅能配置一次,这里http.ini中配置了jetty.port的值为8080。因此Jetty将用8080作为连接器的端口。
假设你希望改变这个端口,那么你能够编辑start.d/http.ini文件,改变jetty.port的值。然而这样升级可能会导致问题,因此最好的做法是创建一个新的jetty.base目录,配置一个新的server实例。

转载于:https://www.cnblogs.com/ldxsuanfa/p/9963478.html

Jetty:配置概览-怎么配置Jetty相关推荐

  1. 项目jetty服务器,maven项目配置Jetty服务器

    org.mortbay.jetty jetty-maven-plugin 8.1.7.v20120910 5 /bfc-loms 8080 500000 主要在maven的pom.xml里增加如上配置 ...

  2. Spring Boot配置Tomcat容器、Jetty容器、Undertow容器

    Spring Boot配置Tomcat容器.Jetty容器.Undertow容器 Tomcat.Jetty.Undertow Tomcat概述 Jetty概述 Undertow概述 Spring Bo ...

  3. Jetty的安装、配置和使用(三种使用方式)

    Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  4. 5、SpringMVC自动配置概览

    1.SpringMVC自动配置概览 Spring Boot provides auto-configuration for Spring MVC that works well with most a ...

  5. ASP.NET 配置概览

    使用 ASP.NET 配置系统可以配置服务器上的任何 ASP.NET 应用程序,甚至是单独的页面或应用程序子目录.可配置的内容包括有:授权模式,页面缓存,编译器选项,自定义错误,调试和跟选项,以及更多 ...

  6. java jetty eclipse_用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)

    (软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...

  7. jenkins的安装配置,插件配置,安装插件,配置maven,jdk路径,配置安装插件,项目配置,自动构建配置

    1.下载jenkins,下载地址: https://jenkins.io/ 2.运行命令,启动jenkins 将jenkins上传到:/home/tuzq/software 安装JDK,maven ( ...

  8. SpringBoot_配置-@Conditional自动配置报告

    前面我们通过分析HttpEncodingAutoConfiguration,给大家讲解了一下自动配置的原理,那么在自动配置的时候呢,就是这个自动配置要能够生效,他有一些判断,conditional这些 ...

  9. Jetty入门(1-1)Jetty入门教程

    一.Jetty是什么? 1.Jetty 是一个Java语言编写的,开源的Servlet容器和应用服务器. Jetty 极度轻量级.高便携性.功能强大.灵活和扩展性好,而且支持各种技术如SPDY.Web ...

最新文章

  1. 【视频】V4L2之应用流程
  2. python 复制、移动文件到指定目录并修改名字
  3. 划痕麻点检测程序_精密外观检测机设计
  4. 【架构】互联网架构三马车:微服务+消息队列+定时任务
  5. SpringCloud学习笔记(1)- Spring Cloud Alibaba
  6. 前端学习(2220):react之jsx的样式小案例
  7. 抽象类可以生成自己的对象吗_大理石可以自己抛光吗?大理石自己抛光方法解答...
  8. Scrapy 爬虫框架五—— 常见的反爬虫技术
  9. ios隐藏导航栏底线条和导航、状态栏浙变色
  10. python项目实战:实现数据可视化三维拟合
  11. 服务器手机远程控制,【图文解析】手机端远程控制服务器的方法以及步骤
  12. html怎么在手机打不开,手机的浏览器打不开网页怎么办
  13. 2月19日CTF记录
  14. Spring框架学习第二部分
  15. 鼠友题库每日百题(四)
  16. 数电逻辑门方框中各符号所含意义(全)
  17. Java之驼峰命名法
  18. 理解Sharpe夏普比率与Python实现
  19. 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)
  20. P2P技术软件Murder分发大文件

热门文章

  1. 约瑟夫环 猴子选大王的问题
  2. springMVC 统一异常处理异常处理类的使用
  3. ajax返回类型探讨
  4. 高性能MySQL数据库(含二级考试)-张晨光-专题视频课程
  5. python人脸识别环境搭建_怎样用3分钟搭建 Python 人脸识别系统
  6. 记一次从代码审计到拿下内网edr的过程
  7. 入门训练 序列求和 c语言
  8. DEM挖填方分析--基于水平参考面计算
  9. 【solr基础教程之一】Solr相关知识点串讲
  10. 用一张白纸推导出 RAFT 算法