DavidI  블로그 글을 번역한 것입니다.

 

·         본문 링크 :https://community.idera.com/developer-tools/b/blog/posts/rad-server-mapping-web-properties-to-folders

RAD 서버 : 웹 속성을 폴더에 매핑하기

엠바카데로 아카데미 RAD 서버 과정에서 "델파이와 RAD서버로 서비스 기반 솔루션 설계-빌드-디버그-배포까지" , "C++빌더와 RAD서버로 서비스 기반 솔루션 설계-빌드-디버그-배포까지"과정들은 개발자들에게 애플리케이션의 리소스 엔드 포인트에서 JavaScript, HTML, 이미지, CSS 및 기타 웹 자산 파일과 코드를 통합하는 방법을 보여줍니다.

 

RAD 서버 구성 파일(emserver.ini) 섹션에는 [Server.PublicPaths]라는 레이블이 있는데 웹 콘텐츠의 공용 경로 설정에 대한 정보와 예제가 포함되어 있습니다. 서버 공용 경로 항목에는  등호 앞에 고유 한 임의의 이름이 있습니다 JSON 기반 항목은 컴퓨터 디렉토리를 RAD 서버 애플리케이션이 사용할 수 있는 웹 정보 타입에 매핑합니다. 각 항목에는 "경로": "값", 파일이 있는 디렉토리, 검색 시 전달할 기본 파일(옵션),  MIME 파일 형식 마스크 배열(옵션), 파일 확장자의 배열(옵션), 디렉토리에서 파일에 대한 옵션인 인코딩  문자 집합 이 있습니다.

 

예를 들어 [Server.PublicPaths] 섹션의 RAD 서버 구성 파일에 대한  경로 항목은 다음과 같습니다. 

 

Path1={"path": "images", "directory": "C:\\WebAssets\\images\\", "default": "index.html", "mimes": ["image/*"]}
Path2={"path": "content", "directory": "C:\\WebAssets\\content\\", "default": "index.html", "extensions": ["js", "html", "css"]}

 

C : \ WebAssets \ Content 및 C : \ WebAssets \ Images 디렉토리를 생성하십시오. 다음과 같은 HTML을 포함하는 index.html 파일을 C : \ WebAssets \ Content 디렉토리에 작성하십시오.

 

<!DOCTYPE html>

<html>

<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">

</script>

<script>

$(document).ready(function(){

$("button").click(function(){

$.ajax({url: "/WebProperties", success: function(result){

$("#div1").html(result);

}});

});

});

</script>

</head>

<body>

<h2>RAD Server JS + Service</h2>

<button>Get RAD Server Content</button>

<P></p>

<div id="div1">RAD Server GET method result will appear here</div>

</body>

</html>

 

Get 및 GetItem 엔드 포인트 구현을 위해 다음 코드를 추가하십시오.(원본에는 C++ 소스도 있습니다.)

 

unit ResourceUnit;

 

// EMS Resource Module

 

interface

 

uses

  System.SysUtils, System.Classes, System.JSON,

  EMS.Services, EMS.ResourceAPI, EMS.ResourceTypes;

 

type

  [ResourceName('WebProperties')]

  TWebPropertiesResource1 = class(TDataModule)

  published

    procedure Get(const AContext: TendpointContext;

const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);

    [ResourceSuffix('{item}')]

    procedure GetItem(const AContext: TendpointContext;

const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);

  end;

 

implementation

 

{%CLASSGROUP 'System.Classes.TPersistent'}

 

{$R *.dfm}

 

procedure TWebPropertiesResource1.Get(const AContext: TendpointContext;

const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);

begin

  Aresponse.Body.SetValue(TJSONString.Create(

    'WebProperties get method called at ' + TimeToStr(Now)), True)

end;

 

procedure TWebPropertiesResource1.GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);

var

  LItem: string;

begin

  LItem := ARequest.Params.Values['item'];

  AResponse.Body.SetValue(TJSONString.Create('WebProperties ' + LItem), True)

