Documentation6. より高度なトピック

 

JSPの処理

このセクションではwebMathematica のためにJSPを処理するさまざまな段階について説明します.

JSPはHTTPのトランザクションの一部として処理されます.クライアントがサーバにリクエストを送ると,サーバは応答を返します.HTTPのリクエストの特徴のひとつに,サーバにパラメータと値も一緒に送れるという点があります.パラメータは応答を選びこれをコントロールするのに使われるので,上記の特徴はダイナミックな動作には不可欠なものです.応答はHTMLページでも,画像,Mathematica のノートブック,何らかのXML等その他のコンテントタイプでも構いません.

JSPはそのJSPを実行しているサーブレットコンテナによって,上位のコマンドが下位のコマンドの前に評価されるように下降法で処理されます.JSPは,MSP Taglibで定義されているカスタムタグによってwebMathematica をインタラクトします.下記のサンプルページをご覧ください.

<%@ page language="java" %>
<%@ taglib uri="/webMathematica-taglib" prefix="msp" %>
<html>
<title>page</title>
<body>
<msp:allocateKernel>
<msp:evaluate>
      eval1
</msp:evaluate>
<msp:evaluate>
eval2
</msp:evaluate>
</msp:allocateKernel>
</body>
</html>

<msp:allocateKernel>タグは計算に使うMathematica カーネルの割当てに責任を持ち,入力変数とパラメータ,その他の初期化を割り当てます.割り当てられたカーネルはクリーンな状態になっています.<msp:allocateKernel>の詳細は後ろのセクションをご覧ください.

次に<msp:evaluate>タグが割り当てられたMathematica カーネルを使って入力を評価します.ある<msp:evaluate>タグで行われた割当てや定義は他でも見ることができます.<msp:evaluate>の詳細は後ろのセクションをご覧ください.

最後に</msp:allocateKernel>タグがMathematica カーネルを解放します.このタグはまず定義等をクリアしてカーネルをクリーンな状態にします.例えば例外を扱うように何らかの特殊処理が必要な場合は,この時点で行われます.</msp:allocateKernel>の詳細は後ろのセクションをご覧ください.

上記以外にもたくさんのタグがあります.詳細はMSP Taglibのセクションをご覧ください.