六、Web-模块


    1.找到模块的注册入口

    Path这个参数是相对 web.json 文件中配置的 ContextPath 的相对路径,同时模块的静态资源文件(图片,样式,脚本等)也保存物理磁盘的这个相对路径下。


    2.模块类介绍

    1. org.voovan.http.server.HttpModule
    • 模块安装(入口)函数
    • 服务器安装模块时会调用该方法,也可以理解为模块的入口方法,在这个方法里实现路由的注册。
      • HTTP 方法响应函数
    1. public WebServer [Method](String routeRegexPath, HttpRouter router)
    • 为 HTTP 方法提供服务,其中 Method 为HTTP(GET、POST等)方法。

      • : 服务路径正则匹配,不需要正则的^和$,系统会自动处理。
      • handler: HttpRouter对象的实例用来支持具体的HTTP事件。
    • 为 HTTP 方法提供服务,其中 Method 为HTTP(GET、POST等)方法。
    • method: 自定义的 HTTP 方法,可以不用符合 HTTP 规范,注意已经实现的HTTP方法响应不会再被这个方法响应。
    • routeRegexPath: 服务路径正则匹配,不需要正则的^和$,系统会自动处理。
    • handler: HttpRouter对象的实例用来支持具体的HTTP事件。
      • 过滤器访问函数
    • 获取过滤器链。
    • 返回值: 获取定义的过滤器链。

    3.性能监控模块的代码举例

    Ok,我们来分析一个这个模块. 通过第二节对模块类方法的了解,我们可以看到实现一个模块我们需要继承HttpModule类,并实现install()方法,接着我们需要将我们规划的路由实现在这个 install 方法中. 代码中的get("…", new ….())的方法是HttpModule类内的方法,这个和通过代码直接实现 Web 服务是相同,同是我们也发现,我们可以通过filterChain().addFirst(…)来注册一个过滤器.