2007년 11월 07일
개발할 때에는 JSP를 컴파일하지 않고 바로 보자! - JSP Weaver
얼마 전 동적으로 클래스를 리로딩하게 해주는 JavaRebel 을 소개했던 ZERO TURNAROUND 에서 JSP 를 서블릿으로 변환하지 않고 PHP 처럼 바로 인터프리팅 방식으로 쓸 수 있게 해주는 JSP Weaver 라는 제품을 만들고 있군요.
호기심에 바로 설치를 해서 테스트를 해보았는데... 아직 우리나라에서는 쓸 수가 없겠군요 ㅋ 한글이 깨지니까...
하지만 이것만 수정되면 나름대로 웹 개발할 때 생산성 향상에 꽤 기여를 할 수 있을 것 같네요.
설정은 jspweaver.jar 를 WEB-INF/lib 에 갖다 놓고 web.xml 에 다음과 같이 적어주면 사용할 수 있습니다.
<servlet>
<servlet-name>weaverServlet</servlet-name>
<servlet-class>
com.zeroturnaround.jspweaver.JspInterpretingServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet><servlet-mapping>
<servlet-name>weaverServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
JVM 1.3 버전을 사용하는 곳에서도 사용할 수가 없겠군요. 1.4로 컴파일 된 클래스를 제공하기 때문에 1.3 이하에서는 다음과 같은 메시지를 보게 됩니다.
java.lang.ClassNotFoundException: Class bytes found but defineClass() failed with java.lang.UnsupportedClassVersionError: com/zeroturnaround/jspweaver/JspInterpretingServlet (Unsupported major.minor version 48.0) for com.zeroturnaround.jspweaver.JspInterpretingServlet
JSP 를 1.0부터 2.1까지 지원하는데, Java 5.0 에서 추가된 기능(generics, enum 등)이 스크립틀릿에 사용되면 안된답니다.
JavaRebel 과 JSP Weaver 는 둘 다 아직 정식버전이 출시되지는 않았습니다. 하지만 라이센스 판매는 하고 있는 상태죠.


# by | 2007/11/07 12:26 | Programmer's notes | 트랙백 | 덧글(1)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제 개발환경에서는 잘되는데 다른분도 될지는 모르겠군요.
-javaagent:D:\...\Tomcat5.5.27\bin\javarebel.jar -noverify -Dfile.encoding=utf-8
이렇게 뒤에 encoding속성을 주시면 utf-8환경에서도 한글 잘됩니다..
단지 tomcat 같은 경우 로그가 깨지던데...콘솔 인코딩을 같은 utf-8하면 로그도 한글로 잘나옵니다.
(여담이지만...라이센스 없이 무제한 쓰게 하는 방법도 있습니다...)