配置tomcat支持jython

  • 环境准备

所需软件:Jython 2.5a2 或Jython 2.2.1,tomcat5.5,jdk1.5

本文假定:jython已安装在/usr/local/jython25目录;tomcat已安装好,访问URL为http://127.0.0.1:8080

 

  • 配置过程

在tomcat的webapps下建立forJython/WEB-INF/lib目录,将jython安装目录下的jython-complete.jar(Jython 2.5a2 )或jython.jar拷贝到该目录下,在forJython/WEB-INF下新建一个web.xml文件,内容如下:

  1. <? xml   version = "1.0"   encoding = "ISO-8859-1" ?>
  2. <!DOCTYPE web-app
  3. PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  4. "http://java.sun.com/dtd/web-app_2_3.dtd">
  5. < web-app   xmlns = "http://java.sun.com/xml/ns/j2ee"
  6. xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
  7. xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee-web-app_2_4.xsd"
  8. version = "2.4" >
  9. < servlet >
  10. < servlet-name > PyServlet </ servlet-name >
  11. < servlet-class >
  12. org.python.util.PyServlet
  13. </ servlet-class >
  14. < load-on-startup > 1 </ load-on-startup >
  15. < init-param >
  16. < param-name > python.home </ param-name >
  17. < param-value > /usr/local/jython25 </ param-value >
  18. </ init-param >
  19. < init-param >
  20. < param-name > python.path </ param-name >
  21. < param-value >
  22. /usr/local/jython25/Lib
  23. </ param-value >
  24. </ init-param >
  25. </ servlet >
  26. < servlet-mapping >
  27. < servlet-name > PyServlet </ servlet-name >
  28. < url-pattern > *.py </ url-pattern >
  29. </ servlet-mapping >
  30. </ web-app >

        注意:修改 /usr/local/jython25和/usr/local/jython25/Lib为jython的安装目录和模块所在目录。

 

  • 验证

在forJython下新建HelloWorld.py,内容如下:

  1. from  javax.servlet.http  import  HttpServlet
  2. class  HelloWorld(HttpServlet):
  3.      def  doGet( self ,request,response):
  4.         response.setContentType( "text/html;charset=utf-8" )
  5.         out = response.getOutputStream()
  6.          print >>out, "<H1>Hello World by Jython Servlet!</H1>"

        注意:文件名一定要与文件中定义的类名相同。

 

在浏览器中输入http://127.0.0.1:8080/forJython/HelloWorld.py ,可以看到Hello World by Jython Servlet!这行字。

 

 

你可能感兴趣的:(jdk,tomcat,servlet,浏览器,encoding,jython)