![]() |
![]() |
|
|
| |
WebLogic JSP リファレンス
以下の節では、JavaServer Pages(JSP)の作成に関するリファレンス情報を提供します。
以下の表では、JSP ページで使用できる基本的なタグについて説明します。短縮形のタグには、それぞれ対応する XML タグがあります。
JSP タグ |
構文 |
説明 |
---|---|---|
|
. . . または対応する以下の XML タグを使用する
|
Java ソース コード スクリプトレットを、HTML 内に埋め込む。Java コードが実行され、その出力が、残りの HTML と一緒にページに順に挿入される。詳細については、 スクリプトレットを参照。 |
|
. . . または対応する以下の XML タグを使用する
|
ディレクティブには、アプリケーション サーバへのメッセージが含まれる。 また、 |
|
. . . または対応する以下の XML タグを使用する
|
ページ内のほかの宣言、スクリプトレット、あるいは式によって参照されることがある変数またはメソッドを宣言する。 宣言を参照。 |
|
. . . または対応する以下の XML タグを使用する
|
ページ要求時に評価され、String に変換され、そして、JSP 応答の出力ストリームにインライン化されて送られる Java 式を定義する。 式を参照。 |
|
Bean をここでインスタンス化する場合は、ここに JSP 本文を入れる
|
JSP の高度な機能へのアクセスを提供し、XML 構文だけを使用する。これらのアクションは、JSP 1.1 仕様に定義されているようにサポートされている。 アクションを参照。 |
JSP では、スクリプトレットや式内の暗黙的オブジェクトのための予約語が用意されています。この暗黙的オブジェクトとは、JSP ページに有用なメソッドや情報を提供する Java オブジェクトです。WebLogic JSP は、JSP 1.1 仕様に定義されている暗黙的オブジェクトをすべて実装しています。JSP API については、Sun Microsystems の JSP ホームページにある Javadoc で説明されています。
注意: これらの暗黙的オブジェクトは、 スクリプトレットや 式の内部でのみ使用できます。宣言で定義されるメソッドからこれらのキーワードを使用すると、未定義の変数を参照することになるため、変換時にコンパイル エラーが発生します。
request
request
は、HttpServletRequest
オブジェクトを表します。ブラウザからの要求についての情報が含まれ、クッキー、ヘッダ、およびセッション データを取得するために便利なメソッドも用意されています。
response
response
は、HttpServletResponse
オブジェクト、JSP ページからブラウザに返送される応答の設定に便利な複数のメソッドを表します。この応答の例として、クッキーとその他のヘッダ情報があります。
警告 : response.getWriter()
メソッドを JSP ページ内で使用することはできません。使用した場合は、実行時に例外が送出されます。JSP 応答をブラウザに返送するには、スクリプトレット コード内で可能な限り out
キーワードを使用します。WebLogic Server の javax.servlet.jsp.JspWriter
の実装では、javax.servlet.ServletOutputStream
を使用しています。これは、response.getServletOutputStream()
を使用できることを暗黙的に表しますが、WebLogic Server に固有の実装です。しかし、この実装は WebLogic Server に固有のものであることに注意してください。コードの保守容易性および移植性を保つには、out
キーワードを使用します。
out
out
は、javax.jsp.JspWriter
のインスタンスで、ブラウザへの出力の返送に使えるメソッドを持っています。
出力ストリームを必要とするメソッドを使用している場合、JspWriter
は動作しません。この制限を回避するには、バッファ化ストリームを提供して、このストリームを out
に記述します。次の例に、例外スタック トレースを out
に記述する方法を示します。
ByteArrayOutputStream ostr = new ByteArrayOutputStream();
exception.printStackTrace(new PrintWriter(ostr));
out.print(ostr);
pageContext
pageContext
は、javax.servlet.jsp.PageContext
オブジェクトを表します。さまざまなスコープのネームスペースやサーブレット関連オブジェクトにアクセスするために便利な API で、一般的なサーブレット関連機能のためのラッパー メソッドを提供します。
session
session
は、要求に対する javax.servlet.http.HttpSession
オブジェクトを表します。セッション ディレクティブは、デフォルトでは true に設定されています。したがって、session
はデフォルトで有効です。JSP 1.1 仕様では、セッション ディレクティブが false
に設定されている場合、session
キーワードを使用すると変換時に致命的なエラーが発生することが説明されています。サーブレットでのセッションの使い方については、『WebLogic HTTP サーブレット プログラマーズ ガイド』を参照してください。
application
application
は、javax.servlet.ServletContext
オブジェクトを表します。サーブレット エンジンやサーブレット環境に関する情報の検索に使用します。
リクエストを転送または取り込む場合は、ServletContext
を使用してサーブレット requestDispatcher
にアクセスできます。または、他のサーブレットへのリクエストの転送に JSP forward
ディレクティブ、他のサーブレットからの出力の取り込みに JSP include
ディレクティブを使用することもできます。
config
config
は javax.servlet.ServletConfig
オブジェクトを表し、サーブレット インスタンスの初期化パラメータへのアクセスを提供します。
page
page
は、このJSPページから生成されたサーブレット インスタンスを表します。スクリプトレット コード内の Java キーワード this
と同義です。
page
は java.lang.Object
のインスタンスとして定義されるため、使用する際には JSP ページを実装しているサーブレットのクラス タイプにキャストする必要があります。デフォルトでは、このサーブレット クラスは JSP ファイル名を取って名付けられます。便宜上、page
を使用する代わりに、Java キーワード this
を使用してサーブレット インスタンスを参照し、初期化パラメータへアクセスすることをお勧めします。
基盤となる HTTP サーブレット フレームワークの詳細については、関連する開発者ガイド、『WebLogic HTTP サーブレット プログラマーズ ガイド』を参照してください。
関数を実行したり、JSP ページを特定の方法で解釈したりするよう WebLogic JSP に指示するには、ディレクティブを使用します。ディレクティブは、JSP ページのどこに挿入してもかまいません。通常、ディレクティブの位置は無関係で(include
ディレクティブを除く)、複数のディレクティブ タグを使用できます。ディレクティブは、ディレクティブ タイプとその 1 つまたは複数の属性で構成されます。
構文は、次に示すように、短縮形と XML の 2 種類の構文を使用できます。
dir_type
はディレクティブのタイプ、dir_attr
はそのディレクティブ タイプの 1 つまたは複数のディレクティブ属性のリストで置き換えます。
ディレクティブには、page
、taglib
、include
の 3 種類があります。
文字エンコーディング セットを指定するには、そのページの先頭で次のディレクティブを使用します。
<%@ page contentType="text/html; charset=custom-encoding” %>
custom-encoding
は、標準の HTTP スタイルの文字セット名で置き換えます。
contentType
ディレクティブで指定した文字セットは、JSPおよびその JSP に含まれるすべての JSP で使用される文字セットを指定します。
Web アプリケーションの WebLogic 固有のデプロイメント記述子で、デフォルトの文字エンコーディングを指定できます。詳細については、「jsp-descriptor 要素」を参照してください。
taglib ディレクティブの使い方
taglib
ディレクトリを使用して、JSP ページが、タグ ライブラリに定義されているカスタム JSP タグ拡張を使用することを宣言します。カスタム JSP タグの記述方法と使い方の詳細については、『JSP Tag Extensions プログラマーズ ガイド』を参照してください。
宣言を使用して、生成された JSP サーブレット内のクラス スコープ レベルの変数とメソッドを定義します。JSP タグの間に記述された宣言は、JSP ページのほかの宣言やスクリプトレットからアクセスできます。次に例を示します。
<%!
int i=0;
String foo= "Hello";
private void bar() {
// ...ここに Java コード...
}
%>
クラス スコープのオブジェクトは、サーブレットの同一のインスタンス内で実行中の複数のスレッド間で共有されます。共有違反を防ぐには、クラス スコープのオブジェクトを同期させます。スレッドセーフなコードの記述に自信がない場合は、次のディレクティブを使用して、サーブレットを非スレッドセーフとして宣言することができます。
<%@ page isThreadSafe="false" %>
デフォルトでは、この属性は true
に設定されています。false
に設定した場合、生成されたサーブレットは javax.servlet.SingleThreadModel
インタフェースを実装します。このインタフェースは、同一のサーブレット インスタンス内で複数のスレッドが実行されるのを防ぎます。isThreadSafe
を false
に設定すると、メモリ消費量が増えるので、パフォーマンスが低下することがあります。
JSP スクリプトレットは、JSP サーブレットの HTTP 応答の Java 本文を構成します。次に示すように、短縮形または XML の scriptlet タグを使用して、JSP ページ内にスクリプトレットを包含します。
<%
// Java コードをここに書く
%>
<jsp:scriptlet>
// Java コードをここに書く
</jsp:scriptlet>
スクリプトレットの特長は次のとおりです。
out
を使用して、Java コードからサーブレット出力ストリームに、HTML テキストを直接出力することができます。print()
メソッドを呼び出して、HTTP ページ応答に文字列を追加します。
ユーザが入力したデータを出力するときは常に、入力されている HTML の特殊文字をすべて削除することをお勧めします。特殊文字を削除しないと、Web サイトがクロスサイト スクリプティングに利用される危険があります。 JSP でのユーザ入力データのセキュリティ対策を参照してください。
JSP ファイルの中に式を含めるには、次のタグを使用します。
<%= expr %>
expr
を Java 式で置き換えます。式が評価されるときに、その string
表現が HTML 応答ページ内にインラインで配置されます。このタグは次のタグの短縮形です。
<% out.print(
expr
); %>
このテクニックを使用すると、JSP ページ内の HTML を読みやすくすることができます。次の節のサンプルでは expression タグの使い方を示します。
式を使用して、それ以前にユーザが入力しているデータを返すことがよくあります。ユーザが入力したデータを出力するときは常に、入力されている HTML の特殊文字をすべて削除することをお勧めします。特殊文字を削除しないと、Web サイトがクロスサイト スクリプティングに利用される危険があります。 JSP でのユーザ入力データのセキュリティ対策を参照してください。
次に、HTML と埋め込み Java を使用した JSP の例を示します。
<html>
<head><title>Hello World Test</title></head>
<body bgcolor=#ffffff>
<center>
<h1> <font color=#DB1260> Hello World Test </font></h1>
<font color=navy>
<%
out.print("Java-generated Hello World");
%>
</font>
<p> This is not Java!
<p><i>Middle stuff on page</i>
<p>
<font color=navy>
<%
for (int i = 1; i<=3; i++) {
%>
<h2>This is HTML in a Java loop! <%= i %> </h2>
<%
}
%>
</font>
</center>
</body>
</html>
上に示したコードがコンパイルされると、ブラウザには次のようなページが表示されます。
アクション
JSP アクションを使用して、JavaBean によって表されるオブジェクトの変更、使用、または作成を行います。アクションでは、XML 構文のみが使用されます。
<jsp:useBean>
アクション タグを使用すると、JavaBean 仕様に準拠した Java オブジェクトをインスタンス化し、それを JSP ページから参照できます。
JavaBean 仕様に準拠するには、オブジェクトに次のものが必要です。
JavaBean オブジェクトのインスタンス化
<jsp:useBean>
タグは、既存の名前付き Java オブジェクトを特定のスコープから検索しようと試みます。既存のオブジェクトが見つからなければ、新しいオブジェクトをインスタンス化し、id
属性で指定された名前にそのオブジェクトを関連付けようとします。オブジェクトは、オブジェクトの可用性を決定する scope
属性で指定された位置に格納されます。たとえば、次のタグでは、examples.jsp.ShoppingCart
というタイプの Java オブジェクトを、名前 cart
の下の HTTP セッションから検索しようとします。
<jsp:useBean id="cart"
class="examples.jsp.ShoppingCart" scope="session"/>
そのようなオブジェクトがその時点で存在していなければ、JSP は、新しいオブジェクトを作成し、名前 cart
の下の HTTP セッション内に格納しようとします。クラスは、WebLogic Server の起動に使用する CLASSPATH
内、または JSP を含む Web アプリケーションの WEB-INF
\classes
ディレクトリに入っている必要があります。
処理する必要がある実行時例外が存在するため、<jsp:useBean>
タグと共に errorPage
ディレクティブを使用するようにしてください。errorPage
ディレクティブを使用しない場合、JavaBean で参照されるクラスを作成できず、InstantiationException
が送出され、ブラウザにエラー メッセージが返されます。
Java 内で有効な型キャスト操作であれば、type
属性を使用して、その JavaBean タイプを他のオブジェクトまたはインタフェースにキャストできます。class
属性なしで type 属性を使用する場合、JavaBean オブジェクトは、指定したスコープ内に既に存在している必要があります。有効でない場合は、InstantiationException
が送出されます。
JavaBean インスタンス化のセットアップ作業
<jsp:useBean>
タグ構文には、別の形式もあります。これを使用すると、オブジェクトがインスタンス化されるときに実行する JSP コードの本文を定義することができます。名前付き JavaBean が指定したスコープ内に既に存在する場合、本文は実行されません。この形式を使用すると、オブジェクトが最初に作成されるときのプロパティを設定することができます。次に例を示します。
<jsp:useBean id="cart" class="examples.jsp.ShoppingCart"
scope=session>
Creating the shopping cart now...
<jsp:setProperty name="cart"
property="cartName" value="music">
</jsp:useBean>
注意: class
属性なしで type
属性を使用すると、JavaBean オブジェクトはインスタンス化されません。したがって、本文を含めるようなタグ形式は使用しないでください。代わりに、単一のタグ形式を使用します。この場合、JavaBean が指定したスコープ内に存在していなければなりません。存在していない場合は InstantiationException
が送出されます。errorPage
ディレクティブを使用して、潜在的な例外を処理します。
JavaBean オブジェクトの使い方
JavaBean オブジェクトをインスタンス化したら、Java オブジェクトのように、JSP ファイルでその id
名により参照できます。スクリプトレット タグや式評価タグ内で、その JavaBean オブジェクトを使うことができます。<jsp:setProperty>
タグを用いてその setXxx()
メソッドを呼び出すこともできます。<jsp:getProperty>
タグを用いて getXxx()
メソッドを呼び出すこともできます。
JavaBean オブジェクトのスコープの定義
scope
属性を使用して、JavaBean オブジェクトの可用性とライフスパンを指定します。スコープは以下のいずれかです。
page
javax.servlet.jsp.PageContext
に格納されます。この JSP ページの現在の呼び出しからのみ使用可能です。インクルードされた JSP ページでは使用できません。このページ要求の完了時には破棄されることになっています。
request
request
スコープを使用すると、オブジェクトは現在の ServletRequest
内に格納されます。同一の要求オブジェクトに渡された、インクルードされたほかの JSP ページで使用可能です。現在の要求が完了したときに破棄されます。
session
session
スコープを使用して HTTP セッション内に JavaBean オブジェクトを格納できます。JavaBean への参照は、このページの HttpSession
オブジェクトに格納されます。このスコープを使用するには、JSP ページがセッションに参加できなければなりません。つまり、この page
ディレクティブで、session
を false
に設定しないようにします。
application
application-
スコープ レベルでは、JavaBean オブジェクトは Web アプリケーションに格納されます。このスコープを使用すると、同じ Web アプリケーション内で実行中のほかのサーブレットや JSP ページからも、この JavaBean オブジェクトが使用可能になります。
JavaBean の使い方については、JSP 1.1 仕様を参照してください。
リクエストの転送
どのような種類の認証を使用している場合でも、<jsp:forward>
タグでリクエストが転送されるときには、ユーザを再認証する必要がありません(デフォルト設定)。この動作を変更して、転送されたリクエストの認証を実行するには、<check-auth-on-forward/>
要素を WebLogic 固有のデプロイメント記述子(weblogic.xml
)の <container-descriptor>
要素に追加します。次に例を示します。
<container-descriptor>
<check-auth-on-forward/>
</container-descriptor>
WebLogic 固有のデプロイメント記述子の編集方法については、「WebLogic 固有のデプロイメント記述子(weblogic.xml)の記述」を参照してください。
<jsp:include>
タグを使用すると、JSP に別のリソースを含めることができます。このタグは、次の 2 種類の属性を取ります。
page
<jsp:include page="somePage.jsp"/>
flush
true
に設定すると、ページ出力をバッファに格納し、リソースに含める前にそのバッファをフラッシュします。
<jsp:include>
タグが JSP ページの別のタグの中に存在し、含めるリソースをそのタグで処理したい場合は、flush="false"
に設定すると便利です。
式やスクリプトレットを使うと、JSP でユーザからデータを受け取ったり、ユーザが入力したデータを返したりすることができます。たとえば、
コード リスト 3-1 の JSP のサンプルでは、文字列を入力するようにユーザに促し、入力された文字列を userInput
というパラメータに代入し、<%= javax.servlet.ServletRequest.getParameter("userInput")%>
という式を使ってデータをブラウザに返しています。
コード リスト 3-1 ユーザが入力した内容を返すための式の使用
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<h1>My Sample JSP</h1>
<form method="GET" action="mysample.jsp">
Enter string here:
<input type="text" name="userInput" size=50>
<input type=submit value="Submit">
</form>
<br>
<hr>
<br>
Output from last command:
<%=javax.servlet.ServletRequest
.getParameter("userInput")%>
</body>
</html>
このようにユーザが入力したデータを返す機能があると、クロスサイト スクリプティングと呼ばれるセキュリティ上の弱点が発生し、ユーザのセキュリティ認可を盗むために利用される危険があります。クロスサイト スクリプティングの詳細については、http://www.cert.org/tech_tips/malicious_code_mitigation.html の「Understanding Malicious Content Mitigation for Web Developers」 (CERT によるセキュリティ勧告) を参照してください。
このようなセキュリティ上の弱点を排除するには、ユーザが入力したデータを返す前に、 表 3-2 に示したような HTML の特殊文字がデータに含まれるかどうかを調べます。特殊文字がある場合は、それを HTML の実体参照または文字参照に置き換えます。文字を置き換えることで、ユーザが入力したデータをブラウザが HTML として実行することを防止できます。
置き換える必要のある特殊文字 |
置き換える実体/文字参照 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
WebLogic Server ユーティリティ メソッドの使用
WebLogic Server には、ユーザ入力データに含まれる特殊文字を置換するための weblogic.servlet.security.Utils.encodeXSS()
メソッドが用意されています。このメソッドを使用するには、入力としてユーザ入力データを渡します。次に例を示します。<%= weblogic.servlet.security.Utils.encodeXSS(
javax.servlet.ServletRequest.getParameter("userInput"))%>
アプリケーション全体を保護するには、ユーザ入力データを返すすべての箇所で encodeXSS()
メソッドを使用する必要があります。先に示したのは encodeXSS()
メソッドを使用しなければならないことが明白な場所の例ですが、他にも
表 3-3 に挙げたような場所において encodeXSS()
メソッドの使用を検討する必要があります。
WebLogic JSP 内のセッションは、JSP 1.1 仕様に従って動作します。次に、セッションの使い方に関連する留意事項を挙げます。
ClassCastException
エラーが発生します。
JSP を使用すると、適切なクライアント ブラウザ タグを含む HTML を生成することによって、Web ページに Java Plug-in を簡単に組み込むことができます。Java Plug-in では、クライアントの Web ブラウザにより実装された JVM の代わりに、Sun Microsystems から提供されている Java Runtime Environment(JRE)を使用することができます。この機能により、アプレットと特定の種類の Web ブラウザとの間の非互換性の問題が回避できます。Java Plug-in は、Sun の Web サイト(http://java.sun.com/products/plugin/
)から入手できます。
Internet Explorer と Netscape では使用している構文が異なるため、<jsp:plugin>
アクションから生成されたサーブレット コードは、動的にブラウザ クライアントの種類を調べ、適切な <OBJECT>
タグか、<EMBED>
タグをその HTML ページに送ります。
<jsp:plugin>
タグは、<APPLET>
タグの属性と似た多くの属性、および使用する Java Plug-in のバージョンを設定するその他の属性を使用します。アプレットがサーバと通信する場合、アプレット コードを実行する JVM は WebLogic Server を実行する JVM と互換性がなければなりません。
次のサンプルでは、plugin アクションを使用してアプレットをデプロイします。
<jsp:plugin type="applet" code="examples.applets.PhoneBook1"
codebase="/classes/" height="800" width="500"
jreversion="1.1"
nspluginurl=
"http://java.sun.com/products/plugin/1.1.3/plugin-install.html"
iepluginurl=
"http://java.sun.com/products/plugin/1.1.3/
jinstall-113-win32.cab#Version=1,1,3,0" >
<jsp:params>
<param name="weblogic_url" value="t3://localhost:7001">
<param name="poolname" value="demoPool">
</jsp:params>
<jsp:fallback>
<font color=#FF0000>Sorry, cannot run java applet!!</font>
</jsp:fallback>
</jsp:plugin>
上のサンプルの JSP 構文は、ブラウザに対して、(すでにダウンロードされていなければ)Java Plug-in バージョン 1.3.1 をダウンロードし、code
属性で指定したアプレットを、codebase
で指定された位置から実行するように指示しています。
jreversion
属性は、アプレットが要求している Java Plug-in のバージョンを同定します。Web ブラウザは、このバージョンの Java Plug-in を使おうとします。プラグインがブラウザにまだインストールされていなければ、nspluginurl
属性および iepluginurl
属性が URL を指定し、そこで、Sun の Web サイトからその Java Pug-in をダウンロードできます。一度プラグインが Web ブラウザにインストールされれば、再度そのプラグインをダウンロードする必要はありません。
WebLogic Server では Java 1.3.x VM を使用するため、<jsp:plugin>
タグ内に、Java Plug-in バージョン 1.3.x を指定する必要があります。上のサンプル コードで 1.3 JVM を指定するには、対応する属性値を次のように置き換えます。
jreversion="1.3"
nspluginurl=
"http://java.sun.com/products/plugin/1.3/plugin-install.html"
iepluginurl=
"http://java.sun.com/products/plugin/1.3/jinstall-131-win32.cab"
プラグイン アクションのほかの属性は、<APPLET>
タグの属性に相当します。アプレット パラメータは、<params>
タグのペアで指定し、<jsp:plugin>
タグと </jsp:plugin>
タグでネストします。
<
jsp:fallback>
タグでは、<jsp:plugin>
アクションでサポートされていないブラウザ用に HTML を置換することができます。<fallback>
タグと </
jsp:fallback>
タグでネストされた HTML が、プラグイン構文の代わりに送られます。
JSP サーブレットは自動的に WebLogic JSP コンパイラを呼び出して JSP ページを処理するので、通常は直接コンパイラを呼び出す必要はありません。しかし、デバッグする場合など、状況によっては、コンパイラを直接呼び出した方が便利です。この節はコンパイラのリファレンスです。
WebLogic JSP コンパイラでは、JSP ファイルを解析して .java
ファイルに変換し、生成された .java
ファイルを標準の Java コンパイラを使用して Java クラスにコンパイルします。
JSP コンパイラは、ほかの WebLogic コンパイラ(RMI コンパイラや EJB コンパイラなど)とほとんど同じ方法で動作します。JSP コンパイラを起動するには、次のコマンドを入力します。
$ java weblogic.jspc -options fileName
fileName
をコンパイルする JSP ファイルの名前で置き換えます。対象の fileName
の前か後に options
を指定することもできます。次の例では、-d
オプションを使用して myFile.jsp
をコンパイルし、出力先ディレクトリ weblogic
\classes
に出力します。
$ java weblogic.jspc -d /weblogic/classes myFile.jsp
注意: Web アプリケーションの一部で、Web アプリケーションのリソース(JSP タグ ライブラリなど)を参照している JSP をプリコンパイルする場合は、-webapp
フラグを使用して Web アプリケーション の場所を指定する必要があります。-webapp
フラグは JSP コンパイラ オプションの次のリストで説明します。
以下のオプションを任意に組み合わせて使用することができます。
-classpath
CLASSPATH
となるディレクトリのリストを(Windows NT/2000 プラットフォームではセミコロンで区切り、UNIX プラットフォームではコロンで区切って)追加します。JSP に必要なすべてのクラスを格納するディレクトリを含めます。次に例を示します(実際には 1 行で入力します)。
$ java weblogic.jspc
-classpath java/classes.zip;/weblogic/classes.zip
myFile.JSP
-charsetMap
contentType
ディレクティブで使用される IANA または非公式の文字セット名から java 文字セット名へのマッピングを指定します。次に例を示します。
-charsetMap x-sjis=Shift_JIS,x-big5=Big5
最も一般的なマッピングは、JSP コンパイラに組み込まれています。このオプションは、希望の文字セット マッピングが認識されない場合にのみ使用します。
-commentary
-compileAll
-webapp
オプションで指定したディレクトリ内のすべての JSP を再帰的にコンパイルします。(このオプション リストにある -webapp
の説明を参照してください)。サブディレクトリ内の JSP もコンパイルされます。
-compileFlags
java weblogic.jspc -compileFlags "-g -v" myFile.jsp
-compiler
javac
が使われます。コンパイラの絶対パスを明示的に指定する場合を除いて、Java コンパイラ プログラムは PATH
の下になければなりません。
-compilerclass
-d
<dir>
CLASSPATH
に入っているディレクトリに置くためのショートカットとして使用します。
-depend
-debug
-deprecation
-docroot
directory
-webapp
を参照してください。
-encoding
default|named character encoding
default
、または(b)8859_1
などの名前付き文字エンコーディングです。-encoding
フラグが指定されない場合、バイト配列が使用されます。
-g
-help
-J
-k
-keepgenerated
-noTryBlocks
java.lang.VerifyError
例外が発生する場合、JSP を正しくコンパイルするためにこのフラグを使用します。
-nowarn
-O
-g
オプションをオーバーライドします。
-package
packageName
jsp_servlet
です。
-superclass
classname
HttpServlet
または GenericServlet
から派生したものでなければなりません。
-verbose
compiler
フラグで指定された Java コンパイラに、verbose
フラグを渡します。詳細については、コンパイラのマニュアルを参照してください。デフォルトはオフです。
-verboseJavac
-version
-webapp
directory
web.xml
デプロイメント記述子の <jsp-descriptor>
要素の precompile
パラメータを true に設定すると、Web アプリケーションをデプロイまたは再デプロイしたとき、あるいは WebLogic Server を起動したときに JSP をプリコンパイルするようにコンフィグレーションできます。
展開された Web アプリケーションの場合は、プリコンパイルは管理サーバ上で行われます。アーカイブされた Web アプリケーションのプリコンパイルは、管理サーバ上だけでなく、管理対象サーバ上でも最初のデプロイメント時に 1 回行われます。
web.xml
デプロイメント記述子の詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』を参照してください。
![]() |
![]() |
![]() |