play框架:新建项目

Play框架的下载与环境变量配置

1.打开命令行,切换到你想保存项目文件的路径下
在这里插入图片描述
2.输入命令:play new HelloWord 回车后,会提示输入完整的项目名
(注意:有的文章这里的命令是:~$ play new HelloWord,有的版本可能出现"不是内部或外部命令,也不是可运行程序或批文件",两者你都可以试一下)
在这里插入图片描述
play new命令创建了一个新的文件夹HelloWord/外加一系列文件和文件夹。其中包括下面各部分:

app/ :包括应用的核心,划分为models,controllers和views文件夹。它也可以包括其他Java的包,java源代码文件存放在该文件夹中。

conf/ :包括所有的应用配置文件,有项目主配置文件application.conf,路由配置文件routes,国际化配置文件messages。

lib/: 存放项目需要的java二进制包,即jar包文件。

public/: 包括所有可以公开的资源,比如Javascript文件,样式表和图片。

test/: 包括所有的应用测试。测试可以是Java的JUnit测试或者Selenium测试。
在这里插入图片描述
注意:play框架仅使用utf-8编码,所以要保证以上文件夹中的文本文件编码均为utf-8,保持编码统一。
还有一点:Play并不使用任何class文件;相反它直接处理Java源代码。实际上我们使用Eclipse的编译器来即时编译Java源代码 。这导致了开发过程中的两点重要的改进。第一个,Play会自动监测Java源代码的改变并在运行时自动重载。第二个,当一个Java异常发生时,Play能向你展示更好的错误报告 。Play框架把字节码缓存在tmp/目录里。你可以使用play clean命令来释放缓存。

3.运行该项目,将路径切换到新建的项目文件夹下,输入指令:play run
在这里插入图片描述
稍等一会,会运行到下面的界面
在这里插入图片描述
4.打开浏览器,输入:localhost:9000,出现以下界面说明?你懂的。(成功)
在这里插入图片描述注意:本例使用的play版本是1.2.7,jdk1.7。play1.3之前的版本不支持jdk1.8及以上。
命令行里会报错,浏览器运行也会报错

在这里插入图片描述
接下来让我们看看,真的看看就行,这个新的应用是如何显示这个页面的。Play应用的主入口是conf/routes文件,该文件定义了所有可访问的URL。打开默认生成的conf/routes路由文件,可以看到:

GET		/			Application.index

当Web服务器接收到客户端以GET方式请求根路径时,会调用Application.index方法。Application.index其实是controllers.Application.index的缩略写法,因为controllers包是被默认引入的。 创建标准的Java应用程序时,通常会定义一个方法作为其唯一入口点,比如:

public static void main(String[] args) {
  ... 
}

而Play应用拥有多个入口点,每个入口点对应一个URL。对应的Java方法称之为Action,Action定义在特殊的类中,称之为控制器(Controller)。查看controller.Application,打开helloworld/app/controllers/Application.java源文件:

package controllers;
 
import play.mvc.*;
 
public class Application extends Controller {
 
	public static void index() {
		render();
	}
 
}

Application控制器继承于play.mvc.Controller。该父类为控制器提供了很多有用的方法,比如在index方法中调用的render()方法。
读者可能会感到奇怪,index()方法(即Action方法)被声明为public static void,而且Play中所有这些Action方法都必须这样定义。方法被定义为static,是因为控制器类从来不会被实例化。标识public是为了授权框架在URL响应时调用Action方法,并且返回结果总是为void。
默认的index()方法很简单,仅仅调用render()方法让框架使用HTML模板进行渲染。调用模板是响应HTTP请求最常见的方式(但不是唯一方式,比如直接以二进制形式响应)。模板是简单的文本文件,保存在app/views/目录下,由于render()方法中没有指定渲染的目标模板,所以框架默认使用与Action同名的HTML模板文件渲染(上例中为:Application/index.html)。
接下来看下模板文件,打开helloworld/app/views/Application/index.html文件:

#{extends 'main.html' /}
#{set title:'Home' /}
 
#{welcome /}

模板内容看起来非常简洁,只有少量的Play标签。#{welcome /}标签生成了在浏览器中看到的欢迎信息。#{extends /}标签告诉Play此模板是从另外的模板(main.html)继承而来。Play的模板具有继承机制,允许重用公共部分,以此达到创建复杂的Web页面的目的。该特性比以往使用include导入更加灵活和高效。打开helloworld/app/views/main.html模板文件:

<!DOCTYPE html>
<html>
    <head>
        <title>#{get 'title' /}</title>		
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <link rel="stylesheet" type="text/css" media="screen" 
            href="@{'/public/stylesheets/main.css'}" />
        <link rel="shortcut icon" type="image/png" 
            href="@{'/public/images/favicon.png'}" />
    </head>
    <body>
        #{doLayout /} 
    </body>
</html>

main.html模板文件中的#{doLayout /}标签用于动态插入子模板的内容,本例中为Application/index.html的内容。

play框架应用导入eclipse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值