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 15414
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13960
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16496
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22048
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23267
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18921
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39245
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174696
23 [RAD서버] EMS 서버 운영환경에 설치하기(독립형 실행파일) [2] file 험프리 2017.04.28 3479
22 델파이/C++빌더 개발자를 위한 최고의 미들웨어 서버 - RAD 서버 file 험프리 2016.11.02 1782
21 RAD서버로 개발은 확장하면서도 비용을 절감하는 방법 (RAD서버 라이선스 유형별 정리) file 관리자 2017.06.20 1633
20 Swagger / YAML 및 RESTful API의 자체 문서화 김원경 2020.03.11 1603
» RAD 서버 : 웹 속성을 폴더에 매핑하기 file 김원경 2020.03.17 1537
18 센차 ExtJS 웹 클라이언트 + RAD서버 10.2.3 관리자 2018.04.24 1437
17 기존 시스템을 웹(Web)으로 확장하기 위해 고려해야 할 두 가지 포인트 관리자 2018.06.11 1383
16 [RAD서버] [웨비나-딥다이브] 매장 관리 솔루션 개발하기(개발 시나리오와 데모) file 험프리 2016.11.02 1318
15 Ext JS 활용과 앞으로의 방향 관리자 2018.05.24 1277
14 델파이/C++빌더 개발자를 위한 웹 개발 with ExtJS! 관리자 2018.06.04 954
13 [RAD서버] JSON 처리 단순화 컴포넌트 활용 - TEMSDataSetResource 험프리 2019.09.27 752
12 RAD 서버 완벽 가이드 - 200페이지 분량의 전자책 file 험프리 2020.02.07 749
11 RAD서버 솔루션 시리즈: 필드 서비스 애플리케이션 관리자 2018.06.01 623
10 [10.3 리오][업데이트 2] 새로운 RAD서버 관리 콘솔 관리자 2019.08.28 558
9 RAD 서버에 Swagger UI 임베이딩 김원경 2020.03.09 531
8 [10.2 도쿄][릴리즈3] RAD서버에서 센차 Ext JS 지원 확장 관리자 2018.03.30 508
7 윈도우 & 리눅스에 RAD서버 손쉽게 배포하기 관리자 2021.04.12 503
6 리눅스에 RAD서버 배포하기 관리자 2019.07.11 459
5 [발표자료] 2018022 마이크로서비스 아키텍처 구현과 활용 with RAD서버 file 관리자 2018.02.23 428
4 RAD서버 도커(Docker) 기술 가이드 관리자 2020.02.26 423