开发手册 欢迎您!
软件开发者资料库

Jython - Servlets

Jython Servlets - 从简单和简单的步骤学习Jython,从基本到高级概念,包括概述,安装,导入Java库,变量和数据类型,使用Java集合类型,决策控制,循环,函数,模块,包,Java应用程序,Eclipse插件,Eclipse中的项目,NetBeans插件和项目,Servlet,JDBC,使用Swing GUI库,布局管理,事件处理,菜单,对话框。

Java servlet是使用最广泛的Web开发技术.我们可以使用Jython编写servlet,除了Java提供的功能之外,还增加了许多优点,因为现在我们也可以使用Python语言功能.

我们将使用NetBeans IDE使用Jython servlet开发Java Web应用程序.确保在NetBeans安装中安装了 nbPython插件.通过选择以下路径启动一个新项目来构建Web应用程序 -   File → 新项目 →  Java web → 新的Web应用程序.

提供项目名称和位置. IDE将创建项目文件夹结构.在"项目"窗口的源包节点下添加Java servlet文件(ServletTest.java).这将在项目的lib文件夹中添加 servlet-api.jar .另外,让IDE创建web.xml 描述符文件.在 ServletTest.java 中添加以下代码.

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class ServletTest extends HttpServlet {      public void doGet (HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {      doPost(request, response);   }      public void doPost (HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {      response.setContentType ("text/html");      PrintWriter toClient = response.getWriter();            toClient.println (         "                           Servlet Test" + "                                       

Servlet Test

                     "      );   }}

NetBeans创建的web.xml文件如下所示 :

         ServletTest      ServletTest               ServletTest      /ServletTest   

构建并运行项目以获得< h1>中出现的文本 Servlet测试浏览器窗口中的标记.因此,我们在应用程序中添加了一个常规的Java servlet.

现在,我们将添加Jython Servlet. Jython servlet通过中间Java servlet工作也称为PyServlet. PyServlet.class存在于 jython standalone.jar 中.将它添加到 WEB-INF/lib 文件夹中.

下一步是配置web.xml以在每次请求任何

   PyServlet   org.python.util.PyServlet   1   PyServlet   *.py

完整的web.xml代码如下所示.

         ServletTest      ServletTest               PyServlet      org.python.util.PyServlet      1               ServletTest      /ServletTest               PyServlet      *.py   

将以下Jython代码放在项目文件夹内的WEB-INF文件夹中,作为JythonServlet.py,它等同于之前的ServletTest.java.

from javax.servlet.http import HttpServletclass JythonServlet1 (HttpServlet):   def doGet(self,request,response):      self.doPost (request,response)   def doPost(self,request,response):      toClient = response.getWriter()      response.setContentType ("text/html")            toClient.println (         "                           Servlet Test" + "                                       

Servlet Test

                     "      )

构建项目并在浏览器中打开以下URL :

http://本地host:8080/jythonwebapp/jythonservlet.py

浏览器将在< h1>中显示 Servlet测试标记,如Java Servlet输出.