원문 : http://www.getahead.ltd.uk/dwr/intro.html
번역 : 이도운(idoun21)http://cafe.naver.com/deve/

DWR과 함께 시작하면서#

DWR과 함께 시작하는 데에는 두 가지 길이 있는데, 쉬운 방법은 WAR파일을 다운로드 받고 둘러보는 것이지만, 이것은 어느 정도나 쉽게 DWR이 당신의 현 웹 어플리케이션과 통합하는지 보는 것을 도와줄 수 없으므로, 다음의 3개의 간단한 Step들을 추천합니다.

1. DWR JAR파일을 인스톨한다.

Dwr.jar파일을 다운로드 하세요. webapp의 WEB-INF/lib 디렉터리에 위치시킵니다. 아마도 거기에 이미 다른 jar파일들이 있을 겁니다.

2. config 파일들을 수정한다.

다음의 행을 WEB-INF/web.xml 에 추가해야 합니다. <servlet>섹션은 다른 <servlet>섹션들과 함께 추가할 필요가 있고, 마찬가지로 <servlet-mapping>섹션도 그렇습니다.

<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <display-name>DWR Servlet</display-name>
  <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
  <init-param>
     <param-name>debug</param-name>
     <param-value>true</param-value>
  </init-param>
</servlet>
 
<servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

그리고 dwr.xml파일을 WEB_INF에 web.xml과 나란히 있게 만듭니다. 간단히 시작하는 방법은 이렇게 하는 것입니다.

<dwr>
  <allow>
    <create creator="new" javascript="JDate">
      <param name="class" value="java.util.Date"/>
    </create>
    <create creator="new" javascript="Demo">
      <param name="class" value="your.java.Bean"/>
    </create>
  </allow>
</dwr>

DWR config 파일은 DWR이 생성할 수 있고 자바스크립트를 사용해 조종할 수 있는 클래스를 정의합니다. 위 예제에서는 분리된 두 클래스를 정의하고 있고 Javascript에서의 클래스 이름들을 지정하고 있습니다.

위에서 사용한 new 생성자는 모든 JavaBeans가 가져야만 하는 public no-args 생성자를 사용합니다. 또한 DWR은 몇 가지 제한이 있다는 것을 기억하는 것이 좋겠습니다.

  • Javascript 예약어를 피하십시오. 예약어를 따라 이름 붙여진 메소드들은 자동으로 제외됩니다. 대부분의 Javascript 예약어들은 또한 Java 예약어이므로, 어쨌든 try() 메소드를 넣을필요가 없습니다. 가장 일반적으로 알고 있는 것이 “delete()”일지라도, Javascript에는 특별한 의미를 가지지만 Java는 아니죠.
  • 오버라이드된 메소드는 로또 뽑기에 말려들 수 있으므로 피하라.

3. 다음 URL로 가세요.

http://localhost:8080/(여러분의WEBAPP)/dwr

여러분은 Step 2에서 선택했던 클래스들을 보여주는 페이지를 볼 수 있어야 합니다. 위 링크에서 호출될 수 있는 모든 메소드들의 인덱스를 볼 수 있을 것입니다. 이 페이지들은 여러분이 DWR을 사용하여 할 수 있는 것들의 예제들을 동적으로 생성합니다.

타이어를 차 버리고 주변을 둘러 보세요.

여러분의 웹 어플리케이션에 이것을 이용하여 만드는 법

사이드바에는 동적으로 웹 페이지의 텍스트를 변경하고, 리스트를 업데이트 하고, form을 조종하고, 테이블 수정을 실제로 할 수 있는 방법을 보여주는 예제들이 많습니다. 각각 어떻게 동작하는지 설명하고 있습니다..

시작을 위한 다른 방법은 여러분이 막 본 페이지들의 소스를 보는 것입니다.

  • 소스를 보고 관심 있는 메소드를 실행하는 라인을 찾으세요.
  • 여러분의 웹 어플리케이션의 HTML이나 JSP페이지에 텍스트를 붙여 넣으세요.
  • 마법을 일으키게 하는 Javascript 파일 링크를 include하세요.

<script src='/(YOUR-WEBAPP)/dwr/interface/(YOUR-SCRIPT-NAME).js'></script>
<script src='/(YOUR-WEBAPP)/dwr/engine.js'></script>

보안에 대해 생각합시다.

여러분은 이 코드를 사용하면서 모든 종류의 보안상의 문제들을 일으킬 수 있는 위험이 있습니다. 보안에 대해서는 나중에 하느니 일찍 생각할 필요가 있지요.

최상의 안전을 위해, 위쪽의 Step 2의 제한사항에 대한 생각을 마음속에 담고 DWR으로 클래스들을 작성하십시오. 공격자들에게 여러분이 원한 것보다 훨씬 많은 것을 할 수 있을법한 메소드를 갑작스럽게 include하지 마십시오.

dwr로의 접근은 서블릿 스펙에 선언적인 보안체(declarative security built)를 이용하여 제한될 수 있습니다.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-5) was last changed on 06-Apr-2006 09:45 by newoverguy