Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

3티어 구축을 위한 REST 서버를 쉽고 간단하게 구현 방법 (WebBroker) Part 2


Recommended Posts

REST 서버 구축 Part1 보러가기

Part 1 에서 빌드된 프로젝트를 실행 하고 난 후 브라우져를 실행 하고 서버 프로젝트가 실행된 장비의 IP Addrsss 를 입력하면 디폴트로 지정된 메인 페이지를 볼 수 있습니다.

개발시 같은 장비를 사용 하는 경우에도 해당 장비의 IP Addrsss 나 http://127.0.0.1:포트값(8080)을 입력 하면 됩니다.

image.png

 

위저드로 만들어진 프로젝트에는 2개의 unit 파일이 존재 합니다.

image.png

 

메인 페이지에 나타나는 내용은 WebModuleUnit1 WebModule1DefaultHandlerAction 프로시저의 Response.Content 값에 html 문서 형태로 넣어 주면 됩니다.

image.png

procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
  Response.Content :=
    '<html>' +
    '<head><title>Web Server Application</title></head>' +
    '<body>Web Server Application</body><BR><BR> ' +

    '<body>델파이로 만든 REST 웹서버 프로젝트 입니다. </body><BR>' +
    '<body>서버의 메인 URL로 접속시 보여주는 메인 페이지  </body><BR>' +

    '</html>';
end;

 

웹의 메인 페이지 이외에도 서브 페이지도 만들어서 넣을 수 있습니다.

서버 프로젝트가 실행되는 장비의 로컬 경로에 html 서브 페이지나 이미지 파일을 넣고 이 로컬 경로를 웹 URL의 가상 경로로 지정하여 외부에서 브라우저 등을 통해서 접근이 가능하도록 하는 방식 입니다. 통상적인 웹 서버들과 같은 방식 입니다. 

이렇게 하기 위해서 TWebFileDispatcher 컴포넌트를 WebModuleUnit1 컨테이너에 가져다 놓습니다.

WebFileDispatcher1 항목의 RootDirectory 속성이 서버 프로젝트가 실행되는 장비의 로컬 경로 이며

VirtualPath 속성이 외부의 웹 브라우저 등에서 지정하게 되는 URL 경로 입니다. 

image.png

 

TWebFileDispatcher  에서 표출 할 수 있는 파일 형태는 WebFileExtensions 속성에서  Mime Type 으로 지정 할 수 있는데 기본적인 파일들이 포함 되어 있으며 필요 시 추가 해서 사용 할 수 있습니다.

image.png

 

서브 페이지의 파일명을  c:\temp\image\abc.html 로 저장 한 후 웹브라우저에서 표출 되는 예시 입니다.

이미지는 파일명은 c:\temp\image\Rose.png 입니다.

이미지의 경우 RootDirectory 로 지정한 로컬 경로에 저장이 되어 있고 Web 상에서는 /coupon 이라는 가상 경로를 지정 하였으므로 

 <img src="/coupon/Rose.png" 로 경로를 지정 합니다.

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
</head>
<body>  Delphi WEB Server sub page ! </body> <BR>

<body> <img src="/coupon/Rose.png"  width="500" height="500" alt="Rose"> </body>

</html>

 

웹브라우져 에서는 URL 에 http://127.0.0.1:8080/coupon/abc.html 로 서브 페이지로 지정된 abc.html 로 불러 올 수 있고 정상적으로 이미지가 표출 된 것을 확인 할 수 있습니다.

서브 페이지의 경우는 필요한 경우만 사용하면 됩니다.

image.png

 

 

 

이 댓글 링크
다른 사이트에 공유하기

  • c2design changed the title to 3티어 구축을 위한 REST 서버를 쉽고 간단하게 구현 방법 (WebBroker) Part 2

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.