http://javaora.tistory.com/entry/DWR-%EC%82%AC%EC%9A%A9%EC%9D%84-%EC%9C%84%ED%95%9C-webxml-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95 DWR을 사용하기 위해 web.xml에 설정해야하는 최소한의 내용은 아래와 같다.
·미리보기 | 소스복사·
- <servlet>
- <servlet-name>dwr-invoker</servlet-name>
- <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>dwr-invoker</servlet-name>
- <url-pattern>/dwr/*</url-pattern>
- </servlet-mapping>
DWR 2.x 에서는 org.directwebremoting.servlet.DwrServelet 을 호출해야하나 uk.ltd.getahead.dwr.DWRServlet 을 호출해도 사용은 가능하다. DWR 1.x 에서는 꼭 uk.ltd.getahead.dwr.DWRServlet 을 사용해야한다.
추가적으로 몇가지 추가가능한 servlet 파라미터가 있다.
DWR 설정(Configuring DWR)
DWR 확장을 위한 표준적인 메카니즘은 init-params 를 사용하는 것이다. 가장 일반적인 init-param 은 test mode 를 enable 시키는 것이다. 이러한 파라미터들중 하나를 사용하는 방법은 <servlet> 구문을 아래와 같이 변경하는 것이다.
·미리보기 | 소스복사·
- <servlet>
- <servlet-name>dwr-invoker</servlet-name>
- <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>true</param-value>
- </init-param>
- </servlet>
DWR 은 좀 더 많은 init-param 을 지원한다. 아래 파라미터들 이외에도 몇가지 파라미터들이 더 있으나 아래 표시되지 않는 파라미터들은 다음 버젼에선 deprecate 될 예정이다.
Security Parameters
allowGetForSafariButMakeForgeryEasier
Version : 2.0
Default : false
Notes : true 시 Safari 1.x 에서 DWR 을 작동하게 한다.
Default : false
Notes : true 시 Safari 1.x 에서 DWR 을 작동하게 한다.
crossDomainSessionSecurity
Version : 2.0
Default : true
Notes : false 시 다른 도메인으로부터의 요청(request)를 가능하게 한다. 이것을 가능하게 하면 중대한 보안상의 위험이 될 수 도 있다. 반드시 위키페디아의 CSRF 에 대한 내용등을 참고한뒤 해당사항에 대한 이해를 한뒤 설정을 변경해야 한다.
Default : true
Notes : false 시 다른 도메인으로부터의 요청(request)를 가능하게 한다. 이것을 가능하게 하면 중대한 보안상의 위험이 될 수 도 있다. 반드시 위키페디아의 CSRF 에 대한 내용등을 참고한뒤 해당사항에 대한 이해를 한뒤 설정을 변경해야 한다.
allowScriptTagRemoting
Version : 2.0 rc4
Default : true
Notes : true 시 Script Tag remoting 을 가능하게 한다. 이것을 가능하게 하면 중대한 보안상의 위험이 될 수 도 있다. 반드시 위키페디아의 CSRF 에 대한 내용등을 참고한뒤 해당사항에 대한 이해를 한뒤 설정을 변경해야 한다.
Default : true
Notes : true 시 Script Tag remoting 을 가능하게 한다. 이것을 가능하게 하면 중대한 보안상의 위험이 될 수 도 있다. 반드시 위키페디아의 CSRF 에 대한 내용등을 참고한뒤 해당사항에 대한 이해를 한뒤 설정을 변경해야 한다.
debug
Version : 1.0
Default : false
Notes : true 시 debug/test page 기능을 가능하게 한다.(DWR이 dwr.xml에 등록된 클래스들에 대한 테스트 페이지를 생성하게 된다.)
Default : false
Notes : true 시 debug/test page 기능을 가능하게 한다.(DWR이 dwr.xml에 등록된 클래스들에 대한 테스트 페이지를 생성하게 된다.)
scriptSessionTimeout
Version : 2.0
Default : 1800000(30분)
Notes : 얼마나 빨리 scriptSession이 종료되는지를 지정함.
Default : 1800000(30분)
Notes : 얼마나 빨리 scriptSession이 종료되는지를 지정함.
maxCallCount
Version : 2.0 rc2 and 1.1.4
Default : 20
Notes : 한번에 일을 처리 할 수 있는 최대 콜(call) 수.(동시에 이용가능한 DWR의 Call 수를 의미하는 듯 함.) - Dos 공격을 예방 할 수 있다.
Default : 20
Notes : 한번에 일을 처리 할 수 있는 최대 콜(call) 수.(동시에 이용가능한 DWR의 Call 수를 의미하는 듯 함.) - Dos 공격을 예방 할 수 있다.
Ajax Server Load Protection Parameters
activeReverseAjaxEnabled
Version : 2.0 rc3
Default : false
Notes : true로 세팅시 polling과 comet 이 가능해진다. 이는 DWR이 server overload 예방 메카니즘을 가지고 있다 하더라도 서버에 많은 부하(load)를 줄 수 있다. rc3 이전에는 pollAndCometEnabled 라고 불리었다.
Default : false
Notes : true로 세팅시 polling과 comet 이 가능해진다. 이는 DWR이 server overload 예방 메카니즘을 가지고 있다 하더라도 서버에 많은 부하(load)를 줄 수 있다. rc3 이전에는 pollAndCometEnabled 라고 불리었다.
pollAndCometEnabled
Version : 2.0 rc1
Default : false
Notes : activeReverseAjaxEnabled 참고.
Default : false
Notes : activeReverseAjaxEnabled 참고.
maxWaitingThreads
Version : 2.0
Default : 100
Notes : 최대 thread 의 수(오직 thread-dropping을 지원하지 않는 servlet engine 에서만 사용한다.)
Default : 100
Notes : 최대 thread 의 수(오직 thread-dropping을 지원하지 않는 servlet engine 에서만 사용한다.)
maxHitsPerSecond
Version : 2.0
Default : 40
Notes : 최대 hit 의 수(오직 thread-dropping을 지원하지 않는 servlet engine 에서만 사용한다.)
Default : 40
Notes : 최대 hit 의 수(오직 thread-dropping을 지원하지 않는 servlet engine 에서만 사용한다.)
Other Parameters
[Interface Name]
Version : 1.1
Default : 특정 인터페이스의 구현체로 특정 인터페이스를 오버라이드(override) 하는 것을 허용한다.
Notes : 재컴파일이 필요하다.(Plug-ins 부분 참고 필요)
Default : 특정 인터페이스의 구현체로 특정 인터페이스를 오버라이드(override) 하는 것을 허용한다.
Notes : 재컴파일이 필요하다.(Plug-ins 부분 참고 필요)
ignoreLastModified
Version : 2.0
Default : false
Notes : 기본으로 DWR 은 Last-Modified/ETags 를 제공한다. 이를 true 로 세팅하면 이 기능을 제공하지 않는다.
Default : false
Notes : 기본으로 DWR 은 Last-Modified/ETags 를 제공한다. 이를 true 로 세팅하면 이 기능을 제공하지 않는다.
scriptCompressed
Version : 1.1 - 2.0
Default : false
Notes : 3.0 에서는 DWR 은 자동으로 결과물 scipt를 실시간으로 압축을 하며, debug 모드에서는 비압축상태로 되어있다. 'scriptCompressed' init-param이 필요하지 않다. DWR은 ShrinkSafe 나 YUI 압축기(compressor) 가 classparh 내에 있으면 이를 자동적으로 사용하고 그렇지 않으면 빌트인(built-in) 된 simpler 압축기(compressor)를 사용한다. 3.0 이전의 버젼들은 simpler 압축기만 가능하며, 'scriptCompressed' init-param 설정을 true 로 세팅해주어야 한다. 이는 문서화되지 않은 파라미터인 compressionLevel과 연관이 있다.
Default : false
Notes : 3.0 에서는 DWR 은 자동으로 결과물 scipt를 실시간으로 압축을 하며, debug 모드에서는 비압축상태로 되어있다. 'scriptCompressed' init-param이 필요하지 않다. DWR은 ShrinkSafe 나 YUI 압축기(compressor) 가 classparh 내에 있으면 이를 자동적으로 사용하고 그렇지 않으면 빌트인(built-in) 된 simpler 압축기(compressor)를 사용한다. 3.0 이전의 버젼들은 simpler 압축기만 가능하며, 'scriptCompressed' init-param 설정을 true 로 세팅해주어야 한다. 이는 문서화되지 않은 파라미터인 compressionLevel과 연관이 있다.
sessionCookieName
Version : 2.0
Default : JSESSIONID
Notes : DWR 은 document location 검사와 현재 sessionid 의 추출에 의한 URL re-writing 을 지원한다. 몇몇 servlet engine은 비표준 쿠키 이름을 사용한다.
Default : JSESSIONID
Notes : DWR 은 document location 검사와 현재 sessionid 의 추출에 의한 URL re-writing 을 지원한다. 몇몇 servlet engine은 비표준 쿠키 이름을 사용한다.
welcomeFiles
Version : 2.0
Default : index.html, index.htm, index.jsp
Notes : web.xml 의 <welcome-file-list>를 override 한다.
Default : index.html, index.htm, index.jsp
Notes : web.xml 의 <welcome-file-list>를 override 한다.
normalizeIncludesQueryString
Version : 2.0 rc3
Default : false
Notes :
Default : false
Notes :
overridePath
Version : 2.0
Default : null
Notes :
Default : null
Notes :
이상으로 DWR을 사용하기 위한 web.xml 설정 방법들에 대해 알아보았다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 81 | [React.JS] 강좌 목록 | 황제낙엽 | 2020.05.19 | 385 |
| 80 |
Redux: React 앱의 효율적인 데이터 교류
| 황제낙엽 | 2020.05.19 | 971 |
| 79 | Jasmine 관련 | 황제낙엽 | 2020.01.13 | 492 |
| 78 | 마우스 드래그(drag)시 iframe 위에서 컨트롤 잃는 현상과 해결 방안 | 황제낙엽 | 2017.12.12 | 28270 |
| 77 | 다섯 가지의 Ajax 우수 사례 | 황제낙엽 | 2011.04.07 | 490 |
| 76 | 15+ jQuery Popup Modal Dialog Plugins and Tutorials | 황제낙엽 | 2011.03.30 | 574 |
| 75 |
$.ajax() 공략
| 황제낙엽 | 2011.03.27 | 670 |
| 74 | DWR을 이용해서 객체를 JSON으로 변환하기 | 황제낙엽 | 2011.03.25 | 347 |
| 73 |
json을 이용한 로그인 구현
| 황제낙엽 | 2011.03.25 | 832 |
| 72 | How Prototype extends the DOM (Prototype으로 DOM을 확장하는 법) | 황제낙엽 | 2011.03.24 | 695 |
| 71 | 스크랩 | 황제낙엽 | 2009.04.16 | 439 |
| 70 | YUI 스크랩 | 황제낙엽 | 2009.03.12 | 323 |
| 69 | 스크랩 | 황제낙엽 | 2009.03.11 | 316 |
| 68 | 관심 사이트 | 황제낙엽 | 2009.03.12 | 431 |
| 67 | 웹 개발 패러다임의 전환 - Flex와 Ajax의 동거 | 황제낙엽 | 2006.12.21 | 434 |
| 66 | Ajax 강의 정리 | 황제낙엽 | 2006.04.04 | 387 |
| 65 | 자바 기술을 이용한 AJAX의 활용 | 황제낙엽 | 2006.02.08 | 347 |
| 64 |
대표적인 AJAX Framework 소개
| 황제낙엽 | 2007.02.14 | 414 |
| 63 | Ajax Framework 인기 순위: Ajaxian.com | 황제낙엽 | 2007.02.13 | 368 |
| 62 |
prototype.js 를 위한 개발자 노트 (Ajax Framework)
| 황제낙엽 | 2007.02.15 | 335 |