`
liu_hliang
  • 浏览: 199526 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Jetty 配置文件语法

阅读更多

语法
configure.dtd
这个文档类型描述符指明了xml元素和java api之间的简单影射,jetty.xml配置文件的第一行必须引用这个dtd,如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

Java对象通过一连串<New>, <Set>, <Put> 和 <Call>元素来配置。下面的例子让你有个初步的了解:
<Set name="Test">value</Set> == obj.setTest("value");
<Put name="Test">value</Put> == obj.put("Test","value");
<Call name="test"><Arg>value</Arg></Call> == obj.test("value");
<New class="com.acme.MyStuff"><Arg/></New> == new com.acme.MyStuff();

最大努力地使值匹配方法中的参数,明确的类型也要指明。org.mortbay.util.XmlConfiguration类使用configure.dtd描述符来分析Jetty xml文件。

<Configure> 元素

这个根元素用来指定要配置的对象类:

<Configure class="org.mortbay.jetty.Server> . . . </Configure>

另外,如果对象已经存在并声明了一个id,那么他能在配置元素中被参考,如下:

<Configure id="Server" class="org.mortbay.jetty.Server">

配置元素包含 New , Set , Put , Call or Ref 元素。
<Set> 元素

这个元素影射一个对象set方法的调用。名称和可选属性用来选择set方法。如果名称是 xxx,那么setXxx被使用, 后者这个方法找不到。一个Set元素可以包含值文本或者值元素Call, New 和 SystemProperty。如果值类型没有定义,值会从空格截断。如果包含多值元素,在转化成指定类型之前,会作为字符串添加。一个Set附带一个类属性被作为一个静态set方法调用。

 

  1. <Set name= "xyz" >  
  2. . . .  
  3. </Set>  


<Get> 元素

这个元素影射一个对象get方法的调用。属性名字用来选择一个get方法。如果名称是xxx,那么getXxx会被使用,或者找不到。一个Get元素可以包含Set、Put或者Call元素返回的对象。

 
  1. <Get name= "xyz" >  
  2.   <Set name="xyzMethod" ><New class = "org.mortbay.jetty.xyz" /></Set>  
  3. </Get>  


A Get with a class attribute is treated as a static get method or field.
<Put> 元素

这个元素影射当前对象put方法的调用,这个对象必须应用了Map接口。属性名字用来作为put的键,可选类型属性用来确定值的类型。一个 Put 元素可以包含文本值或者值元素Call, New 和 SystemProperty. 如果没有指定类型,值将被在空格处截断。如果包含多值元素,在转化成指定类型之前被作为字符串看待。

<Put name="admin">admin</Put>

<Call> 元素

这个元素影射当前对象一个方法的任意调用,属性名字和Arg元素用来确定方法。一个Call元素可以包含一系列的Arg元素,跟随一系列作用在新对象上的Set、Put或者Call元素。

<Call name="test">
<Arg>value1</Arg>
<Set name="Test">Value2</Set>
</Call>

等价于:

Object o2 = o1.test("value1");
o2.setTest("value2");

一个带class属性的Call当作一个静态调用:

<Call class="com.acme.Foo" name="setString">
<Arg>somestring</Arg>
</Call>

等价于:

com.acme.Foo.setString("somestring");

<Arg> 元素

这个元素为Call元素定义了一个位置参数,可选类型属性用来确定值的类型。一个Arg元素可以包含文本值或者值元素Call, New 和 SystemProperty。 如果值类型没有指定,值会从空格处截断。如果是多值元素,在转化成特定类型之前,被当作字符串处理。

<Arg><Ref id="Server"/></Arg>
<Arg>./webapps</Arg>
<Arg>org/mortbay/jetty/webapp/webdefault.xml</Arg>
<Arg type="boolean">True</Arg>
<Arg type="boolean">False</Arg>

这里的Ref标签指向了一个以前指定了id参数的对象。
<New> 元素
这个元素生成一个使用Set、Put或者Arg元素作值的一个新对象。类属性决定了新对象的属性,包含的Arg元素用来做新对象构造器的值。
一个New元素可以包含一个惟一的id参数,以后可以用来引用它。一个New元素包含一系列Arg元素,跟随一系列作用在新对象上的Set, Put 和 Call 元素:

  1. <New id= "myobject" class = "com.acme.MyClass" >  
  2.   <Arg>value1</Arg><Set name="Test" >Value2</Set>  
  3. </New>  
  4. [code]  
  5. 等价于:  
  6. [code]  
  7. Object o = new com.acme.MyClass( "value1" );  
  8. o.setTest("value2" );  


<Ref> 元素

这个元素引用以前产生的一个对象,一个Ref元素包含一系列作用在参考对象上的Set, Put 和 Call元素:

  1. <Ref id= "myobject" />  
  2.   <Set name="Test" >Value2</Set>  
  3. </Ref>  


另外, Ref元素可以用来做 Arg 和 Set 元素的值:

  1. <Set name= "someMethod" ><Ref id= "myobj" /></Set>  


<Array> 元素

这个元素允许生成一个新的数组作为Set、 Put 或者 Arg 元素的值。属性类型决定了数组类型。

  1. <Array type= "java.lang.String" >  
  2.   <Item>value0</Item>  
  3.   <Item><New class = "java.lang.String" ><Arg>value1</Arg></New></Item>  
  4. </Array>  


等价于:

  1. String[] a = new String[]{ "value0" , new String( "value1" )};  


<Map> 元素
这个元素允许生成一个新的HashMap,使用键、值队:

  1. <Map>  
  2.   <Entry>  
  3.    <Item>keyName</Item>  
  4.    <Item><New class = "java.lang.String" ><Arg>value1</Arg></New></Item>  
  5.   </Entry>  
  6. </Map>  


等价于:

  1. java.util.Map map = new java.util.HashMap();  
  2. map.put("keyName" , "value1" };  


<Item> 元素
这个元素定义了一个Array或者Map条目元素的条目,可选的类型属性确定了值得类型。一个Item 元素可以包含文本值或者值元素Call、New和 SystemProperty.如果值类型没有指定,值将在空格处截断。如果是多值元素,在转化成特定类型之前被当作字符串看待。

  1. <Item>  
  2.   <New class = "org.mortbay.jetty.nio.SelectChannelConnector" >  
  3.     <Set name="port" > 8080 </Set>  
  4.     <Set name="maxIdleTime" > 30000 </Set>  
  5.     <Set name="Acceptors" > 10 </Set>  
  6. </New>  
  7. </Item>  


<SystemProperty> 元素
这个元素允许JVM系统属性作为Set、Put或者Arg 元素的值。名称属性指明了属性名称,可选的默认参数提供了默认值
This element allows JVM System properties to be retrieved as part of the value of a Set, Put or Arg element. The name attribute specifies the property name and the optional default argument provides a default value.


<SystemProperty name="Test" default="value"/>

等价于:

System.getProperty("Test","value");

英文原文:  http://docs.codehaus.org/display/JETTY/Syntax+Reference

1
1
分享到:
评论

相关推荐

    eclipse中配置使用jetty调试web项目

    在Eclipse这个强大的Java开发环境中,配置Jetty服务器来调试Web项目是一项常用的任务。Jetty是一个轻量级、高性能的开源HTTP服务器和Servlet容器,它允许开发者在本地...记住,理解和掌握配置文件的结构和语法是关键。

    jetty 6 指南书

    - **Jetty XML Configuration语法**:讲解XML配置文件的语法规则。 - **org.mortbay.xml.XmlConfiguration**:介绍使用该类来读取和应用XML配置。 5. **部署Web应用程序** - **静态部署**:将WAR或WEB-INF目录...

    Jetty中文手册

    配置文件 jetty.xml–Server configuration jetty-web.xml–Web App configuration jetty-env.xml–JNDI configuration webdefault.xml–Pre-web.xml configuration override-web.xml–Post-web.xml configuration ...

    Jetty权威指南.pdf

    `org.mortbay.xml.XmlConfiguration`类提供了读取和解析Jetty配置文件的能力。用户可以通过这个类来加载配置文件,并将配置信息转换成Java对象模型,方便后续的配置管理和使用。 #### 五、在Jetty中部署Web应用程序...

    jetty指导书

    - **2.6.3 相关配置文件**: 包括`jetty.xml`等配置文件。 **2.7 本章小结** Jetty的安装和启动相对简单,但为了更好地利用Jetty的强大功能,还需要对配置文件有深入的理解,并掌握在不同操作系统下的启动控制方法...

    JettY 部署Web应用程序.doc

    动态部署的XML配置文件使用与Jetty XML配置相同的语法,允许灵活控制Web应用的配置,如设置上下文路径、定制Servlet映射、配置过滤器等。通过修改配置文件的最后修改时间,可以触发Jetty重新加载配置,从而实现Web...

    Jetty启动和JSP验证

    3. **配置JSP支持**:在Jetty的配置文件中(如`jetty.xml`),添加JSP相关的模块,例如`jsp`和`jspf`。这样Jetty将在启动时加载JSP引擎。 4. **JSP执行流程**:当请求一个JSP页面时,Jetty会将其转换为对应的...

    jetty v9.2.2版本

    - 在这个版本中,可能对配置文件的结构或语法进行了改进,以便更好地适应不同场景的需求。 5. **模块化设计**: - Jetty的设计是高度模块化的,用户可以根据需要选择安装必要的组件,从而减少不必要的资源消耗。 ...

    SpringBoot全局配置文件(properties)与yml配置文件.docx

    在Spring Boot应用中,配置文件起着至关重要的作用,它们允许开发者定义应用程序的行为和环境特定的设置。Spring Boot支持两种主要的全局配置文件格式:`application.properties` 和 `application.yml`。下面我们将...

    手把手教你 对 solr8 配置用户登录验证 涉及到的配置文件

    - **etc目录**: 这个目录通常包含 Solr 的配置文件,如 `jetty.xml`,`jetty-security.xml`,`jetty-realm.properties` 等。这些文件用于设置 Jetty 的安全特性。 - **contexts目录**: 这里存放的是 Solr 的上下文...

    Jetty6_指南书

    配置文件是Jetty管理的关键,书中详细解析了jetty.xml配置文件,介绍了XML配置语法和org.mortbay.xml.XmlConfiguration类的使用,帮助读者理解Jetty的配置机制。此外,书中还涵盖了在Jetty中部署Web应用程序的各种...

    jetty-all-8.2.0.v20160908.zip

    7. **Maven或Sbt构建工具**:WVLet可能使用Maven或Sbt进行项目构建,学习这两种工具的使用方法及其配置文件的结构。 8. **单元测试和集成测试**:通过WVLet的测试模块,了解如何编写和执行测试用例,确保代码的质量...

    jetty使用文档

    - 配置:通过jetty.xml等配置文件进行服务器配置。 - 部署:支持静态部署、动态热部署以及Servlet 2.5及以上新特性。 6. **Jetty 架构** - Connector:负责网络通信,如HTTP连接的处理。 - Handler:处理HTTP...

    ExtJS Jetty启动报错 tag

    问题在于,虽然EL通常可以处理这种表达式,但在某些服务器配置或解析器中,可能要求更严格的语法。 报错信息中的`javax.el.ELException: Error Parsing`进一步证实了EL表达式解析的问题。`PWC6038`错误代码是Apache...

    J2EE/JSP环境配置及语法

    4. **配置服务器**:修改服务器的配置文件,例如Tomcat的`server.xml`,设置端口号、Context路径等。 5. **部署路径**:在服务器的webapps目录下创建项目文件夹,将JSP文件和其他资源放入相应位置。 6. **启动...

    eclipse工具插件jetty_svn

    1. **Jetty服务器集成**:Jetty是一个轻量级的Java Web服务器和Servlet容器,它允许开发者在Eclipse环境中直接启动、测试和调试Web应用程序,而无需额外配置其他服务器。通过此插件,开发者可以在Eclipse内直接管理...

    apache-hive-3.1.2-bin.tar.gz

    同时,也需要更新Hive的配置文件,确保与新版本Jetty的兼容性。 总的来说,Hive 3.1.2的安全升级涉及到了大数据处理中的一个重要环节——数据仓库的安全性。通过更新Jetty来修补安全漏洞,可以提升整个Hadoop生态...

    Eclipse SVN Jetty Tomcat jad 等常用插件

    在Java开发中,这些文件常用来存储国际化信息或者配置参数。通过特定的编辑器插件,开发者可以获得更好的语法高亮、错误检查和格式化功能,提升工作效率。 6. **OpenExplorer**: - OpenExplorer可能是指一个增强...

    Jett必读指南

    - `jetty.xml`是主要的配置文件,用于定义Jetty的行为和组件。 - 使用XML语法进行配置,可以通过`org.mortbay.xml.XmlConfiguration`类加载和解析。 - 配置文件可以动态调整,允许在运行时修改服务器行为。 8. *...

    jsp 语法+安装配置chm

    4. **配置环境**:在Web容器的配置文件`conf/server.xml`中,配置Context,指定应用的根目录。例如,在Tomcat中,你可能需要添加类似以下内容: ```xml ``` 5. **部署应用**:将你的JSP项目打包为WAR文件,或者...

Global site tag (gtag.js) - Google Analytics