科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件 servlet的另类写法:使用jython

servlet的另类写法:使用jython

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

众所周知,servlet是java在服务器端程序设计的重要组成部分,servlet执行效率较高,适合做程序的逻辑处理,缺点是使用起来比较 繁琐,每个servlet必须在web.xml中声明并且当修改部署后的servet后一般还需要reload容器,这种情况对于开速开发是很不利的, 本文介绍一种另外的serlvet开发方式:使用jython

作者:snowway_ 来源:CSDN 2008年5月28日

关键字: Jython Servlet python 软件

  • 评论
  • 分享微博
  • 分享邮件
 

众所周知,servlet是java在服务器端程序设计的重要组成部分,servlet执行效率较高,适合做程序的逻辑处理,缺点是使用起来比较
繁琐,每个servlet必须在web.xml中声明并且当修改部署后的servet后一般还需要reload容器,这种情况对于开速开发是很不利的,
本文介绍一种另外的serlvet开发方式:使用jython

本文假设读者熟悉某种应用服务器(如tomcat),java 和 python程序设计语言

http://www.jython.org上下载jython,假设为D:\jython-2.1

建立一个名称为jython的web应用,把D:\jython-2.1\jython.jar copy到webapp下的WEB-INF\lib下,并配置web.xml如下:
<servlet>
 <servlet-name>PyServlet</servlet-name>
 <servlet-class>
  org.python.util.PyServlet
 </servlet-class>
 <load-on-startup>11</load-on-startup>
 <init-param>
  <param-name>python.home</param-name>
  <param-value>D:\jython-2.1</param-value>
 </init-param>
 <init-param>
  <param-name>python.path</param-name>
  <param-value>D:\jython-2.1\Lib</param-value>
 </init-param>
</servlet>

<servlet-mapping>
 <servlet-name>PyServlet</servlet-name>
 <url-pattern>*.py</url-pattern>
</servlet-mapping>

现在编写一个HelloWorld.py,如下:

from javax.servlet.http import HttpServlet

class HelloWorld(HttpServlet):#需要类名和文件名一致
    def doGet(self,request,response):
        response.setContentType("text/html;charset=utf-8");
        out = response.getWriter()
        print>>out,"<H1>Hello World by Jython Servlet!</H1>";


启动应用服务器,假设位于localhost,端口8080,访问http://localhost:8080/jython/HelloWorld.py,是不是看到了
“Hello World by Jython Servlet!”字符串输出呢?

正如您所想象的一样,jython servlet无须在web.xml做任何声明,PySerlvet会拦截所有.py请求并分发给各自的jython servlet,
并且在修改HelloWorld的实现后,立刻就可以看到变化,无须重启应用服务器,很方便吧!

注:编写HelloWorld.py的时候请严格缩进,python是一种以缩进区分代码块的语言,不正确的缩进是语法错误

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章