play_framework框架--教程(一)

安装sbt,可参考前一篇 文章
https://blog.csdn.net/huazi99/article/details/123392417?spm=1001.2014.3001.5502

一、创建helloworld项目
1、创建文件夹 playframe02,进入,
执行命令 playframe02>sbt new playframework/play-scala-seed.g8
(或之前有生成过项目文件夹play-scala-seed,直接copy也可)
在这里插入图片描述 2、弹出name等,默认回车即可 在这里插入图片描述
3、进入play-scala-seed文件夹,输入 sbt

4、输入 run
在这里插入图片描述
5、浏览器运行:http://localhost:9000/
在这里插入图片描述
二、项目目录介绍
项目创建完后,可用idea打开
在这里插入图片描述
官网介绍:
在这里插入图片描述
1、app/目录_
该app目录包含所有可执行工件:Java 和 Scala 源代码、模板和已编译资产的源代码。
目录中有三个包app,一个用于 MVC 架构模式的每个组件:
app/controllers
app/models
app/views
您可以添加自己的包,例如,一个app/services包。
注意:在 Play 中controllers和models包views名只是简单的约定,可以根据需要进行更改(例如在所有内容前加上com.yourcompany)。
还有一个可选目录app/assets,用于存放已编译的资产,例如LESS 源和CoffeeScript 源。

2、public/目录_
存储在public目录中的资源是由 Web 服务器直接提供的静态资产。

该目录分为图像、CSS 样式表和 JavaScript 文件的三个子目录。您应该像这样组织您的静态资产,以保持所有 Play 应用程序的一致性。
在新创建的应用程序中,/public目录映射到/assetsURL 路径,但您可以轻松更改它,甚至为静态资产使用多个目录。

3、conf/目录_
该conf目录包含应用程序的配置文件。有两个主要的配置文件:
application.conf是应用程序的主要配置文件
routes是路由器的定义文件。

如果您需要添加特定于您的应用程序的配置选项,最好在application.conf文件中添加更多选项。
如果库需要特定的配置文件,最好在conf目录下提供它。

4、lib/目录_
该lib目录是可选的,并且包含非托管库依赖项,即您想要在构建系统之外手动管理的所有 JAR 文件。只需将任何 JAR 文件拖放到此处,它们就会被添加到您的应用程序类路径中。

5、build.sbt文件_
您的项目的主要构建声明通常位于build.sbt项目的根目录中。

6、project/目录_
该project目录包含 sbt 构建定义:
plugins.sbt定义了这个项目使用的 sbt 插件。
build.properties包含用于构建您的应用程序的 sbt 版本。

7、target/目录_
该target目录包含构建系统生成的所有内容。了解此处生成的内容可能很有用:
classes/包含所有已编译的类(来自 Java 和 Scala 源)。
classes_managed/仅包含由框架管理的类(例如由路由器或模板系统生成的类)。将此类文件夹添加为 IDE 项目中的外部类文件夹会很有用。
resource_managed/包含生成的资源,通常是编译后的资源,例如 LESS CSS 和 CoffeeScript 编译结果。
src_managed/包含生成的源代码,例如模板系统生成的 Scala 源代码。
web/包含由sbt-web处理的资产,例如app/assets和public文件夹中的资产。

8、典型.gitignore文件
您的版本控制系统应忽略生成的文件夹。这是 Play 应用程序的典型.gitignore文件:
logs
project/project
project/target
target
tmp
dist
.cache
RUNNING_PID

9、默认 sbt 布局
您还可以选择使用sbt和Maven使用的默认布局。为了使用此布局,您必须禁用布局插件并为旋转模板设置显式监控:
lazy val root: Project = (project in file("."))
.enablePlugins(PlayScala)
// Use sbt default layout
.disablePlugins(PlayLayoutPlugin)

三、主要代码讲解
在这里插入图片描述
1、路由文件routes
—根路径及其指向,指向HomeController.scala中的index()方法

GET     /                                 controllers.HomeController.index()       
GET     /assets/*file               controllers.Assets.versioned(path="/public", file: Asset)

2、HomeController.scala

class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
		  def index() = Action { implicit request: Request[AnyContent] =>
		    Ok(views.html.index())
		  }
}

index()—函数名
Ok(views.html.index())–调取文件index.scala.html

3、index.scala.html

@main("Welcome to Play") {
  <h1>Welcome to Play!</h1>
}

@main(“Welcome to Play”) — main指调用main.scala.html,main(参数)

4、main.scala.html

@(title: String)(content: Html)


<!DOCTYPE html>
<html lang="en">
    <head>
    。。。
    </head>
    <body>
          @content  
          @title       
    </body>
</html>
@content  **调用index.scala.html文件中的 <h1>Welcome to Play!</h1>**
@title        **调用index.scala.html文件中的main里的参数,Welcome to Play**

后续教程,敬请期待。。。。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值