1、Ktor学习-Application;

1、Ktor学习-Application;

简介

  Ktor是一个轻松构建后台应用程序的框架:Web应用、Http服务、移动和浏览器应用程序。Ktor服务器应用(application)是使用已配置的服务器引擎监听一个或者多个端口的自定义程序,由带有应用逻辑的模块组成,其中安装了一系列的特性,如路由、会话、以及HTTP/S 1.x/2.x和Websocket请求。

项目结构

 在IntelliJ IDEA安装的插件Ktor生成的模版项目主要包含:

 -resources         -application.conf         ... -src         -Application.kt          ...

 在application.conf中可以配置模块、端口等:

 ktor { deployment {     port = 8080     port = ${?PORT} } application {     modules = [ com.example.ApplicationKt.module,                 com.example.ApplicationKt.module2     ] }}

在modules项可以配置模块数组(Application.kt编译生成的class文件会在文件名后加上Kt)。

Application

   Application实例是Ktor应用的主要单元,当请求(HTTP、HTTP/2或者Websocket)进来时将其转换为ApplicationCall并经过一个隶属于Application的流水线。该流水线由一个或者多个先前安装的拦截器组成,提供像路由、压缩这样的结束请求处理功能

模块

  Ktor模块只是一个接受者为Application类的用户自定义的扩展函数,负责配置服务器流水线、安装特性、注册路由、处理请求。

  注:必须在application.conf文件中指定服务器启动要加载的模块。

  fun Application.mymodule(){      routing{          get("/demo"){              call.respondText("Hello World!")          }      }  }

  也可以将模块函数拆分为几个较小的函数或者类。

  使用完整限定名来引用模块(类的完整限定名和方法名,以.分隔):

 com.example.myapp.ApplicationKt.mymodule
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部