servlet的另类写法:使用jython

本文介绍了一种使用 Jython 开发 Servlet 的方法,通过这种方式可以提高开发效率,避免每次修改后都需要重新加载容器的问题。文章详细说明了如何配置 Web 应用及编写 Jython Servlet 示例。
摘要由CSDN通过智能技术生成

from:http://www.wangchao.net.cn/bbsdetail_61971.html

众所周知,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是一种以缩进区分代码块的语言,不正确的缩进是语法错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值