Jython 을 이용한 Servlet 코드 작성하기.

http://jywiki.sourceforge.net/ - 다양한 예제들. Image, JDBC 연동 등.

Resin 에서의 Setting

<web-app> 항목에 다음을 추가
~cpp 
<servlet>
	<servlet-name>PyServlet</servlet-name>
	<servlet-class>org.python.util.PyServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>PyServlet</servlet-name>
	<url-pattern>*.py</url-pattern>
</servlet-mapping>
요즈음(resin 3.08 기준)에는 이렇게 쓴다.
~cpp 
<web-app ..>
  .
  <servlet servlet-name="PyServlet" 
           servlet-class="org.python.util.PyServlet"/>
  <servlet-mapping url-pattern="*.py" servlet-name="PyServlet"/>
  .
  .
</web-app>

resin/lib 디렉토리에 jython.jar 화일을 복사해준다.

예제 코드.
~cpp 
from javax.servlet.http import HttpServlet

class test(HttpServlet):
	def doGet(self, req, res):
		res.setContentType("text/html")
		out = res.getOutputStream()
		out.println("Testing...")
		print >>out, ""
		print >>out, ""
		print >>out, "Hello World..."
		print >>out, ""
		print >>out, ""
		out.close()
		return
작동이 되면 성공.~

Problem

servlet 클래스의 경우는 수정시 바로바로 적용이 되나, import 되는 모듈을 수정하는 경우 바로 적용이 되지 않는다.

PyServlet 의 장점

1002PyServlet 에서 생각하는 장점이라면, Servlet 의 특징으로, CGI와는 달리 인스턴스가 메모리에 남아있다는 점이다. 간단한 프로토타이핑을 할때 memory persistence 를 이용할 수 있게 된다. ZP 에서의 12줄 이야기와 같은 프로그램을 작성할 수도 있다.


Retrieved from http://wiki.zeropage.org/wiki.php/PyServlet
last modified 2021-02-07 05:24:09