六、Web-模块
1.找到模块的注册入口
Path这个参数是相对 web.json 文件中配置的 ContextPath 的相对路径,同时模块的静态资源文件(图片,样式,脚本等)也保存物理磁盘的这个相对路径下。
2.模块类介绍
org.voovan.http.server.HttpModule
- 模块安装(入口)函数
- 服务器安装模块时会调用该方法,也可以理解为模块的入口方法,在这个方法里实现路由的注册。
- HTTP 方法响应函数
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(…)
来注册一个过滤器.