使用Jython编写Servlet
创始人
2024-04-14 10:31:06
0

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

本文介绍一种另外的serlvet开发方式:使用Jython编写Servlet

本文假设 读者熟悉某种应用服务器(如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如下:

  1. < servlet> 
  2. < servlet-name>PyServlet< /servlet-name> 
  3. < servlet-class> 
  4.  org.python.util.PyServlet  
  5. < /servlet-class> 
  6. < load-on-startup>11< /load-on-startup> 
  7. < init-param> 
  8.  < param-name>python.home< /param-name> 
  9.  < param-value>D:\jython-2.1< /param-value> 
  10. < /init-param> 
  11. < init-param> 
  12.  < param-name>python.path< /param-name> 
  13.  < param-value>D:\jython-2.1\Lib< /param-value> 
  14. < /init-param> 
  15. < /servlet> 
  16. < servlet-mapping> 
  17. < servlet-name>PyServlet< /servlet-name> 
  18. < url-pattern>*.py< /url-pattern> 
  19. < /servlet-mapping> 

现在编写一个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.getWriter()  
  6.  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的时候请严格缩进 ,jython是一种以缩进区分代码块的语言,不正确的缩进是语法错误。这样就完成了Jython编写Servlet。

【编辑推荐】

  1. 如何在Java中调用Jython
  2. Jython访问MySQL详细步骤
  3. 略谈Jython语言:什么是Jython?
  4. Jython的安装以及使用JDBC驱动程序连接DB2
  5. 用于连接多个数据库的Jython安装

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...