놀다 !

4300 단어 플레이
conf 디렉토리는 주로 일부 구성 정보를 저장합니다.
보시다시피: conf 디렉토리에는 application.conf와 route라는 두 개의 파일이 있습니다.
application.conf 파일에는 로그 수준, 데이터베이스 연결 풀 및 기타 정보를 구성하는 응용 프로그램의 구성 정보가 들어 있습니다.

경로 파일은 응용 프로그램의 라우팅 정보를 정의하고 HTTP 요청을 특정 메서드 구현에 매핑하는 데 사용됩니다.
기본적으로 두 개의 레코드가 있습니다.
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~

# Home page
GET     /                           controllers.Application.index()

# Map static resources from the /public folder to the /assets URL path
GET     /assets/*file               controllers.Assets.at(path="/public", file)


첫 번째 레코드를 예로 들어 보겠습니다.
'/'경로의 GET 요청의 경우 controller.Application.index() 메서드에 매핑됩니다. 이 메서드는 재생 중인 작업 메서드라고 합니다.

프로젝트 디렉토리~ 그 안의 파일들은 주로 플레이의 빌드 구성을 지정하는 데 사용됩니다!
구성은 주로 구성을 위해 프로젝트 루트 디렉터리의 build.sbt를 사용합니다. project/build.properties 및 project/plugins.sbt는 SBT 구성 파일입니다.

build.sbt 구성 파일의 기본값은 다음과 같습니다.
name := "application名称"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache
)     

play.Project.playJavaSettings


액션 메서드는 public, static, 반환 유형이 Result의 세 가지 조건을 충족해야 합니다.
설명: TODO 결과는 메서드가 구현되지 않았음을 나타냅니다.

package controllers;

import play.mvc.Controller;
import play.mvc.Result;

/**
 * Created by 2011204 on 14-7-19.
 */
public class Products extends Controller {
    public  static Result list(){
        return TODO;
    }

    public static Result details(String name){
        return TODO;
    }

    public static  Result newProduct(){
        return TODO;
    }

    public static  Result save(){
        return TODO;
    }
}


route는 라우팅 정보를 추가합니다.
GET  /products/       controllers.Products.list()
GET  /products/new    controllers.Products.newProduct()
GET  /products/:ean   controllers.Products.details(ean:String)
POST /products/       controllers.Products.save()


브라우저에서 http://127.0.0.1:9000/products/를 열면 TODO 결과 작업이 아직 구현되지 않은 것을 볼 수 있습니다.

Play 템플릿은 HTML과 Scala의 두 가지 언어로 구성되어 있으며 Play는 HTML을 렌더링하기 위해 스칼라 코드를 클래스 파일로 컴파일합니다. 템플릿은 애플리케이션의 보기 폴더에 있으므로 코드에서 템플릿을 분리하는 데 도움이 되며 명확하게 보입니다.

/app/views/main.scala.html HTML 상용구를 렌더링하기 위해 play에서 만든 템플릿입니다.
public  static Result list(){
//  return TODO;
    List<Product>  products = Product.findAll();
    return ok(views.html.products.list.render(products));
}


Play는 템플릿 파일을 이 클래스의 render() 메서드인 .class 파일로 자동 컴파일합니다.
render 메서드를 호출하면

형태
Play는 양식에 제출된 데이터를 데이터 바인딩이라는 Java 개체와 연결합니다.
Play에는 세 가지 바인딩 유형이 있습니다.
양식 바인딩, URL 쿼리 매개변수 바인딩 및 URL 경로 바인딩
데이터 바인딩은 간단한 프로세스입니다. HTTP 매개변수 값은 Java 개체에서 동일한 이름의 속성에 매핑됩니다.
매개변수 이름이 Java 객체 속성 이름과 일치할 때마다 HTTP 매개변수 값이 Java 객체에 할당됩니다.
Play의 바인딩에서 바인딩 프로세스는 스프링 데이터에 위임됩니다.
URL 쿼리 매개변수 바인딩 프로세스

상품에 라우팅에 해당하는 ID 필드가 있는 경우
GET /products Products.edit(id: Long)

다음과 같이 이 URL에 매핑할 수 있습니다.
http://localhost:9000/products?id=12


URL 경로 바인딩에는 Java 개체의 속성 일치를 위한 매핑된 경로가 포함되어 있습니다.

Play는 데이터가 모델에 바인딩될 때 데이터의 유효성을 검사합니다.
기본 제공 유효성 검사 주석을 재생합니다.




@필수의
입력 필드가 비어 있지 않음을 나타냅니다.


@최소
설명 최소값 입력


@맥스
설명 최대값 입력


@최소길이
입력 문자열의 최소 길이를 지정합니다.


@최대길이
입력 문자열의 최대 길이를 지정합니다.


@무늬
입력이 정규식과 일치하는지 확인


@ValidateWith
사용자 지정 유효성 검사 사용


@이메일
이메일 형식인지 확인‍








Play는 디자인 작업에 @With 주석을 제공합니다.
@With는 작업 선언 전에 실행됩니다.

비동기 데이터 처리:
데이터를 비동기식으로 처리하는 목표 중 하나는 애플리케이션이 클라이언트에 즉시 응답하는 동시에 수천 개의 동시 연결로 확장할 수 있도록 하는 것입니다.


Play 애플리케이션 배포:
프로덕션 환경에서 Play 애플리케이션을 배포하는 것은 주로 두 가지 명령인 play stage와 play dist를 사용합니다.
play stage 명령은 대상/단계 및 시작 스크립트 아래에 배치된 JAR 파일로 응용 프로그램과 응용 프로그램이 의존하는 Jar를 컴파일합니다.
대상/단계 스크립트 실행기를 직접 실행할 수 있습니다.
play dist는 필요한 모든 파일을 zip 파일로 압축하고 zip 파일을 지정된 서버로 전송할 수 있으며 압축을 푼 후 시작 프로그램을 실행할 수 있습니다.

좋은 웹페이지 즐겨찾기