首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Apache Wink REST 开发中的高级主题(2)

Apache Wink REST 开发中的高级主题(2)

管理视图为了帮助开发人员更好地理解他们的 RESTful Web 服务,Apache Wink 提供了两种管理视图:Application Resource XML 视图和 Resource Registry XML 视图。默认情况下,这些视图都是禁用的,您必须在应用程序 web.xml 文件中注册 org.apache.wink.server.internal.servlet.AdminServlet 类才能激活它们。               
Application Resources XML 视图公开 REST 资源及其 URI 模板、HTTP 方法以及每个方法支持的 MIME 类型,类似于帮助用户获得应用程序的方式。这种视图可以方便地为部署的服务生成自动化服务文档。               
Resource Registry XML 视图比 Application Resources XML 视图更加详细,它显示了服务公开的实际实现细节,包括在注册表中实现资源及其优先级的类名称。该视图对于调试过程非常有用,但是不应在生产中启用,因为它披露了实现细节,可能会影响安全性。               
WebDAV 支持基于 Web 的分布式编辑和版本控制(Distributed Authoring and Versioning,WebDAV)是 HTTP 协议的一个扩展集合,支持用户在 Web 服务器上(比如 Apache Web Server)编辑和管理文件。WebDAV 协议的一些主要功能包括:               
  • 锁定文件
  • 文件属性或元数据
  • 文件名称空间管理
Apache Wink 通过扩展模块支持 WebDAV 协议。Apache                         Wink 扩展模块包括 WebDAV XML 模型和 WebDAV 响应构建程序,用于帮助创建和处理 WebDAV 响应。               
运行中的 SpringSpring 是一个常用的开源 Java 框架,原本是用作现有 Java 标准(比如 Enterprise JavaBean (EJB) 技术)的一个轻量级替代方法。与 EJB 标准类似,Spring Framework 还提供了事务、持久性、安全性 —— 以及更重要的 —— 依赖关系注入(JAX-RS 中也借用了这个概念)方面的功能。有关 Spring Framework 的更多信息,请参考 。               
Apache Wink 通过核心框架中的其他模块提供了与 Spring 的轻松集成。Apache Wink Spring 集成模块提供了以下主要功能:               
  • 在 Spring 上下文中将资源和提供者注册为类或 Spring bean
  • 定义资源/提供者生命周期,并覆盖默认的 singleton 范围
  • 使用 Spring 功能,如 Inversion of Control (IoC) 和事后处理程序(postprocessor)
  • 通过轻松自定义 Spring 上下文中的挂钩自定义 Apache Wink
Spring 上下文加载在 Spring Framework 中,Spring 上下文类似于 Apache Wink 应用程序,必须在定义和加载其他 Spring bean 之前加载。加载 Spring 上下文之后,它可以轻松将资源和提供者注册为 Spring bean。                       
要加载 Spring 上下文,您首先必须定义上下文加载侦听器并将其添加到 Web 应用程序的 web.xml 文件。同样,contextConfigLocation context-param 应该指示 Apache Wink 核心上下文文件的位置和特定于应用程序的上下文文件。 提供了定义和加载 Spring 上下文的 web.xml 文件示例。                       
清单 4. Spring 上下文加载 web.xml
1
2
3
4
5
6
7
8
9
10
11
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:META-INF/server/winkCoreContext-server.xml
    classpath:mySpringcontext.xml
</param-value>
</context-param>
<listener>
<listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

返回列表