https://glassfish-samples.dev.java.net/source/browse/*checkout*/glassfish-samples/tags/JAVAEE6_SAMPLES-0_9-b16/ws/javaee6/docs/list.html

링크를 보면 J2EE 6와 Servlet 3.0의 달라진 점들을 볼 수 있다.

좀더 뒤져보니 실제 소스는 
https://glassfish-samples.dev.java.net/files/documents/4742/146034/javaee6-samples-1.0-b03-installer.jar
로 다운로드 하면 된다. ^^;

해당 파일을 다운 받아서
java -jar javaee6-samples-1.0-b03-installer.jar
를 커맨드 창에서 수행하면 된다.

그렇다면 Servlet 3.0은 머가 어떻게 바뀌었을까?
외국에 친절한 아저씨가 정리해 놓은 글이 있으니 아래 링크를 참조하기 바란다.
http://www.jsptube.com/servlet-tutorials/servlet3/new-features.html
(영어 잘 못해도 자바 할 줄 알면 이해 될꺼다)

내가 필요한 기능들만 간단하게 두 줄로 요약하면,
- web.xml에 더 이상 설정할 필요없이 소스에 servlet과 filter를 지정하면되고, fragment라는 것도 지원한다.
- 하나의 쓰레드에서 여러 요청을 처리할 수 있는 AsyncContext를 제공한다.


그럼 이러한 Servlet 3.0을 돌릴수 있는 서버는 없을까나?
당연히 있다. Glassfish 3.0에서는 Servlet 3.0을 지원하고, J2EE 6를 지원한다.
가장 쉽게 개발해 볼 수 있는 환경은 glassfish가 내장된(?) eclipse를 설치해서 써 보는거다.
링크는 아래에...
http://labnol-proxy-server.appspot.com/download.java.net/glassfish/eclipse/


Posted by tuning-java

댓글을 달아 주세요




Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 책에 있는 소스 코드들이다.

혹시 잘못된 부분이 있으면 이야기해 주세요.

수정해서 올리겠습니다.

modified 2008.10.15. Because of StopWatch's Bug
Posted by tuning-java

댓글을 달아 주세요

  1. String 2008.10.14 15:29  댓글주소  수정/삭제  댓글쓰기

    StopWatch쪽 소스중 생성자가

    public StopWatch() {
    currentName=new StringBuffer();
    startTime=System.nanoTime();
    }

    public StopWatch(boolean threadFlag) {
    changeMessage("",true,true);
    }

    public StopWatch(String message) {
    changeMessage(message,false,true);
    }

    public StopWatch(String message,boolean threadFlag) {
    changeMessage(message,threadFlag,true);
    }

    이렇게 있는데..

    첫번째 생성자를 제외한 나머지 생성자에도 changeMessage()메소드를 호출해 주기전에
    currentName=new StringBuffer();
    startTime=System.nanoTime();
    이 코드들이 들어가야 하지 않나 싶습니다.