`

servlet的另类写法:使用jython

阅读更多

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

分享到:
评论

相关推荐

    jythonfx:使用Jython + JavaFX轻松开发应用程序的简单技巧

    JythonFX PL:信息呐TEMAT instalacji我教程PO polsku zajdziecie ENG:使用Jython + JavaFX开发应用程序的简单技巧。 样品: 简单的单按钮应用程序(HelloJyFx.py) 简单的FXML应用程序(FXMLSample.py,FXMLSample...

    jython官方jython-standalone-2.7.0版本(版本缺失)

    jython官方正版资源 为了省去大家找Jython安装包的时间,附上此Jython版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

    jython2.5-安装包

    安装完成后,可以使用`jython`命令来启动Jython解释器。 7. **社区与支持**:虽然Jython社区不如Python社区那样庞大,但仍有一群活跃的开发者和用户,他们提供帮助、文档和库。对于遇到的问题,可以通过Jython的...

    jython简易教程

    2. 安装Jython:解压下载的文件,将路径添加到系统环境变量PATH中,以便在命令行中直接运行Jython。 3. 验证安装:在命令行输入`jython -V`,如果显示Jython的版本信息,说明安装成功。 **三、Jython与Java交互** 1...

    Jython教程

    4. **集成Java库**:Jython可以直接导入Java类,这允许开发者使用Java的API,如Swing或JavaFX来创建图形用户界面,或者调用Java的网络、数据库等库。 5. **异常处理**:Jython的异常处理与Python一致,使用`try/...

    The Definitive Guide to Jython-Python for the Java Platform

    7. **Web 开发**:探讨 Jython 在 Web 开发领域的应用,如使用 JSP 和 Servlet 构建动态网页。 8. **数据库连接与操作**:讲解如何使用 JDBC 连接并操作关系型数据库。 9. **高级主题**:包括并发编程、分布式计算等...

    jython-standalone-2.7.0(最新版本)

    如果windows的用户安装插件有问题的,尝试一下换这个jython: Jython官网: https://www.jython.org/downloads.html Jython环境安装包: ...

    jython-2.5.2.jar

    jython-2.5.2.jar

    New Riders - Jython for Java Programmers.rar_Riders_jython

    8. **Web开发**:Jython可以用于构建Web应用,例如使用PyJSP(Python化的Java Server Pages)或者框架如JyNI(Jython Native Interface)来与Java Web应用服务器交互。 9. **教育与学习工具**:对于Java程序员来说...

    Trishul:用Jython编写的Burp Extension,以寻找网站中常见的漏洞。 由Gaurav Narwani开发,旨在帮助人们发现漏洞并教授如何利用它们

    使用Jython进行构建的用户友好的输出支持在多个请求中进行实时漏洞检测。 制作此工具是为了补充测试,这些测试必须在有限的时间内找到结果。 当前,该工具支持查找跨站点脚本,SQL注入和服务器端模板注入。 在更高...

    EmeraldFX:使用Jython,Java和Python用JavaFX构建的Web浏览器

    EmeraldFX-JythonFX Web浏览器EmeraldFX的Gradle源代码/构建库-用Jython,Java和Python用JavaFX编写的Web浏览器。 博客文章讨论了我在构建EmeraldFX方面的经验和决策,网址为( )。 在Linux Mint,SUSE Linux,...

    Jython示例

    在描述中提到的链接是一个关于如何在Java中调用Python的博文,它可能详细介绍了如何使用Jython来实现Java和Python之间的交互。具体的步骤可能包括设置环境变量、创建Python脚本以及在Java代码中执行这些脚本。 总的...

    WebSphere Application Server Administration Using Jython

    《WebSphere Application Server Administration Using Jython》这本书主要探讨了如何使用Jython语言进行WebSphere应用服务器的管理。Jython是一种Python语言的实现,它与Java平台紧密集成,因此在WebSphere这种企业...

    jython_installer-2.2及安装方法

    Jython是一种基于Python语法的、面向Java平台的解释器,它允许Python代码与Java类库无缝集成,使得开发者能够在Java平台上使用Python语言进行开发。"jython_installer-2.2"是Jython的一个特定版本,发布于较早的时期...

    JAVA单例模式源码-JyNI:使Jython能够加载本机CPython扩展

    JAVA例单模式源码JyNI – Jython 本机接口 如果还没有完成,请务必访问我们的项目主页。...我们一直在努力改进这种支持,我们的目标是尽快提供使用科学堆栈和其他扩展所需的 C API。 JyNI 可以在 Linux、OS-X 上运行,

    jython安装和使用方法

    以下是一个简单的示例代码,演示了如何在 Java 中使用 Jython: ```java import org.python.util.PythonInterpreter; import org.python.core.*; public class JythonTest { public static void main(String[] ...

    Juneau -- The Definitive Guide to Jython -- 2010.pdf

    ### 《Juneau -- The Definitive Guide to Jython -- 2010》关键知识点概览 #### 核心概念:Jython简介 - **定义**:Jython是一种能够运行在Java平台上的Python解释器,它使得开发者能够在Java虚拟机(JVM)上执行...

    jython中文详细教程

    Jython则是Python的一个变种,它与Java紧密集成,允许开发者使用Python语法编写Java应用程序。 2. **Jython的优势** - 平台无关性:Jython程序可以在任何支持Java的平台上运行。 - 与Java类库的无缝集成:Jython...

    jython-installer-2.7.0

    总结来说,Jython 2.7.0作为一个重要的Python实现,为Java开发者提供了使用Python语言的机会,使得他们能够利用Python的简洁性和强大的库资源,同时享受Java平台的稳定性和企业级支持。正确安装和理解Jython的特性,...

Global site tag (gtag.js) - Google Analytics