Jython-サーブレット
Javaサーブレットは、最も広く使用されているWeb開発手法です。Jythonを使用してサーブレットを作成できます。これにより、Javaが提供する以上の多くの利点が追加されます。これは、Python言語機能も利用できるようになったためです。
NetBeans IDEを使用して、Jythonサーブレットを使用してJavaWebアプリケーションを開発します。ことを確認nbPython pluginNetBeansインストールにインストールされます。次のパスを選択して、新しいプロジェクトを開始し、Webアプリケーションを構築します-File → New Project → Java web → New Web Application。
プロジェクトの名前と場所を入力します。IDEはプロジェクトフォルダ構造を作成します。[プロジェクト]ウィンドウのソースパッケージノードの下にJavaサーブレットファイル(ServletTest.java)を追加します。これにより追加されますservlet-api.jarプロジェクトのlibフォルダーにあります。また、IDEにweb.xmlを作成させますdescriptor file。次のコードをに追加します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 (
"<html>
<head>
<title>Servlet Test</title>" + "
</head>
<body>
<h1>Servlet Test</h1>
</body>
</html>"
);
}
}
NetBeansによって作成されるweb.xmlファイルは次のようになります-
<web-app>
<servlet>
<servlet-name>ServletTest</servlet-name>
<servlet-class>ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest</servlet-name>
<url-pattern>/ServletTest</url-pattern>
</servlet-mapping>
</web-app>
プロジェクトをビルドして実行し、テキストを取得します Servlet Testブラウザウィンドウの<h1>タグに表示されます。したがって、アプリケーションに通常のJavaサーブレットを追加しました。
ここで、Jythonサーブレットを追加します。Jythonサーブレットは、中間Javaサーブレットによって機能します。これはPyServletとも呼ばれます。PyServlet.classはに存在しますjython standalone.jar。に追加しますWEB-INF/lib フォルダ。
次のステップは、PyServletを呼び出すようにweb.xmlを構成することです。 *.py file上げられます。これは、次のxmlコードを追加することによって実行する必要があります。
<servlet>
<servlet-name>PyServlet</servlet-name>
<servlet-class>org.python.util.PyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>PyServlet</servlet-name>
<url-pattern>*.py</url-pattern>
</servlet-mapping>
完全なweb.xmlコードは次のようになります。
<web-app>
<servlet>
<servlet-name>ServletTest</servlet-name>
<servlet-class>ServletTest</servlet-class>
</servlet>
<servlet>
<servlet-name>PyServlet</servlet-name>
<servlet-class>org.python.util.PyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest</servlet-name>
<url-pattern>/ServletTest</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PyServlet</servlet-name>
<url-pattern>*.py</url-pattern>
</servlet-mapping>
</web-app>
次のJythonコードをプロジェクトフォルダー内のWEB-INFフォルダーにJythonServlet.pyとして配置します。これは、前のServletTest.javaと同等です。
from javax.servlet.http import HttpServlet
class 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 (
"<html>
<head>
<title>Servlet Test</title>" + "
</head>
<body>
<h1>Servlet Test</h1>
</body>
</html>"
)
プロジェクトをビルドし、ブラウザで次のURLを開きます-
http://localhost:8080/jythonwebapp/jythonservlet.py
ブラウザにが表示されます Servlet Test Javaサーブレット出力の場合と同様に<h1>タグ内。