Jetty XML配置详解:配置服务器与对象操作
5星 · 超过95%的资源 需积分: 49 201 浏览量
更新于2024-09-13
收藏 94KB PDF 举报
"该PDF文件主要讲解了Jetty服务器如何通过XML配置文件来设定和管理其内部对象,包括服务器实例、属性设置、对象创建以及方法调用等关键操作。"
在Jetty服务器中,XML配置文件是管理和定制服务器行为的重要方式。`jetty.xml` 文件的根元素 `<Configure>` 用于定义需要配置的对象。这个标签有`id`和`class`两个属性,`class`属性是必需的,用于指定要配置的Java类,而`id`属性则是可选的,用于标识和引用配置的对象。如果`id`存在且上下文中已有该ID的对象,则会对此对象进行配置;若不存在,会创建一个新的对象并存储在上下文中。
例如,以下配置创建了一个新的`Server`对象,并设置了端口号:
```xml
<Configure id="server" class="org.mortbay.jetty.Server">
<Set name="port">8080</Set>
</Configure>
```
这相当于在Java代码中创建了一个`Server`实例并设置了端口:
```java
org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
server.setPort(8080);
```
在Jetty的XML配置中,`<Set>`标签用于设置对象的属性。`name`属性指定要设置的属性名,内容是属性值。如果属性名与JavaBeans规范中的`set`方法匹配,如`name="port"`,则会调用`setPort()`方法;如果没有匹配的方法,将直接设置对象的字段。值可以是文本、其他标签的组合,或表达式结果。
```xml
<New class="foo.Bar">
<Set name="xxx">jetty</Set>
<Set name="cat">
<New class="foo.Cat"></New>
<Call name="doSomething"></Call>
</Set>
</New>
```
这段配置创建了一个`foo.Bar`实例,设置了`xxx`属性,并创建了一个`foo.Cat`实例,调用了它的`doSomething()`方法,然后将`Cat`对象设置为`Bar`的`cat`属性。对应的Java代码如下:
```java
foo.Bar bar = new foo.Bar();
bar.setXxx("jetty");
foo.Cat temp = new foo.Cat();
temp.doSomething();
bar.setCat(temp);
```
`<Get>`标签与`<Set>`相对,用于获取对象的属性值。如果`name`属性为`xxx`,则尝试调用`getXxx`方法。若方法不存在,可能无法正常工作,因为Jetty的XML配置不会像Java那样抛出异常。
此外,还有`<Call>`、`<New>`、`<SystemProperty>`和`<Ref>`等标签,分别用于调用对象的方法、创建新对象、获取系统属性和引用已经配置过的对象。这些标签可以混合使用,提供了一种灵活的方式来构建和配置Jetty服务器的复杂结构。
Jetty的XML配置文件提供了强大的能力,允许开发者精细控制服务器的行为,通过声明式的方式创建和配置对象,简化了服务器的管理和维护。
2021-11-14 上传
2021-09-27 上传
2021-09-27 上传
328 浏览量
2021-10-20 上传
2022-03-14 上传
kandyer
- 粉丝: 39
- 资源: 42
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能