摘要:
Play框架使用事件驱动模型,以提供在不可预知的使用环境下的灵活的处理能力。在一个web应用中,事件主要指用户向服务器发起一次HTTP请求。对于Play框架,此类事件定义在routes文件中,play根据routes文件的内容以及用户的请求,确定应该调用哪些过程。Play框架使用了Netty服务器,该服务器使用管道(pipeline),提供了在高并发情况下的优秀的异步处理能力。当服务器接收到一个用户请求的时候,将获取一个管道,将请求相关信息传入,之后交由Play框架处理。Play框架会根据该请求的内容,查找相应的路由规则,根据路由规则调用相应的事件处理流程,并(一般来说会)最终向用户返回结果, 阅读全文
摘要:
TemplateCompiler.generate函数最终执行模板编译。从下往上看,可以看出该函数的调用路径:TemplateCompiler.generate: 编译并将内容写入(StringBuilder) compliedSource,最后执行template.compiledSource = compiledSource.toString()。编译过程是将html模板转换成Groovy语句... 阅读全文