end;

 

procedure Register;

begin

  RegisterResource(TypeInfo(TWebPropertiesResource1));

end;

 

initialization

  Register;

end.

 

RAD 서버 프로젝트를 컴파일하고 URL에 대해 localhost : <port #> / Content를 사용하여 브라우저 열기 버튼을 클릭하십시오. 브라우저에 index.html 파일이 나타납니다.

 

pastedimage1584125485308v1.png-320x240.png

 

버튼을 클릭하여 Get 엔드 포인트를 호출하고 결과를 확인하십시오.

 

pastedimage1584125512498v2.png-320x240.png

RAD Server 엠바카데로 과정에 등록하여 3 시간 이상의 강의를 보고 과정 노트를 읽고 예제 프로젝트를 해 볼 수 있습니다. RAD Server, 델파이 또는 C++ 빌더의 Enterprise, Architect 또는 시험판이 필요합니다.

 

pastedimage1584125591523v3.png-320x240.png

 

pastedimage1584125611808v4.png-320x240.png

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15557
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 14003
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16537
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22123
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23375
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18967
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39363
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174768
823 [업데이트][10.2 도쿄][릴리즈 3] 10.2 도쿄 - 릴리즈 3 출시 & 설치방법 안내 관리자 2018.03.14 1155
822 이 달의 기술자료 - 2018년 03월 file 험프리 2018.02.23 777
821 [발표자료] 2018022 마이크로서비스 아키텍처 구현과 활용 with RAD서버 file 관리자 2018.02.23 430
820 [업데이트][핫픽스][10.2.2] RTL 호환성패치 및 안드로이드 애니메이션 문제 해결 - 2018년 2월 패치 file 험프리 2018.02.20 572
819 개발자가 고민하는 마이그레이션 논쟁 해소를 위한 7가지 핵심 방안 관리자 2018.02.19 1383
818 [고객사례-UI컴포넌트 개발도구, 델파이] 페트라 (Petra) 관리자 2018.02.01 1218
817 이 달의 기술자료 - 2018년 02월 file 험프리 2018.01.25 535
816 [업데이트][핫픽스][10.2.2] 웰컴 페이지 패치 험프리 2018.01.25 469
815 2017년 가장 많이 클릭된 기술자료 TOP 7 관리자 2018.01.23 1219
814 [발표자료] 2018011 What's NEW! RAD스튜디오 10.2.2 관리자 2018.01.18 410
813 이 달의 기술자료 - 2018년 01월 험프리 2017.12.28 581
812 RFID 리더(한미IT RF Prisma) 연동하기 - 델파이에서 JAR 이용 [1] 험프리 2017.12.19 1559
811 TFrame의 생성 및 해제를 편하게 해주는 TFrame 관리 클래스입니다.. file 푸른솔 2017.12.15 1757
810 [10.2 도쿄][릴리즈2] 기타 10.2.2에서 추가 강화된 내용 file 험프리 2017.12.13 734
809 [10.2 도쿄][릴리즈2] RAD 서버 싱글 사이트 라이선스 제공 험프리 2017.12.13 638
808 [10.2 도쿄][릴리즈2] 새로운 VCL 컨트롤 4종을 사용할 수 있습니다. file 험프리 2017.12.13 806
807 [10.2 도쿄][릴리즈2] FireMonkey 퀵에디트로 주요 속성을 시각적으로 빠르게 설정할 수 있습니다. file 험프리 2017.12.13 377
806 [10.2 도쿄][릴리즈2] IDE 룩앤필이 새로워졌습니다. - 다크테마 지원, 컴포넌트 아이콘 변경 file 험프리 2017.12.13 810
805 [업데이트][10.2 도쿄][릴리즈 2] 10.2 도쿄 - 릴리즈 2 출시 & 설치방법 안내 file 험프리 2017.12.13 1712
804 [고객사례-설치도구, 델파이] RAD 안드로이드 관리자 2017.12.06 537