您的位置:首页 > 其它

Play之Scala-Web项目运行流程-简单分析(2)

2015-04-22 14:25 162 查看
接着上次的分析,我们分析此Play工程的目录结构和运行流程。

为了方便开发,我们将此工程转化为Eclipse项目,然后通过sftp下载到本地并导入到Eclipse里分析!

如果您的项目还在运行,就关了(通过Ctr+C吧)它,然后进入play命令行下:

?
导出到本地Windows开发环境下(不会的看我另一篇博客:SecureCRT与sftp)

---------------------------------------------------------------------------------------------------

下面是我们导入到Eclipse后的项目结构:(如果导入不成功的话,就在Eclipse里新建工程,名字和那个工程一致,就能行了)





一、路由

有过Rails编程经验的人都知道路由这个概念,路由的功能就是寻路--用户发起一个请求怎么能被正确处理?就靠它了!我们看看路由配置信息:

?
只关注: GET /
controllers.Application.index 这条信息就好了,指明了在默认缺省情况下,通过get命令所指向的处理Controller处理

controllers.Application的逻辑:

?
index是Controller "Application" 的一个action(action的概念不说了),只有一条语句:

?
看经典介绍:

任何Action对象必须获得反返回的Result对象

Ok继承于Result对象,所以返回Ok表示其包含的内容为HTTP 200 OK状态(在Scala里默认返回最后一行)

我们现在不管上面的OK里的内容,我们先从最简单的开始学习,把那行改为:

?
上传后运行查看浏览器结果:





因为此时传入Ok中对象类型为String,Ok将其Content-type作为text/plain输出。

再改一下:

?
运行效果:





此需要返回并告知Ok这是段Html格式内容而非纯文本。

到此,我们暂时先这么总结:

浏览器 ( http://localhost:9000/ )-> Play 框架 (conf/routes) -> 对应的Controller代码 (app/controllers/Application.scala) -> 对应的返回Action (def index = Action {...}) 的方法 -> 对应的可返回Result的代码 (OK(...)) -> 要返回的正文内容 ( "..." 纯文本 或 Html("...) HTML格式)

参考博客:

Scala语言与Play框架入门教程 (初稿)【http://cn.tanshuai.com/a/getting-started-scala-play】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: