'web.xml'에 해당되는 글 1건

  1. 2009.08.23 Googlel App Engine: web.xml에 지원 안되는 것들
최근에 몸이 안좋다는 핑계로 이것 저것 하던 것들 다 손에서 내려 놓고, 아무것도 제대로 해보지 않은지 약 1달이 되었다. 이전에 Twiter4J 분석해서 여러가지를 테스트하고는 이를 GAE에 올리려고 하다가, 말았는데 그 이유는 새로 다운 받은 Eclipse 3.5 버전(Galileo)에서 돌아가는 GAE 플러그인이 제공되지 않았기 때문이 었다. 그 이후로 수 차례 GAE 사이트에 들어가서, 확인을 해 보았지만, 여전히 제공되지 않는 것을 확인하고는 잊고 있었다.

그러다가 최근에야 Eclipse 3.5 플러그인이 제공되는 것을 알게 되었다.
오늘은 GAE에 변경된 것들이 있는지 문서들을 읽어 보다가 web.xml 설정에 대한 제약들을 알게 되었는데, 어쩌면 당연한 것이라고 생각되는 것이었다.

아래의 내용인데,

App Engine supports the <load-on-startup> element for servlet declarations. However, the load actually occurs during the first request handled by the web server instance, not prior to it.

App Engine supports <mime-mapping> elements for specifying the MIME type to use for resources whose filenames end with certain extensions. However, MIME mappings only apply to servlets, not to static files. Static files use a fixed list of mappings of filename extensions to MIME types.

Some deployment descriptor elements can take a human readable display name, description and icon for use in IDEs. App Engine doesn't use these, and ignores them.

App Engine doesn't support JNDI environment variables (<env-entry>).

App Engine doesn't support EJB resources (<resource-ref>).

The <distributable> element is ignored.

Servlet scheduling with <run-at> is not supported.


읽어보면 Web Applicaton 시작시에 순서를 정해주게 되어 있는데, 이는 GAE에서는 별다는 의미를 부여하지 않는다는 것이다. 이를 사전에 처리하는 것이 아니라, 웹서버의 instance에 의해 첫번째 요청을 처리하는동안 load 되기 때문이다.

그리고, MIME mapping은 Servlet에 맵핑할때만 사용될뿐, 정적파일에는 사용되지 않는다. 정적 파일들에 대한 맵핑은 Fixed 된 파일을 통해서 정의해서 사용한다.

그리고,
- JNDI 환경변수를 지원하지 않는다.
- App Engine은 EJB 환경 변수를 지원하지 않는다.
- <distribution>은 무시한다.
- <run-at>태그를 이용한 Servlet의 스케즐링도 지원하지 않는다.
        (==> 기존의 다른 WAS상의 run-at 태그의 이용에 대한 것은 다음의 링크를 참조하면 된다.
        http://www.caucho.com/resin-3.0/servlet/run-at.xtp )



Posted by 행복상자