博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1、Ktor学习-Application;
阅读量:6052 次
发布时间:2019-06-20

本文共 1082 字,大约阅读时间需要 3 分钟。

简介

  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复制代码

转载地址:http://jmeex.baihongyu.com/

你可能感兴趣的文章
引用不到System.Data.Entity.Database
查看>>
tomcat多应用之间如何共享jar
查看>>
Python install
查看>>
hive SQL优化之distribute by和sort by
查看>>
使用Dom4j解析XML
查看>>
Linux 命令之id
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
华为网络设备上的常用安全技术(一)
查看>>
形容词和副词的比较级和最高级
查看>>
机器学习的基本概念理解
查看>>
使用 IntraWeb (3) - 页面切换
查看>>
如何让一个线程死亡或结束
查看>>
Linux 非root用户不能创建目录的解决办法
查看>>
WinAPI: midiInAddBuffer - 向 MIDI 输入设备发送一个输入缓冲区
查看>>
理解 Delphi 的类(十) - 深入方法[11] - 参数前缀
查看>>
Java 查询英雄联盟玩家战绩
查看>>
Flex前后台交互,service层调用后台服务的简单封装
查看>>
LNMP环境下Nginx、PHP、MySQL优化
查看>>
信号量
查看>>