Developer’s StudioのWebアプリケーション開発環境では、Webアプリケーション開発の生産性を向上させる機能を提供しています。
Webアプリケーションは、複数のコンポーネントの集まりです。一般的にWebアプリケーションは以下のコンポーネントを1つまたは複数組み合わせて作成されます。
ディレクトリ名 |
説明 |
---|---|
WEB-INF |
Webアプリケーションに関連するメタ情報のリポジトリです。このディレクトリ配下のリソースは、クライアント(WEBブラウザ)からアクセスすることはできません。Webアプリケーション内のServletやJavaクラスからはアクセス可能です。 |
WEB-INF/classes |
Servletクラスはユーティリティクラスやリソースプロパティファイル(*.properties)などを配置します。クラスがJavaパッケージ内に存在する場合、classes配下にはパッケージ名に対応するサブディレクトリが存在しなければなりません。 |
WEB-INF/lib |
Webアプリケーション用のクラスローダでロードしたいJARファイルを配置します。ここに配置したJARファイル中のクラスファイルはWebアプリケーションから参照することができます。 |
Memo
Webコンテナとは、Java EE 6のWeb層で動作するアプリケーション(Servlet、JSP)を制御・管理・実行するコンテナを指します。
<web-appid="WebApp_ID" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-app_2_5.xsd" version="2.5"> (ここに上述した設定内容に対応する定義を記述します。) </web-app>
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: WAB_ProjName001 Bundle-SymbolicName: WAB_ProjName001 Bundle-Version: 1.0.0.qualifier Bundle-ClassPath: WEB-INF/classes/ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: javax.el, javax.servlet, javax.servlet.http, javax.servlet.jsp, javax.servlet.jsp.el, javax.servlet.jsp.tagext Web-ContextPath: /WAB_ProjName001
図2.2.1.7-1
図2.2.1.7-2
図2.2.1.7-3
項目 |
説明 |
---|---|
プロジェクトルート(MyWeb) | プロジェクトのルートディレクトリです。任意のHTML・JSPファイルやイメージファイル・ディレクトリなどを配置します。 |
src | Webプロジェクトのソース・フォルダーです。Webアプリケーションで利用するJavaファイルやサーブレットのJavaファイルをパッケージ構成で格納します。 |
EAR ライブラリー JREシステム・ライブラリー Web App ライブラリー WebOTX Application Server(Local) |
プロジェクトが参照するライブラリです。 |
WebContent | コンテキストディレクトリです。プロジェクト作成時に、任意のディレクトリに変更することができます。 |
META-INF/MANIFEST.MF | マニフェストファイルです。 |
WEB-INF | Webアプリケーションの隠蔽ディレクトリです。この配下のリソースには、クライアント(WEBブラウザ)からアクセスすることはできません。Webアプリケーション・プログラムが利用する定義ファイルなどを格納します。 |
build/classes | Webプロジェクトの出力フォルダです。ソース・フォルダー中のソースファイルのコンパイルにより生成されたファイルが格納されます。 |
WEB-INF/lib | 開発するWebアプリケーションで利用するライブラリ(JARファイル)を格納します。 |
WEB-INF/web.xml | Webアプリケーションのデプロイメント記述子です。Servlet3.0ではデフォルトで生成されません。 |
図2.2.1.7-4
項目 |
説明 |
---|---|
動的 Web モジュール |
必須。プロジェクトをDynamic Web
Moduleとして配備可能にします。 |
Java |
必須。Javaのサポートを可能にします。 |
図2.2.1.7-5
項目 |
説明 |
---|---|
Java ソース・フォルダー |
Javaのソース・フォルダーの指定ができます。 |
図2.2.1.7-6
項目 |
説明 |
---|---|
コンテキスト・ルート |
コンテキストルートの変更が可能です。 デフォルトはプロジェクト名です。 |
コンテンツ・ディレクトリー |
コンテントディレクトリの変更が可能です。 デフォルトはWebContent です。 |
web.xmlデプロイメント記述個の生成 |
web.xmlを生成するかを設定します。 Servlet2.5のデフォルトはOFFですが、Servlet3.0以上のデフォルトはONです。 |
図2.2.1.8-1
項目 |
説明 |
---|---|
Webアプリケーション実行支援ライブラリ |
Webアプリケーションを開発する際に汎用的に利用できるライブラリです。JARファイルとTLDファイルをプロジェクトに配置します。プロジェクト作成時に文字エンコードフィルタの利用選択ができます。 |
Memo
文字エンコードフィルタを利用する場合、エンコード種別と URLパターンの指定は必須です。
戻り型 |
メソッド |
説明 |
---|---|---|
protected void |
doGet(HttpServletRequest,HttpServletResponse) |
リクエストのHTTPメソッドがGETメソッドの場合、Servletコンテナが呼び出すメソッドです。 |
protected void |
doPost(HttpServletRequest,
HttpServletResponse) |
リクエストのHTTPメソッドがPOSTメソッドの場合、Servletコンテナが呼び出すメソッドです。 |
protected void |
doDelete(HttpServletRequest,
HttpServletResponse) |
リクエストのHTTPメソッドがDELETEメソッドの場合、Servletコンテナが呼び出すメソッドです。 |
protected void |
doHead(HttpServletRequest,HttpServletResponse) |
リクエストのHTTPメソッドがHEADメソッドの場合、Servletコンテナが呼び出すメソッドです。 |
protected void |
doPut(HttpServletRequest,HttpServletResponse) |
リクエストのHTTPメソッドがPUTメソッドの場合、Servletコンテナが呼び出すメソッドです。 |
戻り型 |
メソッド |
説明 |
---|---|---|
public void |
init() |
Servletコンテナが呼び出すメソッドです。
このServletがサービスを開始できる状態になったことを示します。 |
public String |
getServletInfo() |
作者、バージョン、著作権といったServletに関する情報を返します。デフォルトではこのメソッドは空の文字列を返すだけです。
このメソッドをオーバライドして意味のある値が返るようにしてください。 |
public void |
destroy() |
Servletコンテナが呼び出すメソッドです。このServlet
がサービス提供を停止するときに呼び出されます。 |
<servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>servlet.TestServlet</servlet-class> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/TestServletUri</url-pattern> </servlet-mapping> </servlet>この記述例の意味は、servlet.TestServletをTestServletという名前で定義して、/TestServletのURLでアクセスされるとTestServletにリクエストを渡すということです。
図2.2.2.7-1
図2.2.2.7-2
図2.2.2.7-3
名称 |
説明 |
---|---|
名前 |
@WebServletアノテーションのname属性の値となります。 または、servlet要素とservlet-mapping要素の子要素であるservlet-name要素の値となります。 |
説明 |
@WebServletアノテーションのdescription属性の値となります。 または、servlet要素の子要素であるdescription要素の値となります。 |
URL マッピング |
@WebServletアノテーションのurlPatterns属性の値となります。 または、servlet-mapping要素の子要素であるurl-pattern要素の値となります。 |
初期化 パラメーター |
@WebServletアノテーションのinitParams属性の値となります。 または、servlet要素の子要素であるinit-param要素の定義を編集できます。 |
Memo
Servlet2.5以下の場合、デプロイメント記述子固有情報がweb.xmlに記入されます。
Servlet3.0以上の場合、デプロイメント記述子固有情報がServletクラスの @WebServletアノテーションに記入されます。
名前とURLマッピングは必須項目です。
図2.2.2.7-4
図2.2.2.7-5
名称 |
説明 |
---|---|
メソッド・スタブの作成 |
作成するメソッドのスタブクラスを選択します。メソッドの詳細は、 前述のリクエストのハンドリングおよび その他のサーブレットメソッドを参照してください。 |
名前 |
記述イメージ |
説明 |
|
---|---|---|---|
ディレクティブ |
<%@ ... %> |
WebコンテナにJSPページの情報を指示します。 |
|
コメント |
<%-- ... %> |
コメントを記述します。 |
|
スクリプティング |
スクリプトレット |
<% ... %> |
記述されるJavaコードを実行します。 |
式 |
<%= ... %> |
式を文字列として記述します。 |
|
宣言 |
<%! ... %> |
変数の定義などJavaコードに関する宣言をします。 |
|
アクション |
<jsp:include...>など |
JSP内でオブジェクトを利用、編集や生成したりします。 |
|
暗黙オブジェクト |
request、responseなど |
JSP内のJavaプログラムで利用できるオブジェクトです。 |
|
EL(ExpressionLanguage) |
${param.value}など |
シンプルな記述でテンプレートデータや属性値を表現できます。JSP2.0仕様より導入されました。 |
<%@ page(pageディレクティブ属性)%> pageディレクティブ属性 ::= {language="scriptingLanguage"} {extends="className"} {import="importList" } {session="true|false" } {buffer="none|sizekb" } {autoFlush="true|false" } {isThreadSafe="true|false" } {info="info_text" } {errorPage="error_url" } {isErrorPage="true|false" } {contentType="ctinfo" } {pageEncoding="peinfo" } {isELIgnored="true|false" }通常、1つの宣言に複数の属性を定義するのではなく、1つのインポート宣言で1つのpageディレクティブ、1つの文字エンコード関連で1つのpageディレクティブと、分けて記述します。
属性 |
説明 |
---|---|
language |
スクリプトレットで使用するスクリプト言語を定義します。デフォルトの言語は"java"です。 |
extends |
JSPサーブレットが継承するスーパークラスを指定します。これは、JSPファイルをJSPサーブレットに変換するときに使用され、Java言語のextendsに相当します。 |
import |
宣言、スクリプトレット、式で使用するパッケージをインポートします。デフォルトでインポートされるパッケージは、"java.lang.*"と"javax.servlet.*"と"javax.servlet.jsp.*"と"javax.servlet.http.*"です。 |
session |
HTTPセッションを使用するかをtrue/falseで指定します。trueを指定すると、暗黙オブジェクト"session"が利用できます。デフォルトの定義はtrueです。 |
buffer |
クライアントに送信するデータをバッファに蓄積する際のバッファの容量をkb単位で指定します。バッファに蓄積しない場合はnoneを指定します。サイズを小さくすると、サーバーのメモリ負荷が軽減され、クライアント側でのレスポンスが向上します。デフォルトは、8kbです。 |
autoFlush |
バッファリングされたデータを自動的にフラッシュするかどうかをtrue/falseで指定します。trueの場合、バッファがいっぱいになると自動的にWebブラウザにデータが送信されます。falseの場合、バッファがいっぱいになってもフラッシュせず、例外を発生させてWebブラウザにエラーを表示します。falseを指定する場合はbuffer属性に適切な値を指定する必要があります。また、buffer="none"を定義する場合、autoFlush="false"を定義することはできません。デフォルトの定義はtrueです。 |
isThreadSafe |
複数のクライアントからのリクエストに対して同時に処理できるかどうかをtrue/falseで指定します。デフォルトはtrueです。 |
info |
JSPファイルの作成者やバージョンなどの情報を記述したいときに利用します。この情報はServletインタフェースのgetServletInfo()メソッドで取得できます。デフォルトは空の文字列が設定されています。 |
isErrorPage |
このJSPがエラーページかどうかをtrue/falseで指定します。trueの場合、JSPページ内でエラーへの参照となる暗黙オブジェクト、"exception"が利用できます。falseの場合、"exception"は利用できません。デフォルトはfalseです。 |
errorPage |
JSPファイル内で対応していない例外が発生した場合に転送するエラーページを指定します。autoFlush="true"でバッファがフラッシュされた後に例外が発生した場合、指定したエラーページに転送することはできません。また、buffer属性が"none"の場合、例外が発生する前にJSPの出力があると、エラーページに転送することができません。 |
contentType |
JSPのレスポンスのMIMEタイプと文字エンコード方式を指定します。定義できるMIMEタイプについては、IANAの『MIME
Media Type』を、文字エンコード方式については、IANAの『CHARACTER
SETS』を参照してください。 |
pageEncoding |
JSPファイルの文字エンコード方式を指定します。JSPがServletに変換される際に利用されます。定義できる文字エンコード方式については、IANAの『CHARACTER
SETS』を参照してください。 |
isELIgnored |
JSP2.0から利用できるようになった式言語(EL)をJSPファイルで利用するかをtrue/falseで指定します。trueの場合、EL式はWebコンテナに無視されます。falseの場合、EL式がWebコンテナに認識されます。 |
<%@ pagelanguage="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%@ pagebuffer="32kb" autoFlush="true" %>
<%@ pageimport="java.util.*, java.io.*" %>
<%@ pageimport="java.util.*" %> <%@ pageimport="java.io.*" %>
<%@taglib ( uri="タグライブラリURI" | tagdir="タグライブラリディレクトリ") prefix="カスタムタグの接頭辞" %>taglibディレクティブに設定できる属性は次のようになります。
属性 |
説明 |
---|---|
uri |
prefix属性の定義値に対応するタグライブラリ記述子(TLDファイル)の絶対URI、相対URIを定義します。 |
prefix |
JSPファイル内に記述するカスタムタグライブラリの接頭辞を定義します。 |
tagdir |
uri属性の代わりとして、Webアプリケーション内のタグライブラリ記述子の格納ディレクトリを定義することができます。"WEB-INF/tags"で始まらない定義値はWebコンテナによりエラーとなります。 |
<%@include file="インクルードファイルの相対URL" %>
Memo
IANAとはインターネット上で利用されるアドレス資源(IPアドレス、ドメイン名、プロトコル番号など)の標準化や割り当てを行なっていた組織でした。1998年10月、インターネット資源の管理・調整を行なう国際的な非営利法人ICANNが設立されて、2000年2月には、ICANN、南カリフォルニア大学、アメリカ政府の三者合意により、IANAが行なっていた各種資源の管理はICANNに移管されました。現在では、IANAはICANNにおける資源管理・調整機能の名称として使われています。
<% if(Calendar.getInstance().get(Calendar.AM_PM) == Calendar.AM) {%> おはよう <% }else { %> こんにちは <% }%>
<%= (newjava.util.Date()).toString() %>
<%! inti = 0; %>
<%!public String getIString(int j) { if (j<3) return("..."); ... } %>
アクション |
説明 |
---|---|
<jsp:useBean> |
JavaBeansをインスタンス化して特定のスコープに登録を行い、JSPページから使用可能にするアクションタグです。 |
<jsp:setProperty> |
<jsp:useBean>などで生成したインスタンスに対して、値の設定を行うアクションタグです。 |
<jsp:getProperty> |
<jsp:useBean>などで生成したインスタンスに対して、取得・表示を行うアクションタグです。 |
<jsp:include> |
リソース(ページ)のインクルードをするアクションタグです。 |
<jsp:forward> |
リクエストを転送するアクションタグです。 |
<jsp:param> |
キーと値のペアの情報を扱うアクションタグです。このアクションタグを利用して<jsp:include>や<jsp:forward>に値を渡すことができます。 |
<jsp:plugin> |
JavaプラグインをダウンロードしてアプレットやJavaBeansコンポーネントを実行するHTMLを生成します。 |
<jsp:params> |
<jsp:plugin>の一部として利用するアクションタグです。アプレットに渡すパラメーターなどを指定します。 |
<jsp:fallback> |
<jsp:plugin>の一部として利用するアクションタグです。ブラウザがサポートしていないタグがある場合に表示するテキストを指定します。 |
オブジェクト |
スコープ |
説明 |
---|---|---|
request |
request |
HTTPリクエスト(javax.servlet.http.HttpServletRequest)のオブジェクトです。 |
response |
page |
HTTPレスポンス(javax.servlet.http.HttpServletResponse)のオブジェクトです。 |
pageContext |
page |
このJSPページ(javax.servlet.jsp.PageContext)のオブジェクトです。 |
session |
session |
HTTPセッション(javax.servlet.http.HttpSession)オブジェクトです。 |
application |
application |
Servletコンテキスト(javax.servlet.ServletContext)のオブジェクトです。 |
out |
page |
出力用ストリーム(javax.servlet.jsp.JspWriter)のオブジェクトです。 |
config |
page |
Servletの設定(javax.servlet.ServletConfig)のオブジェクトです。 |
page |
page |
このページを実装するクラスのインスタンス(java.lang.Object)です。 |
スコープ |
説明 |
---|---|
request |
リクエスト間でデータを共有したい場合に使用します。 |
session |
HTTPセッション間でデータを共有したい場合に使用します。これにより、異なるページ間でブラウザを閉じるまで、もしくはセッションが解放されるまでデータを共有することができます。 |
application |
Webアプリケーション間でデータを共有したい場合に使用します。Webアプリケーション間とは、サーブレットコンテナに設定されるWebアプリケーション内のことを指します。 |
page |
ひとつのJSPファイル中でデータを共有したい場合に使用します。 |
従来の式の例 <%=o.getDta() %> ELの例 ${o.data }ELには次の専用の暗黙オブジェクトがあります。
オブジェクト |
説明 |
---|---|
pageContext |
PageContextオブジェクトです。 |
pageScope |
pageスコープに格納されたキーと値のMap型オブジェクトです。 |
requestScope |
requestスコープに格納されたキーと値のMap型オブジェクトです。 |
sessionScope |
sessionスコープに格納されたキーと値のMap型オブジェクトです。 |
applicationScope |
applicationスコープに格納されたキーと値のMap型オブジェクトです。 |
param |
リクエストパラメーターのパラメーター名とパラメーター値を格納するMap型オブジェクトです。(パラメーター値は、ServletRequest.getParameter("パラメーター名")で取得できる値です。) |
paramValues |
リクエストパラメーターのパラメーター名とパラメーター値(複数)を格納するMap型オブジェクトです。(パラメーター値は、ServletRequest.getParameterValues("パラメーター名")で取得できる値です。) |
header |
ヘッダのキーと値を格納するMap型オブジェクトです。(値は、ServletRequest.getHeader("キー")で取得できる値です。) |
headerValue |
ヘッダのキーと値(複数)を格納するMap型オブジェクトです。(値は、ServletRequest.getHeaders("キー")で取得できる値です。) |
cookie |
Cookieのキーと値を格納するMap型オブジェクトです。 |
initParam |
コンテキストの初期化パラメーターのキーと値を格納するMap型のオブジェクトです。(値は、ServletContext.getInitParameter("キー")で取得できる値です。) |
図2.2.3.3-1
図2.2.3.3-2
<%@pagelanguage="java"contentType="text/html;charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE Html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Insert title here</title> </head> <body> </body> </html>この記述をもとに、用途に応じてJSPファイルの編集を行って下さい。
図2.2.3.3-3
項目 |
説明 |
---|---|
New JSP File(html) |
HTML マークアップつきのJSPファイルを作成します。 |
New JSP File(xhtml) |
XHTML マークアップつきのJSPファイルを作成します。 |
New JSP File(xhtml, xml syntax) |
XHTML マークアップつきおよびXMLスタイル構文のJSPファイルを作成します。 |
New JSP File(xhtml, xml syntax, JSP 2.0) |
JSP 2.0仕様のタグ、XHTML マークアップつきおよびXMLスタイル構文のJSPファイルを作成します。 |
Memo
コマンドラインからJSPコンパイルを実行する方法については、
[ ドメイン構築・基本設定ガイド
> 13. 付録
> 13.1. JSPの事前コンパイル方法 ]
を参照してください。
図2.2.3.4-1
図2.2.3.4-2
図2.2.3.4-3
図2.2.3.4-4
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>DynamicWebPJ</display-name> <servlet> <servlet-name>org.apache.jsp.index_jsp</servlet-name> <servlet-class>org.apache.jsp.index_jsp</servlet-class> </servlet> <servlet-mapping> <servlet-name>org.apache.jsp.index_jsp</servlet-name> <url-pattern>/index.jsp</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
図2.2.3.4-5
図2.2.3.4-6
図2.2.3.4-7
図2.2.3.4-8
図2.2.3.4-9
図2.2.3.4-10
図2.2.3.5-1
図2.2.3.5-2
メソッド |
説明 |
---|---|
void init(FilterConfig
filterConfig) throws ServletException |
初期化メソッドです。フィルター処理が開始される際にWebコンテナによって1度だけ呼び出されます。 |
void doFilter(ServletRequest request,
ServletResponseresponse, FilterChain chain) throws java.io.IOException,ServletException |
フィルターが適用されるリクエストがあるたびに呼び出されるメソッドです。このメソッドでリクエストやレスポンス、ヘッダ情報を加工する処理を実装します。『chain.doFilter()』で次のフィルター、もしくは、リソースに処理を渡します。 |
void destroy() |
フィルター処理の終了の際にWebコンテナによって呼び出されるメソッドです。 |
<filter> <filter-name>TestFilter</filter-name> <filter-class>filter.TestFilter</filter-class> </filter> <filter-mapping> <filter-name>TestFilter</filter-name> <url-pattern>/TestServlet</url-pattern> </filter-mapping>この例では、filter.TestFilterをTestFilterという名前で定義し、 /TestServletと言うURLでアクセスすることでTestFilterのフィルター処理が行われるよう定義しています。
図2.2.4.4-1
図2.2.4.4-2
名称 |
説明 |
---|---|
プロジェクト |
Webプロジェクト名です。 |
ソース・フォルダー |
Webプロジェクトのソース・フォルダーです。 |
Javaパッケージ |
フィルターのJavaパッケージです。 |
クラス名 |
フィルターのクラス名です。 |
スーパークラス |
フィルターの継承するスーパークラスです。 |
既存フィルター・クラスを使用 |
既存フィルター・クラスを使用する場合に、指定します。 |
図2.2.4.4-3
名称 |
説明 |
---|---|
名前 |
@WebFilterアノテーションのfilterName属性の値となります。 または、filter要素とfilter-mapping要素の子要素であるfilter-name要素の値となります。 |
説明 |
@WebFilterアノテーションのdescription属性の値となります。 または、filter要素の子要素であるdescription要素の値となります。 |
初期化パラメーター |
@WebFilterアノテーションのinitParams属性の値となります。 または、filter要素の子要素であるinit-param要素の定義を編集できます。 |
フィルター・マッピング |
@WebFilterアノテーションのurlPatterns属性及びdispatcherTypes属性の値となります。 または、filter-mapping要素の子要素であるurl-pattern及びdispatcher要素の値となります。 |
Memo
Servlet2.5以下の場合、デプロイメント記述子固有情報がweb.xmlに記入されます。
Servlet3.0以上の場合、デプロイメント記述子固有情報がフィルタークラスの @WebFilterアノテーションに記入されます。
名前とURLパターン/サーブレット名は必須です。
図2.2.4.4-4
名称 |
説明 |
---|---|
名前 |
@WebInitParamアノテーションのname属性の値、またはparam-name要素の値になります。 |
値 |
@WebInitParamアノテーションのvalue属性の値、またはparam-value要素の値になります。 |
説明 |
@WebInitParamアノテーションのdescription属性の値、またはdescription要素の値になります。 |
フィルター・マッピングの右側の追加をクリックするとフィルター・マッピングダイアログが表示されます。この画面ではフィルター・マッピングを追加することができます。
図2.2.4.4-5
名称 |
説明 |
---|---|
パターン |
@WebFilterアノテーションのurlPatterns属性の値となります。 または、filter-mapping要素の子要素であるurl-pattern要素の値となります。 |
Select Dispathcers |
@WebFilterアノテーションのdispatcherTypes属性の値となります。 または、filter-mapping要素の子要素であるdispatcher要素の値となります。 |
フィルターのデプロイメント記述子固有の情報入力画面で次へをクリックすると、以下の画面が表示されます。この画面では、フィルターの修飾子、実装するインタフェースを指定することができます。
図2.2.4.4-6
イベント |
説明 |
---|---|
コンテキストの生成と破棄 |
Webコンテナの起動時やWebアプリケーションの配備時に、Webアプリケーションが起動する際に、コンテキスト(ServletContext)が生成されます。Webコンテナの停止などにより、Webアプリケーションが停止する際にコンテキストは破棄されます。 |
コンテキスト属性の操作 |
コンテキスト属性を追加、削除、置換したときです。 |
セッションの生成と破棄 |
セッションが生成されるときとタイムアウトなどにより破棄されるときです。 |
セッション属性の操作 |
セッション属性を追加、削除、置換したときです。 |
セッションの活性化と非活性化 |
セッションが活性化、または、非活性化されたときです。 |
リクエストの発生と終了 |
Webコンテナでリクエストを受け付けたとき(HttpServletRequestを作成したとき)とリクエストが終了するときです。 |
リクエスト属性の操作 |
リクエスト属性を追加、削除、置換したときです。 |
Memo
セッションの活性化と非活性化は、分散環境やセッションを永続的に保持するWebコンテナなどで有用です。利用する環境やWebコンテナを意識した使い分けが必要となります。
インタフェース |
説明 |
---|---|
javax.servlet. ServletContextListener |
コンテキストの生成と破棄のイベントが発生したときの処理を実装します。contextInitialized(ServletContextEventsce)メソッドとcontextDestroyed(ServletContextEvent
sce)メソッドを実装します。 |
javax.servlet. ServletContextAttributeListener |
コンテキスト属性を操作したイベントが発生したときの処理を実装します。attributeAdded(ServletContextAttributeEventscab)メソッドとattributeRemoved(ServletContextAttributeEventscab)メソッドとattributeReplaced(ServletContextAttributeEventscab)メソッドを実装します。 |
javax.servlet.http. HttpSessionListener |
セッションの生成と破棄のイベントが発生したときの処理を実装します。sessionCreated(HttpSessionEventse)メソッドとsessionDestroyed(HttpSessionEvent
se)メソッドを実装します。 |
javax.servlet. HttpSessionAttributeListener |
セッション属性の操作のイベントが発生したときの処理を実装します。attributeAdded(HttpSessionBindingEventse)メソッドとattributeRemoved(HttpSessionBindingEventse)メソッドとattributeReplaced(HttpSessionBindingEventse)メソッドを実装します。 |
javax.servlet. HttpSessionActivationListener |
セッションの活性化と非活性化のイベントが発生したときの処理を実装します。sessionDidActivate(HttpSessionEvent
se)メソッドとsessionWillPassivate(HttpSessionEvent
se)メソッドを実装します。 |
javax.servlet. HttpSessionBindingListener |
valueBound(HttpSessionBindingEventevent)メソッドとvalueUnbound(HttpSessionBindingEventevent)メソッドを実装します。 |
図2.2.5.3-1
図2.2.5.3-2
名称 |
説明 |
---|---|
プロジェクト |
Webプロジェクト名です。 |
ソース・フォルダー |
Webプロジェクトのソース・フォルダーです。 |
Javaパッケージ |
リスナーのJavaパッケージです。 |
クラス名 |
リスナーのクラス名です。 |
スーパークラス |
リスナーを継承するスーパークラスです。 |
既存リスナー・クラスを使用 |
既存リスナー・クラスを指定します。 |
図2.2.5.3-3
図2.2.5.3-4
図2.2.6.1-1
図2.2.6.1-2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv= "Content-Type" content="text/html; charset=windows-31j"> <title>Insert title here</title> </head> <body> </body> </html>HTMLウィザードでファイル名(M)を入力後、次へをクリックした場合、 HTML テンプレートの選択が表示されます。
図2.2.6.1-3
項目 | 説明 |
---|---|
New HTML File (5) | HTML 5仕様のHTMLファイルを作成します。 |
New HTML File (4.01frameset) | HTML 4.01仕様でフレームセットを利用したい場合のHTMLファイルを作成します。 |
New HTML File (4.01 strict) | HTML 4.01仕様の標準的なHTMLファイルを作成します。 |
New XHTML File (1.0 frameset) | XMLをベースとしたXHTMLファイルでフレームセットを利用したい場合に作成します。 |
New XHTML File (1.0 strict) | XMLをベースとした標準的なXHTMLファイルを作成します。 |
図2.2.7-1
図2.2.7-2
図2.2.7-3
図2.2.7-4
図2.2.7-5
Caution
Webアプリケーション実行支援ライブラリを利用する前に次のことを確認して下さい。
図2.2.8.3-1
Caution
設定上の注意事項
1.「エンコード種別」 には、
MS932、SJIS(またはShift_JIS)、UTF8、EUC-JP等の中のいずれかを設定して下さい。(例)MS932ページの日本語の文字化けの対処にはMS932を設定します。)
使用できる文字コードの例
文字コード |
説明 |
---|---|
MS932 |
Windows日本語 |
SJIS |
Shift-JIS、日本語 |
UTF8 |
8ビットUnicode変換形式 |
EUC-JP |
日本語EUC |
文字コード |
説明 |
---|---|
JISAutoDetect |
Shift-JIS、EUC-JP、ISO 2022
JPの検出および変換 (Unicode変換のみ) |
Memo
リクエストやレスポンスのデータ処理は、フィルターを使うことを推奨します。
クラス | 説明 |
---|---|
org.apache.catalina.valves. ValveBase | ValveBaseを継承して、Valveを作成します。 invoke(Request request, Response response)メソッドにValveの処理を実装します。 |
インタフェース | 説明 |
com.nec.webotx.as.web.valve.WebOTXValve | WebOTXValveを実装して、Valveを作成します。 invoke(Request request, Response response)メソッド postInvoke(Request request, Response response)メソッドにValveの処理を実装します。 |
フィールド | 説明 |
---|---|
int INVOKE_NEXT | 次のValve(サーブレット) を実行する場合は、invoke メソッドでこの値をreturnします。 サーブレット実行後に行いたい処理はpostInvoke()に実装します。 |
int END_PIPELINE | 次のValve(サーブレット)を実行しない場合は、invoke メソッドでこの値をreturnします。 ※別途レスポンスの送出処理を行う必要があります。 |
クラス | 説明 |
---|---|
public String getInfo() | このValveの情報を文字列で返却します。作成したValveの説明を返却することができます。 |
public int invoke(Request request,Response response)
throws java.io.IOException,
javax.servlet.ServletException |
次のValve(サーブレット)へ処理を渡すまでのValve の前処理を実装します。 |
public void postInvoke(Request request, Response response) throws java.io.IOException,javax.servlet.ServletException | 次のValve(サーブレット)へ処理を渡してサーブレットの実行が終わり、自Valveに処理が戻ってきた場合の後処理を実装します。 |
メソッド | 説明 |
---|---|
public void setNote(String name,Object value) | 第1引数には下記に示すフィールドを指定し、第2引数にはValve内で生成した、次のValve(サーブレット)へ渡したいRequestあるいはResponseオブジェクトを指定します。 |
フィールド | 説明 |
---|---|
org.apache.catalina.Globals.WRAPPED_REQUEST | setNote()でRequestオブジェクトを渡したい場合に指定します。 |
org.apache.catalina.Globals.WRAPPED_RESPONSE | setNote()でResponseオブジェクトを渡したい場合に指定します。 |
public int invoke(Request request, Response response) throws java.io.IOException, javax.servlet.ServletExceptionpostInvoke メソッドのインタフェースは次のようになります。
public void postInvoke(Request request,Response response) throws java.io.IOException, javax.servlet.ServletExceptionソースのサンプルを次に示します。
package org.apache.catalina.valves; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.catalina.Request; import org.apache.catalina.Response; import org.apache.catalina.Container; import org.apache.catalina.Context; import org.apache.catalina.Wrapper; import com.nec.webotx.as.web.valve.WebOTXValve; public final class TestValve extends ValveBase implements WebOTXValve { //-----------------------------------------------------------Constructors /** * Constructor */ public TestValve() { super(); } //---------------------------------------------------------Public Methods public int invoke(Request request, Response response) throws java.io.IOException, javax.servlet.ServletException{ // HttpServletRequest 取得 ServletRequest req = request.getRequest(); HttpServletRequest hreq = (HttpServletRequest) req; // HttpServletRequest からコンテキストパス取得 String ctxPath = hreq.getContextPath(); // HttpServletRequest からセッション取得 HttpSession session = hreq.getSession(false); // request からこのリクエストのコンテキスト取得 Context ctx = request.getContext(); String ctxName = ctx.getName(); ……サーブレット実行前の処理の実装 if(….) { // サーブレットを実行させる場合 return INVOKE_NEXT; // リクエスト処理継続 } else { // サーブレットを実行させない場合 return END_PIPELINE; // リクエスト処理終了 } } public void postInvoke(Request request, Response response) throws java.io.IOException, javax.servlet.ServletException { ・・・・・・ サーブレットの実行が終わった後の処理 } }
Memo
web.xmlおよびnec-web.xmlの設定
ServletAuthenticatorを呼び出して認証させるためのservletもしくはJSPには、認証が不要となるように設定する必要があります。
<%@page import="org.apache.catalina.authenticator.ServletAuthenticator" session="true" contentType="text/html;charset=Shift_JIS"%> <html> <head> <title>サンプル</title> </head> <body> <% String username = "admin"; String password = "adminadmin"; ServletAuthenticator sau = new ServletAuthenticator( application ); sau.authenticate(request, response, username, password); %> サンプルです<br> </body> </html>
図2.2.11.1-1
図2.2.11.1-2
図2.2.11.1-3
図2.2.11.1-4
図2.2.11.1-5
項目 |
説明 |
---|---|
JSF 構成ファイル |
必須。Faces配置ファイルを設定します。 |
JSF サーブレット名 |
必須。Faces Servlet名を設定します。 |
JSF Servlet Class Name |
任意。省略の場合、javax.faces.webapp.FacesServletとします。 |
URL マッピング・パターン |
JSF
ServletにマッピングするURLパターンを設定します。普通は[/faces/*]を設定します。 |
図2.2.11.1-6
図2.2.11.2-1
図2.2.11.2-2
図2.2.11.3-1
図2.2.11.3-2
図2.2.11.3-3
図2.2.11.3-4
図2.2.11.3-5
図2.2.11.4-1
図2.2.11.4-2
図2.2.11.5-1
図2.2.11.5-2
otxadmin > login --user <管理ドメインのユーザ名> ---password <管理ドメインのパスワード> --port <管理ドメインのポート番号> otxadmin > install-optional-component --domain <ドメイン名> --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> jsf22
Memo
WebOTX ASのExpress、またはStandard/Enterpriseのスタンダードモードでは--apgroupオプションと--pgroupオプションは指定しません。
otxadmin > login --user <管理ドメインのユーザ名> ---password <管理ドメインのパスワード> --port <管理ドメインのポート番号> otxadmin > uninstall-optional-component --domain <ドメイン名> --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> jsf22JSFの切り替えについてのより詳しい説明は[ ドメイン構築・基本設定ガイド > 3. ドメイン > 3.2. ドメインの作成・削除 > 3.2.1. ドメインの作成 > 3.2.1.7. オプショナルコンポーネントの有効化 ] を参照して下さい。
従来のWebアプリケーションでは、Webコンテナで発生したイベントをクライアントへ通知するには、クライアントが
Webコンテナへ定期的にリクエストを行いイベント情報を取得する必要がありました。 しかし、Comet
を使う事によりWebコンテナからのプッシュ機能が実現され、リアルタイムでクライアントへイベントを
通知する事ができます。
Servlet3.0 APIを利用したComet Webアプリケーションの作成例を以下に示します。
※Cometの利用に関しては、
[ 注意制限事項 >
3. Webコンテナ >
3.2. 制限事項 ] がありますので御確認ください。
アノテーション @WebServlet で asyncSupported=trueを指定するか、web.xmlの<servlet>要素の子要素として
<async-supported>true</async-supported>を追加します。
import javax.servlet.AsyncContext;
import javax.servlet.AsyncEvent;
import javax.servlet.AsyncListener;
・・・
@WebServlet(name = "pooling", urlPatterns = {"/pooling"}, asyncSupported=true)
public class PollingServlet extends HttpServlet {
Servletのinitメソッドで、メッセージキュー処理を行います。
Queue<AsyncContext> queue = new ConcurrentLinkedQueue<AsyncContext>();
BlockingQueue<String> messageQueue = new LinkedBlockingQueue<String>();
Thread notifierThread = null;
public void init(ServletConfig config) throws ServletException {
super.init(config);
Runnable notifierRunnable = new Runnable() {
public void run() {
try{
while(true){
String cMessage = messageQueue.take();
for (AsyncContext ac : queue) {
try {
PrintWriter acWriter = ac.getResponse().getWriter();
acWriter.println(cMessage);
acWriter.flush();
} catch(IOException ex) {
queue.remove(ac);
}
}
}
}catch(InterruptedException e){
log("messageQueue take error", e);
}
}
};
notifierThread = new Thread(notifierRunnable);
notifierThread.start();
}
最初のリクエストを受けた際に、非同期でレスポンスを返す事ができる様にするためにstartAsync()
を行ってAsyncContextを取得します。
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
final AsyncContext ac = request.startAsync();
ac.setTimeout(30 * 60 * 1000);
ac.addListener(new AsyncListenerImpl());
this.queue.add(ac);
response.setContentType("text/plain;charset=UTF-8");
response.setCharacterEncoding("utf-8");
PrintWriter pw = response.getWriter();
pw.println("Welcome");
pw.flush();
}
POSTされたデータをメッセージキューに追加する事で、initメソッドで起動したスレッドへメッセージが通知されます。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String user = request.getParameter("user");
String message = request.getParameter("message");
this.messageQueue.add("[" + user + "]: " + message);
}
destroyメソッドでスレッドを止めます。 AsyncListener の実装クラスではエラー処理等を行います。
@Override
public void destroy() {
this.queue.clear();
this.notifierThread.interrupt();
}
class AsyncListenerImpl extends Thread implements AsyncListener{
@Override
public void onStartAsync(AsyncEvent arg0) throws IOException {
…
}
@Override
public void onComplete(AsyncEvent arg0) throws IOException {
…
}
@Override
public void onError(AsyncEvent arg0) throws IOException {
queue.remove(arg0.getAsyncContext());
}
@Override
public void onTimeout(AsyncEvent arg0) throws IOException {
queue.remove(arg0.getAsyncContext());
}
}
}
API リファレンスについては以下のドキュメントを参照してください。
Memo
『統合運用管理ツール』はオプション製品です。ご利用の際は、『WebOTX Administrator』を別途ご購入下さい。
図2.2.13.1-1
図2.2.13.1-2
スタートメニューから プログラム > WebOTX > 統合運用管理ツールを選択します。
図2.2.13.1-3
Memo
配備操作を行うにはテスト用サーバーが動作している必要があります。
図2.2.13.1-4
図2.2.13.1-5
図2.2.13.1-6
図2.2.13.1-7
図2.2.13.1-8
図2.2.13.1-9
図2.2.13.1-10
図2.2.13.1-11
図2.2.13.1-12
otxadmin> deploy <WAR ファイルへのパス>WebOTX AS Standard/Enterpriseのアドバンスドモードの場合は、
otxadmin> deploy --apgroup <アプリケーショングループ名> --pgroup <プロセスグループ名> <WAR ファイルへのパス>
図2.2.13.4-1
図2.2.13.4-2
要素 |
説明 |
---|---|
<?xml
version="1.0"encoding="UTF-8"?> |
このweb.xmlファイルの文字コードを指定します。この値は、XML宣言のエンコーディング宣言に設定します。 <?xml version="1.0" encoding="ISO-8859-1"?> エンコーディングを以下から選択します。 UTF-8 UTF-16 ISO-8859-1 EUC-JP Shift_JIS ISO-2022-JP BIG5 GB2312 既定値:ISO-8859-1 必須(1個) |
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" metadata-complete="true"> |
メタデータを指定します。 必須(1個) 任意(0-1個) サブ要素: description display-name icon distributable context-param filter filter-mapping listener servlet servlet-mapping session-config mime-mapping welcome-file-list error-page jsp-config security-constraint login-config security-role env-entry ejb-refまたはejb-local-ref service-ref resource-ref resource-env-ref message-destination-ref message-destination locale-encoding-mapping-list persistence-context-ref persistence-unit-ref post-construct pre-destroy |
・ description |
Webアプリケーションの説明を設定します。 任意(0個以上)*1 |
・ display-name |
Webアプリケーションの表示名を設定します。 任意(0個以上)*1 |
・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ distributable |
配布可能かどうか指定します。 任意(0個以上)*2 |
・ context-param |
コンテキストパラメータを設定します。 任意(0個以上) サブ要素: description param-name param-value |
・ ・ description |
アイコンをクリックして、説明ダイアログを表示し、コンテキストパラメータの説明を設定します。 任意(0個以上)*1 |
・ ・ param-name |
WebアプリケーションのServletコンテキスト初期化パラメータ名を設定します。 必須(1個) |
・ ・ param-value |
パラメータの値を設定します。 必須(1個) |
・ filter |
サーブレットフィルタリスト。 任意(0個以上) サブ要素: description display-name icon filter-name filter-class init-param |
・ ・ description |
フィルタの説明を設定します。 任意(0個以上)*1 |
・ ・ display-name |
フィルタの表示名を設定します。 任意(0個以上)*1 |
・ ・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ filter-name |
フィルタの表示名を設定します。 必須(1個) |
・ ・ filter-class |
フィルタのクラス名を設定します。 必須(1個) |
・ ・ init-param |
初期化パラメータ 任意(0個以上) サブ要素: description param-name param-value |
・ ・ ・ description |
初期化パラメータの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ param-name |
初期化パラメータ名を設定します。 必須(1個) |
・ ・ ・ param-value |
初期化パラメータの値を設定します。 必須(1個) |
・ filter-mapping |
サーブレットフィルタマッピングを設定します。 任意(0個以上) サブ要素: filter-name url-pattern servlet-name dispatcher |
・ ・ filter-name |
フィルタ名を設定します。 必須(1個) |
・ ・ url-pattern |
URLパターンを設定します。 url-patternまたはservlet-nameが必須(1個以上) |
・ ・ async-supported |
非同期処理を有効にするかどうか指定します。 true: 非同期処理を有効 false: 非同期処理を無効 任意(0個-1個) |
・ ・ dispatcher |
ディスパッチャを設定します。
FORWARD REQUEST INCLUDE ERROR ASYNC [任意(0個-4個) |
・ listener |
リスナを設定します。 任意(0個以上) サブ要素: description display-name icon listener-class |
・ ・ description |
リスナの説明を設定します。 任意(0個以上)*1 |
・ ・ display-name |
リスナの表示名を設定します。 任意(0個以上)*1 |
・ ・ icon |
リスナのアイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ listener-class |
リスナのクラス名を設定します。 必須(1個) |
・ servlet |
サーブレットリストを設定します。 任意(0個以上) サブ要素: description display-name icon servlet-name servlet-class jsp-file init-param load-on-startup run-as security-role-ref |
・ ・ description |
サーブレット説明を設定します。 任意(0個以上)*1 |
・ ・ display-name |
サーブレットの表示名を設定します。 任意(0個以上)*1 |
・ ・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ servlet-name |
サーブレット名を設定します。 必須(1個) |
・ ・ servlet-class |
ターゲット(サーブレットクラス名またはJSPファイル)を設定します。 servlet-classまたはjsp-fileが必須(1個) |
・ ・ jsp-file |
Webアプリケーション内のJSPへのパスを設定します。パスは"/"で始まります。 |
・ ・ init-param |
初期化パラメータを一覧を設定します。 任意(0個以上) サブ要素: description param-name param-value |
・ ・ ・ description |
初期化パラメータの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ param-name |
初期化パラメータ名を設定します。 必須(1個) |
・ ・ ・ param-value |
初期化パラメータの値を設定します。 必須(1個) |
・ ・ load-on-startup |
サーブレットのロード順をと整数値で設定します。 任意(0-1個) |
・ ・ async-supported |
非同期処理を有効にするかどうか指定します。 true: 非同期処理を有効 false: 非同期処理を無効 任意(0個-1個) |
・ ・ run-as |
実行タイプ 任意(0-1個) サブ要素: description role-name |
・ ・ ・ description |
実行タイプの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ role-name |
セキュリティロール名のリストから、使用するロールを設定します。 任意(0-1個) |
・ ・ security-role-ref |
サーブレットリストから選択したサーブレットに対して、Webアプリケーション内で使用するロール参照名と、
ロールで定義したセキュリティロール名をマッピングします。 任意(0個以上) サブ要素: description role-name role-link |
・ ・ ・ description |
ロール参照の説明を設定します。 任意(0個以上)*1 |
・ ・ ・ role-name |
Webアプリケーション内で使用するロール参照名を設定します。 必須(1個) |
・ ・ ・ role-link |
ロール名で設定したロール参照名で参照するロールを、
ロールで定義したセキュリティロール名のリストから選択して設定します。 任意(0-1個) |
・ servlet-mapping |
サーブレットにマッピングするURLパターンを設定します。 任意(0個以上) サブ要素: servlet-name url-pattern |
・ ・ servlet-name |
サーブレット名 必須(1個) |
・ ・ url-pattern |
マッピングするURLパターンを設定します。 必須(1個以上) |
・ session-config |
セッションの設定です。 任意(0個以上)*3 サブ要素: session-timeout |
・ ・ session-timeout |
セッションタイムアウト間隔を分単位で設定します。 任意(0-1個) ※整数値でなければなりません。 ※0以下の数値を指定するとタイムアウトのチェックを行いません。 セッションタイムアウトのチェックを行わないと時間経過によるセッションオブジェクトの解放が行われません。 この場合、不要になったセッションオブジェクトがメモリ上に残存する事になり、 結果 OutOfMemoryError が発生する可能性がありますので注意してください。 なお、OutOfMemoryError が発生した場合や意図的にセッションオブジェクトを解放するにはドメインを再起動してください。 |
・ ・ tracking-mode |
セッション生成時のセッションIDの扱いを設定します。 任意(0-2個) "COOKIE"もしくは"URL"を設定します。"COOKIE"を設定した場合はセッション生成時セッションIDを格納したCOOKIEが発行されます。 "URL"を設定した場合はHttpServletResponseのencodeURL()を実施した際、URLにセッションIDが付加されます。 設定が無い場合の規定値は"COOKIE,URL"両方の指定となります。 |
・ mime-mapping |
マッピングする拡張子とMIMEタイプを設定します。 任意(0個以上) サブ要素: extension mime-type |
・ ・ extension |
拡張子("txt"など)を設定します。 必須(1個) |
・ ・ mime-type |
MIMEタイプ("txt/plain"など)を設定します。
必須(1個) |
・ welcome-file-list |
デフォルトWelcomeファイルとして使用するファイル名を設定します。 任意(0個以上)*4 サブ要素: welcome-file |
・ ・ welcome-file |
デフォルトWelcomeファイルとして使用するファイル名を指定します。 必須(1個以上) |
・ error-page |
エラーマッピングを設定します。 任意(0個以上) サブ要素: error-code exception-type location |
・ ・ error-code |
エラーコードを設定します。 error-codeまたはexception-typeが必須(1個) |
・ ・ exception-type |
例外の型を設定します。 |
・ ・ location |
Webアプリケーションのルートからの相対でWebアプリケーション内のリソースの場所を設定します。 必須(1個) ※先頭は"/"で始まらなければなりません。 |
・ jsp-config |
タグライブラリ リスト。 任意(0個以上)*3 サブ要素: taglib jsp-property-group |
・ ・ taglib |
JSPタグライブラリを設定します。 任意(0個以上) サブ要素: taglib-uri taglib-location |
・ ・ ・ taglib-uri |
JSPタグライブラリリストの1行:「URI」 必須(1個) |
・ ・ ・ taglib-location |
タグライブラリ記述ファイルの場所をWebアプリケーションのルートからの相対パスで設定します。 必須(1個) |
・ ・ jsp-property-group |
JSPプロパティグループを設定します。 任意(0個以上) サブ要素: description display-name icon url-pattern el-ignored page-encoding scripting-invalid is-xml include-prelude include-coda |
・ ・ ・ description |
JSPプロパティグループの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ display-name |
グループ名を設定します。 任意(0個以上)*1 |
・ ・ ・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ ・ url-pattern |
JSPプロパティグループに含まれるJSPのURLパターンを設定します。 任意(1個以上) |
・ ・ ・ el-ignored |
ELを無効にするかどうか指定します。 true: ELが無効 false: ELが有効 任意(0-1個) |
・ ・ ・ page-encoding |
ページエンコーディングの文字コードを設定します。 任意(0-1個) |
・ ・ ・ scripting-invalid |
スクリプトを無効にするかどうか指定します。
true: スクリプトが無効 false: スクリプトが有効 任意(0-1個) |
・ ・ ・ is-xml</is-xml> |
URLパターンに一致するリソースが、XMLドキュメントかどうか指定します。 true : XMLドキュメントである false : XMLドキュメントでない 任意(0-1個) |
・ ・ ・ include-prelude |
先頭にインクルードするファイルを設定します。 任意(0個以上) |
・ ・ ・ include-coda |
末尾にインクルードするファイルを設定します。 任意(0個以上) |
・ security-constraint |
セキュリティ制約リスト 任意(0個以上) サブ要素: display-name web-resource-collection auth-constraint user-data-constraint |
・ ・ display-name |
セキュリティ制約の表示名を設定します。 任意(0個以上)*1 |
・ ・ web-resource-collection |
セキュリティ制約リストで選択したセキュリティ制約を適用するWebリソースコレクションを設定します。 任意(1個以上) サブ要素: web-resource-name description url-pattern http-method |
・ ・ ・ web-resource-name |
Webリソースコレクションの名前を設定します。 必須(1個) |
・ ・ ・ description |
Webリソースコレクションリスト説明を設定します。 任意(0個以上)*1 |
・ ・ ・ url-pattern |
セキュリティ制約を適用するリソースのURLパターンを設定します。 任意(1個以上) |
・ ・ ・ http-method |
セキュリティ制約を適用するHTTPメソッドを設定します。 任意(0-1個) |
・ ・ auth-constraint |
セキュリティ制約リストの1行:「認定ロール」 任意(0-1個) サブ要素: description role-name |
・ ・ ・ description |
認定ロールの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ role-name |
Webリソースコレクションへのアクセスを許可するロールを選択します。 任意(0個以上) |
・ ・ user-data-constraint |
セキュリティ制約リストの転送保証の設定。 任意(0-1個) サブ要素: description transport-guarantee |
・ ・ ・ description |
転送保証の説明を設定します。 任意(0個以上)*1 |
・ ・ ・ transport-guarantee |
セキュリティ制約リストで選択したセキュリティ制約に対して、通信データの保証レベルを設定します。 必須(1個) |
・ login-config |
ユーザ認証方法。 任意(0個以上)*3 サブ要素: auth-method realm-name form-login-config |
・ ・ auth-method |
使用する認証方法を設定します。 任意(0-1個) |
・ ・ realm-name |
使用するレルム名を設定します。 任意(0-1個) |
・ ・ form-login-config |
ユーザ認証方法 任意(0-1個) サブ要素: form-login-page form-error-page |
・ ・ ・ form-login-page |
ログインに使用するページの場所を設定します。 必須(1個) ※先頭は"/"で始まらなければなりません。 |
・ ・ ・ form-error-page |
ログイン失敗時に表示するエラーページの場所を設定します。 必須(1個) ※先頭は"/"で始まらなければなりません。 |
・ security-role |
セキュリティロール 任意(0個以上) サブ要素: description role-name |
・ ・ description |
セキュリティロールの説明を設定します。 任意(0個以上)*1 |
・ ・ role-name |
セキュリティロール名を設定します。 必須(1個) |
・ env-entry |
環境エントリ 任意(0個以上) サブ要素: description env-entry-name env-entry-type env-entry-value mapped-name injection-target |
・ ・ description |
環境エントリの説明を設定します。 任意(0個以上)*1 |
・ ・ env-entry-name |
Webアプリケーションの環境エントリ名を設定します。JNDI名です。 必須(1個) |
・ ・ env-entry-type |
環境エントリ値の型を以下から指定します。 “” java.lang.Boolean java.lang.Byte java.lang.Character java.lang.String java.lang.Short java.lang.Integer java.lang.Long java.lang.Float java.lang.Double 任意(0-1個) |
・ ・ env-entry-value |
環境エントリ値を設定します。選択した型として適当な値でなければなりません。
型でBooleanを選択した場合は、trueかfalseを選択します。 任意(0-1個) |
・ ・ mapped-name |
マップ名。環境エントリのリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。環境エントリのリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットクラスを設定します。 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名を設定します。 必須(1個) |
・ ejb-ref または ejb-local-ref |
EJB参照 任意(0個以上) サブ要素: description ejb-ref-name ejb-ref-type home</home> remote</remote> ejb-link mapped-name injection-target |
・ ・ description |
EJB参照の説明を設定します。 任意(0個以上)*1 |
・ ・ ejb-ref-name |
Webアプリケーションのコードで使うEJB参照名を設定します。 必須(1個) |
・ ・ ejb-ref-type |
参照するエンタプライズBeanのタイプを以下から選択します。 Entity Session 任意(0-1個) |
・ ・ home</home> |
参照するエンタプライズBeanのホームインタフェースを設定します。 任意(0-1個) |
・ ・ remote</remote> |
参照するエンタプライズBeanのローカルインタフェースまたはリモートインタフェース(インタフェースでの設定による)を設定します。 任意(0-1個) |
・ ・ ejb-link |
参照対象のエンタプライズBeanを設定します。 任意(0-1個) |
・ ・ mapped-name |
マップ名。EJB参照のリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。EJB参照のリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットクラスを設定します。 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名を設定します。 必須(1個) |
・ service-ref |
Webサービス参照を設定します。 任意(0個以上) サブ要素: description display-name icon service-ref-name service-interface wsdl-file jaxrpc-mapping-file service-qname port-component-ref handler |
・ ・ description |
Webサービス参照の説明を設定します。 任意(0個以上)*1 |
・ ・ display-name |
Webサービスの表示名を設定します。 任意(0個以上)*1 |
・ ・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ service-ref-name |
Webサービスの参照名を設定します。 必須(1個) |
・ ・ service-interface |
インタフェースを設定します。 必須(1個) |
・ ・ wsdl-file |
WSDLファイルを設定します。 任意(0-1個) |
・ ・ jaxrpc-mapping-file |
JAX-RPCマッピングを記述しているファイルを設定します。 任意(0-1個) |
・ ・ service-qname |
サービスのQNameを設定します。 任意(0-1個) ※「WSDLファイル」を設定した場合のみ有効です。 ※QNameの形式は、<service-qname xmlns:service_qname_ns__="ネームスペース">service_qname_ns__: ローカルパート</service-qname>です。 |
・ ・ port-component-ref |
ポートコンポーネント参照を設定します。 任意(0個以上) サブ要素: service-endpoint-interface port-component-link |
・ ・ ・ service-endpoint-interface |
WSDLポートのサービスエンドポイントインターフェースのJavaクラス名を設定します。 必須(1個) |
・ ・ ・ port-component-link |
サービスエンドポイントインターフェースと結びつけて参照するポートコンポーネントの名前を設定します。 任意(0-1個) |
・ ・ handler |
ポートコンポーネントのためのハンドラを設定します。 任意(0個以上) サブ要素: description display-name icon handler-name handler-class init-param soap-header soap-role port-name |
・ ・ ・ description |
ハンドラの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ display-name |
ハンドラの表示名を設定します。 任意(0個以上)*1 |
・ ・ ・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ ・ handler-name |
ハンドラ名を設定します。 必須(1個) |
・ ・ ・ handler-class |
ハンドラ実装クラスのクラス名を設定します。 必須(1個) |
・ ・ ・ init-param |
ハンドラの初期化パラメータを設定します。 任意(0個以上) サブ要素: description param-name param-value |
・ ・ ・ ・ description |
期化パラメータの説明を設定します。 任意(0個以上)*1 |
・ ・ ・ ・ param-name |
初期化パラメータ名を設定します。 必須(1個) |
・ ・ ・ ・ param-value |
初期化パラメータの値を設定します。 必須(1個) |
・ ・ ・ soap-header |
ハンドラリストで選択したハンドラで処理するSOAPヘッダのQNameを設定します。 任意(0個以上) ※QNameの形式は、<service-qnamexmlns:service_qname_ns__=" ネームスペース">service_qname_ns__:ローカルパート</service-qname>です。 |
・ ・ ・ soap-role |
SOAPロールを設定します。 任意(0個以上) |
・ ・ ・ port-name |
ハンドラリストで選択したハンドラが連携すべきWSDLポート名を設定します。 任意(0個以上) |
・ resource-ref |
Webアプリケーションの外部リソースへの参照を設定します。 任意(0個以上) サブ要素: description res-ref-name res-type res-auth res-sharing-scope mapped-name injection-target |
・ ・ description |
リソース参照の説明を設定します。 任意(0個以上)*1 |
・ ・ res-ref-name |
リソースマネージャ接続ファクトリ参照の名前を設定します。JNDI名です。 必須(1個) |
・ ・ res-type |
データソースの型を指定します。
データソースのJavaクラス名かデータソースで実装しているインタフェース名です。 任意(0-1個) |
・ ・ res-auth |
リソースマネージャにサインオンするのがWebアプリケーションかコンテナか指定します。選択肢は以下の通りです。 Application Container 任意(0-1個) |
・ ・ res-sharing-scope |
リソースマネージャ接続ファクトリ参照から取得したコネクションを共有できるかどうか指定します。 既定値:共有可能 任意(0-1個) |
・ ・ mapped-name |
マップ名。リソースマネージャ接続ファクトリ参照のリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。リソースマネージャ接続ファクトリ参照のリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットのクラスを設定します。 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名を設定します。 必須(1個) |
・ resource-env-ref |
リソース環境参照を設定します。 任意(0個以上) サブ要素: description resource-env-ref-name resource-env-ref-type mapped-name injection-target |
・ ・ description |
リソース環境参照の説明を設定します。 任意(0個以上)*1 |
・ ・ resource-env-ref-name |
リソース環境参照の名前を設定します。JNDI名です。 必須(1個) |
・ ・ resource-env-ref-type |
リソース環境参照の型を設定します。Javaクラス名かインタフェース名です。 任意(0-1個) |
・ ・ mapped-name |
マップ名。リソース環境参照のリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。リソース環境参照のリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットクラスを設定します。 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名を設定します。 必須(1個) |
・ message-destination-ref |
メッセージ宛先参照を設定します。 任意(0個以上) サブ要素: description message-destination-ref-name message-destination-type message-destination-usage message-destination-link mapped-name injection-target |
・ ・ description |
メッセージ宛先参照の説明を設定します。 任意(0個以上)*1 |
・ ・ message-destination-ref-name |
メッセージ宛先参照の参照名を設定します。 必須(1個) |
・ ・ message-destination-type |
メッセージ宛先参照の型を設定します。 任意(0-1個) |
・ ・ message-destination-usage |
メッセージ宛先参照の使用法を設定します。 任意(0-1個) |
・ ・ message-destination-link |
メッセージ宛先参照のターゲット宛先名を設定します。 任意(0-1個) |
・ ・ mapped-name |
マップ名。メッセージ宛先参照のリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。メッセージ宛先参照のリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットクラスを設定します。 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名を設定します。 必須(1個) |
・ message-destination |
メッセージ宛先 任意(0個以上) サブ要素: description display-name icon message-destination-name mapped-name |
・ ・ description |
メッセージ宛先の説明を設定します。 任意(0個以上)*1 |
・ ・ display-name |
メッセージ宛先の表示名を設定します。 任意(0個以上)*1 |
・ ・ icon |
アイコンを設定します。 任意(0個以上)*1 サブ要素: small-icon large-icon |
・ ・ ・ small-icon |
小さいアイコン 任意(0-1個) |
・ ・ ・ large-icon |
大きいアイコン 任意(0-1個) |
・ ・ message-destination-name |
メッセージ宛先の名前を設定します。 必須(1個) |
・ ・ mapped-name |
メッセージ宛先のマップ名を設定します。 任意(0-1個) |
・ locale-encoding-mapping-list |
ロケールエンコーディングマッピングリストを設定します。 任意(0個以上)*4 サブ要素: locale-encoding-mapping |
・ ・ locale-encoding-mapping |
ロケールエンコーディングマッピングを設定します。 任意(1個以上) サブ要素: locale encoding |
・ ・ ・ locale |
ロケールを設定します。 必須(1個) ※ ISO-639-1で定義されている"Language-code"("ja"など)か、 "Language-code_Country-code"("ja_JP"など)でなければなりません。 |
・ ・ ・ encoding |
エンコーディングを設定します。 必須(1個) ※ IANAキャラクターセットでなければなりません。 |
・ persistence-context-ref |
永続コンテキスト参照リスト 任意(0個以上) サブ要素: description persistence-context-ref-name persistence-unit-name persistence-context-type persistence-property mapped-name injection-target |
・ ・ description |
永続コンテキスト参照の説明を設定します。 任意(0個以上)*1 |
・ ・ persistence-context-ref-name |
永続コンテキスト参照名を設定します。 必須(1個) |
・ ・ persistence-unit-name |
永続結合名を設定します。 任意(0-1個) |
・ ・ persistence-context-type |
永続コンテキストタイプを設定します。 任意(0-1個) |
・ ・ persistence-property |
永続コンテキスト参照の永続プロパティを設定します。 任意(0個以上) サブ要素: name value |
・ ・ ・ name |
永続プロパティの名前を設定します。 必須(1個) |
・ ・ ・ value |
永続プロパティの値を設定します。 必須(1個) |
・ ・ mapped-name |
マップ名。永続コンテキスト参照のリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。永続コンテキスト参照のリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットクラス 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名 必須(1個) |
・ persistence-unit-ref |
永続結合参照 任意(0個以上) サブ要素: description persistence-unit-ref-name persistence-unit-name mapped-name injection-target |
・ ・ description |
永続結合参照の説明を設定します。 任意(0個以上)*1 |
・ ・ persistence-unit-ref-name |
永続結合参照名を設定します。 必須(1個) |
・ ・ persistence-unit-name |
永続結合名を設定します。 任意(0-1個) |
・ ・ mapped-name |
マップ名。永続結合参照のリソースグループを設定します。 任意(0-1個) |
・ ・ injection-target |
インジェクションターゲット。永続結合参照のリソースグループを設定します。 任意(0個以上) サブ要素: injection-target-class injection-target-name |
・ ・ ・ injection-target-class |
インジェクションターゲットクラス 必須(1個) |
・ ・ ・ injection-target-name |
インジェクションターゲット名 必須(1個) |
・ post-construct |
ポストコンストラクト 任意(0個以上) サブ要素: lifecycle-callback-class lifecycle-callback-method |
・ ・ lifecycle-callback-class |
ライフサイクルコールバッククラスを設定します。 任意(0-1個) |
・ ・ lifecycle-callback-method |
ライフサイクルコールバックメソッドを設定します。 必須(1個) |
・ pre-destroy |
破棄直前イベント 任意(0個以上) サブ要素: lifecycle-callback-class lifecycle-callback-method |
・ ・ lifecycle-callback-class |
ライフサイクルコールバッククラスを設定します。 任意(0-1個) |
・ ・ lifecycle-callback-method |
ライフサイクルコールバックメソッドを設定します。 必須(1個) |
要素 |
説明 |
|||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
nec-web-app |
Webアプリケーションに対してWebOTX固有の設定を定義するnec-web.xmlファイルのルート要素です。 error-url とhttpservlet-security-providerを属性にもつnec-web-appを指定します。 [1個] サブ要素: context-root security-role-mapping servlet idempotent-url-pattern session-config ejb-ref resource-ref resource-env-ref service-ref message-destination-ref cache class-loader jsp-config locale-charset-info parameter-encoding property message-destination webservice-description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ context-root |
Webアプリケーションのコンテキストルートを指定します。 [0-1個] ※コンテキストパスに "/" を含めると一部機能が利用できなくなります。詳しくは [注意制限事項 > 3. Webコンテナ > 3.1. 注意事項] を参照してください。 |
|||||||||||||||||||||||||||||||||||||||||||||||
・ security-role-mapping |
現在のアクティブレルムに存在するユーザやグループにロールを割り当てます。 [0個以上] サブ要素: role-name principal-name group-name |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ role-name |
web.xmlファイルのsecurity-role要素で定義しているロール名を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ principal-name |
ロールを割り当てるユーザ名を指定します。 class-nameを属性にもつprincipal-nameを指定します。 [0個以上 ただしgroup-nameがなければ1個以上] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ group-name |
ロールを割り当てるグループ名を指定します。 [0個以上 ただしprincipal-nameがなければ1個以上] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ servlet |
サーブレットのユーザを指定します。 web.xmlファイルのservlet-nameが同じservlet要素で定義しているrun-asロールに使用します。 [0個以上] サブ要素: servlet-name principal-name webservice-endpoint |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ servlet-name |
web.xmlファイルのservlet要素のservlet-nameで定義しているサーブレット名を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ principal-name |
現在のレルムに存在するユーザ名を指定します。 class-nameを属性にもつprincipal-nameを指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ webservice-endpoint |
Webサービスエンドポイントに関する情報を指定します。 [0個以上] サブ要素: port-component-name endpoint-address-uri login-config transport-guarantee service-qname tie-class servlet-impl-class |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ port-component-name |
ポートコンポーネントに対する一意な名前を指定します。WSDLポートの内部名です。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ endpoint-address-uri |
Webサービスエンドポイントのアドレスを相対URIで指定します。 サーブレットエンドポイントの場合は、Webアプリケーションのコンテキストルートからの相対で、EJBエンドポイントの場合は、Webサーバのルートからの相対です。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ login-config |
EJB
Webサービスエンドポイントに対する認証設定を指定します。サーブレットWebサービスエンドポイントの場合は、web.xmlファイルで定義するので必要ありません。 [0-1個] サブ要素: auth-method |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ auth-method |
認証方法を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ transport-guarantee |
クライアントとサーバの通信の種類をNONE, INTEGRAL,
CONFIDENTIALで指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ service-qname |
参照するWSDLサービス要素をQNameで指定します。 [0-1個] サブ要素: namespaceURI localpart |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ namespaceURI |
QNameのネームスペースのURIを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ localpart |
QNameのローカルパートを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ tie-class |
ポートコンポーネントのためのtie実装クラスの名前を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ servlet-impl-class |
サーブレット実装クラスの名前を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ idempotent-url-pattern |
url-patternとnum-of-retriesを属性にもつidempotent-url-patternを指定します。 [0個以上] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ session-config |
セッションの設定情報を指定します。 [0-1個] サブ要素: session-manager session-properties cookie-properties |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ session-manager |
セッションマネージャの設定情報を指定します。 [0-1個]
サブ要素: manager-properties store-properties |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ manager-properties |
セッションマネージャのプロパティを指定します。 [0-1個] サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ store-properties |
セッション永続化のプロパティを指定します。 [0-1個] サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ session-properties |
セッションのプロパティを指定します。 [0-1個] サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description 設定の詳細は [リファレンス集 運用管理・設定編 > 1. コンフィグレーション(設定一覧) > 1.4.7. HTTPセッション管理について ]を参照してください。 |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ cookie-properties |
セッションIDを格納するcookieのプロパティを指定します。 [0-1個] サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ejb-ref |
EJB参照にEJBのJNDI名を割り当てます。 [0個以上] サブ要素: ejb-ref-name jndi-name |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ejb-ref-name |
EJBの参照名を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ jndi-name |
JNDIに登録されているEJBのJNDI絶対名を指定します。 文字列 java:comp/envで始まる必要があります。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ resource-ref |
リソース参照にリソースのJNDI名を割り当てます。 [0個以上] サブ要素: res-ref-name jndi-name default-resource-principal |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ res-ref-name |
リソースの参照名を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ jndi-name |
JNDIに登録されているリソースのJNDI絶対名を指定します。 文字列 java:comp/envで始まる必要があります。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・
default-resource-principal |
リソースのデフォルトのユーザを指定します。 [0-1個] サブ要素: name password |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ name |
ユーザの名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ password |
ユーザのパスワードを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ resource-env-ref |
リソース環境参照にリソース環境のJNDI名を割り当てます。 [0個以上] サブ要素: resource-env-ref-name jndi-name |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ resource-env-ref-name |
リソース環境の参照名を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ jndi-name |
JNDIに登録されているリソース環境のJNDI絶対名を指定します。 文字列 java:comp/envで始まる必要があります。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ service-ref |
Webサービス参照のランタイム設定を指定します。 [0個以上] サブ要素: service-ref-name port-info call-property wsdl-override service-impl-class service-qname |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ service-ref-name |
Webサービス参照名を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ port-info |
Webサービス参照のポートの情報を指定します。 [0個以上] サブ要素: service-endpoint-interface wsdl-port stub-property call-property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・
service-endpoint-interface |
Webサービス参照名を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ wsdl-port |
WSDLポートを指定します。 [0-1個] サブ要素: namespaceURI localpart |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ namespaceURI |
WSDLポートのネームスペースのURIを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ localpart |
WSDLポートのローカルパートを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ stub-property |
Webサービスクライアントに戻る前にjavax.xml.rpc.Stubオブジェクトに設定するJAX-RPCプロパティ値を指定します。 [0個以上] サブ要素: name value |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ name |
プロパティの名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ value |
プロパティの値を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ call-property |
Webサービスクライアントに戻る前にjavax.xml.rpc.Callオブジェクトに設定するJAX-RPCプロパティ値を指定します。 [0個以上] サブ要素: name value |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ name |
プロパティの名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ value |
プロパティの値を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ call-property |
Webサービスクライアントに戻る前にjavax.xml.rpc.Callオブジェクトに設定するJAX-RPCプロパティ値を指定します。 [0個以上] サブ要素: name value |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ name |
プロパティの名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ value |
プロパティの値を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ wsdl-override |
WSDLドキュメントの有効なURLを指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ service-impl-class |
サービス実装クラスの名前を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ service-qname |
参照するWSDLサービス要素をQNameで指定します。 [0-1個] サブ要素: namespaceURI localpart |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ namespaceURI |
QNameのネームスペースのURIを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ localpart |
QNameのローカルパートを指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ message-destination-ref |
アプリケーションの中で定義された論理メッセージ宛先参照の名前を指定します。 [0個以上] サブ要素: message-destination-ref-name jndi-name |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・
message-destination-ref-name |
論理メッセージ宛先参照の名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ jndi-name |
論理メッセージ宛先参照のJNDI絶対名を指定します。 文字列 java:comp/envで始まる必要があります。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ cache |
キャッシュ機能を設定します。 [0-1個]
サブ要素: cache-helper default-helper property cache-mapping |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ cache-helper |
CacheHelperインタフェースを実装しているカスタムクラスを指定します。 [0個以上]
サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 カスタムのキャッシュヘルパークラスで使用できるプロパティを指定します。 [0個以上] サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ default-helper |
内蔵のデフォルトキャッシュヘルパークラスのプロパティを変更します。 [0-1個] サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ property |
キャッシュのプロパティを指定します。 nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ cache-mapping |
サーブレット名またはURLパターンにキャッシュの条件を割り当てます。 [0個以上] サブ要素: servlet-name url-pattern cache-helper-ref timeout refresh-field dispatcher http-method key-field constraint-field |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ servlet-name |
キャッシュを有効にするサーブレットの名前を指定します。 web.xmlファイルのservlet要素のservlet-nameで定義しているサーブレット名でなければなりません。 [servlet-nameまたはurl-patternが1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ url-pattern |
キャッシュを有効にするサーブレットのURLパターンを指定します。 [servlet-nameまたはurl-patternが1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ cache-helper-ref |
使用するキャッシュヘルパークラスをcache-helper要素のname属性で定義している名前で指定します。 [timeout, refresh-field,http-method, key-field, constraint-fieldを使用しない場合に1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ timeout |
エントリを生成、更新してからキャッシュ内に保持する最大時間を秒単位で指定します。cache-mappingごとの値です。 指定しない場合は、cache要素のtimeout-in-seconds属性の値を使用します。 [cache-helper-refを使用しない場合に0-1個]
|
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ refresh-field |
アプリケーションコンポーネントのプログラムでキャッシュエントリのリフレッシュができるようにするフィールドを指定します。 [cache-helper-refを使用しない場合に0-1個]
|
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ dispatcher |
キャッシュ対象のdispatcherを指定します。 [cache-helper-refを使用しない場合に0個以上] 既定値:REQUEST |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ http-method |
キャッシュ対象のHTTPメソッドを指定します。 [cache-helper-refを使用しない場合に0個以上] 既定値:GET |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ key-field |
キャッシュエントリの検索や抽出に使用するキーのコンポーネントを指定します。 この要素が存在しない場合は、サーブレットパスを使用します。 [cache-helper-refを使用しない場合に0個以上]
|
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ constraint-field |
指定したurl-patternあるいはservlet-nameに対するキャッシュ制約条件を指定します。 [cache-helper-refを使用しない場合に0個以上]
サブ要素: constraint-field-value |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ ・
constraint-field-value |
パラメータの値と比較する制約条件を指定します。比較では大文字、小文字は区別します。 [0個以上]
|
|||||||||||||||||||||||||||||||||||||||||||||||
・ class-loader |
Webアプリケーションのクラスローダを設定します。 [0-1個]
サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ jsp-config |
JSPを事前コンパイルするとき、またはprecompilejspオプションを指定してアプリケーションを配備するときに使用するJSPの設定情報を指定します。 [0-1個] サブ要素: property |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ locale-charset-info |
アプリケーションの国際化設定を指定します。 [0-1個]
サブ要素: locale-charset-map parameter-encoding |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ locale-charset-map |
文字エンコーディングにロケールとエージェントを割り当てます。 [1個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ ・ description |
マッピングの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ parameter-encoding |
リクエストヘッダのcontent-typeにcharsetが設定されていない場合に、Webコンテナが使用する文字エンコードを決定する隠しフィールドとデフォルトの文字エンコードを指定します。 [0-1個]
|
|||||||||||||||||||||||||||||||||||||||||||||||
・ parameter-encoding |
form-hint-fieldとdefault-charsetを属性にもつparameter-encodingを指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ property |
nameとvalueを属性にもつプロパティを指定します。 [0個以上]
サブ要素: description |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ description |
プロパティの説明を指定します。 [0-1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ message-destination |
アプリケーションの中で定義された論理メッセージ宛先の名前を指定します。 [0個以上] サブ要素: message-destination-name jndi-name |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ message-destination-name |
論理メッセージ宛先の名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ jndi-name |
論理メッセージ宛先のJNDI絶対名を指定します。 文字列 java:comp/envで始まる必要があります。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ webservice-description |
Webサービスの名前と配備中にWebサービスのWSDLをパブリッシュするディレクトリを指定します。 [0個以上] サブ要素: webservice-description-name wsdl-publish-location |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・
webservice-description-name |
Webサービスの名前を指定します。 [1個] |
|||||||||||||||||||||||||||||||||||||||||||||||
・ ・ wsdl-publish-location |
配備中にWebサービスのWSDLをパブリッシュするディレクトリのURLを指定します。 1 [0-1個] |
図2.2.14.2-1
項目 | 説明 | 初期値 |
---|---|---|
Tomcat独自実装で作成(非推奨)(T) | Tomcat独自実装で作成します。 | OFF |
Java 標準API(JSR 356) で作成(J) | Java 標準API(JSR 356) で作成します。 | ON |
図2.2.14.2-2
項目 | 説明 | 初期値 |
---|---|---|
プロジェクト | Webプロジェクト名を指定します。 | 選択されるプロジェクト |
ソース・フォルダー | WebSocketサーブレットクラスのソースフォルダーを指定します。 | 選択されるソースフォルダー |
Javaパッケージ | WebSocketサーブレットクラスのJavaパッケージを指定します。 | com.nec.websocket |
クラス名 | WebSocketサーブレットクラスのクラス名を指定します。 | |
スーパークラス |
WebSocketサーブレットクラスの継承するスーパークラスを指定します。 指定できるのは org.apache.catalina.websocket.WebSocketServlet または そのサブクラスです。 |
org.apache.catalina.websocket.WebSocketServlet |
図2.2.14.2-3
名称 | 説明 | 初期値 |
---|---|---|
名前 | サーブレットの名前を指定します。 | {サーブレットクラス名} |
説明 | サーブレットの説明を指定します。 | |
初期化 パラメーター | サーブレットの初期化パラメーターを指定します。 | |
URL マッピング | サーブレットのURL マッピングパターンを指定します。 | /{サーブレットクラス名} |
図2.2.14.2-4
項目 | 説明 | 初期値 |
---|---|---|
ソース・フォルダー | Inboundクラスのソースフォルダーを指定します。 | WebSocketサーブレットクラスのソースフォルダーと同じ |
パッケージ | InboundクラスのJavaパッケージを指定します。 | com.nec.websocket |
クラス名 | Inboundクラスのクラス名を指定します。 | {サーブレットクラス名}Inbound |
スーパークラス |
Inboundクラスの継承するスーパークラスを選択します。 選択肢は org.apache.catalina.websocket.MessageInbound 、org.apache.catalina.websocket.StreamInboundです。 |
org.apache.catalina.websocket.MessageInbound |
図2.2.14.2-5
項目 | 説明 | 初期値 |
---|---|---|
ファイル名 |
HTMLファイルの名前を指定します。 拡張子が.htm、.html または 拡張子なし のファイルが指定できます。 拡張子なしの場合、.htmlのファイルが生成されます。 |
{サーブレットクラス名}Html.html |
親フォルダー |
HTMLファイルのフォルダーを指定します。 指定するのは、WebプロジェクトのWebContentフォルダからの相対パスです。 例えば、「websocket」を指定する場合、プロジェクトのWebContent/websocketフォルダーにHTMLファイルが生成されます。 何も指定しない場合、WebContent直下に生成します。 |
websocket |
WebSocket URL |
WebSocketのURLを指定します。 「ws://」で始まるURLを入力してください。 |
ws://localhost:80/{プロジェクト名}/{サーブレットクラス名} |
図2.2.14.3-1
図2.2.14.3-2
項目 | 説明 | 初期値 |
---|---|---|
プロジェクト | Webプロジェクト名を指定します。 | 選択されるプロジェクト |
ソース・フォルダー | WebSocketサーバエンドポイントクラスのソースフォルダーを指定します。 | 選択されるソースフォルダー |
パッケージ | WebSocketサーバエンドポイントクラスのJavaパッケージを指定します。 | com.nec.websocket |
クラス名 | WebSocketサーバエンドポイントクラスのクラス名を指定します。 | |
WebSocket URL |
WebSocketのURLです。 |
|
エンコーダ・デコーダを作成する |
エンコーダ・デコーダクラスを作成します。 |
OFF |
Javaソース(Java 標準API) で作成 |
クライアントエンドポイントクラスのJavaソースを作成します。 |
ON |
HTML形式(Javascript) で作成 |
HTMLファイルを作成します。 |
ON |
Memo
「WebSocket URL」の入力値について、先頭に「/」を入力する必要はありません。ソースには自動で「/」が付きます。
例えば、「websocket」と入力した場合、エンドポイントクラスに「@ServerEndpoint(value = "/websocket")」と生成され、クライアントエンドポイントメインクラスに「String URL = "ws://localhost:80/{プロジェクト名}/websocket";」と生成されます。また、HTMLファイルに「ws = new WebSocket("ws://localhost:80/{プロジェクト名}/websocket");」と生成されます。
Memo
クライアントエンドポイントメインクラスとHTMLファイルのホストとポートは、環境に応じてソースを手修正する必要があります。
例えば、クライアントエンドポイントメインクラスの「String URL = "ws://localhost:80/{プロジェクト名}/{WebSocket URLの入力値}";」とHTMLファイルの「ws = new WebSocket("ws://localhost:80/{プロジェクト名}/{WebSocket URLの入力値}");」を自動で生成した場合、その中の「localhost:80」をサーバ側のホストとポートに手修正してください。
図2.2.14.3-3
項目 | 説明 | 初期値 |
---|---|---|
ソース・フォルダー | WebSocketエンコーダクラスのソースフォルダーを指定します。 | 選択されるソースフォルダー |
パッケージ | WebSocketエンコーダクラスのJavaパッケージを指定します。 | com.nec.websocket |
名前 | エンコーダの名前。 | {サーバエンドポイントクラス名}Encoder |
インターフェース |
エンコーダクラスのインターフェースです。 |
Encoder.Text<T> |
データタイプ |
インターフェースのデータタイプを指定します。 |
java.lang.String |
図2.2.14.3-4
項目 | 説明 | 初期値 |
---|---|---|
ソース・フォルダー | WebSocketデコーダクラスのソースフォルダーを指定します。 | 選択されるソースフォルダー |
パッケージ | WebSocketデコーダクラスのJavaパッケージを指定します。 | com.nec.websocket |
名前 | デコーダクラスの名前。 | {サーバエンドポイントクラス名}Decoder |
インターフェース |
デコーダクラスのインターフェースです。 |
Decoder.Text<T> |
データタイプ |
インターフェースのデータタイプです。 |
java.lang.String |
図2.2.14.3-5
項目 | 説明 | 初期値 |
---|---|---|
ソース・フォルダー | WebSocketクライアントエンドポイントクラスのソースフォルダーを指定します。 | 選択されるソースフォルダー |
パッケージ | WebSocketクライアントエンドポイントクラスのJavaパッケージを指定します。 | com.nec.websocket |
クラス名 | クライアントエンドポイントクラスのクラス名です。 | {サーバエンドポイントクラス名}ClientEndpoint |
図2.2.14.3-6
項目 | 説明 | 初期値 |
---|---|---|
ファイル名 |
HTMLファイルの名前を指定します。 拡張子が.htm、.html または 拡張子なし のファイルが指定できます。 拡張子なしの場合、.htmlのファイルが生成されます。 |
{サーバエンドポイントクラス名}.html |
親フォルダー |
HTMLファイルのフォルダーを指定します。 指定するのは、WebプロジェクトのWebContentフォルダからの相対パスです。 例えば、「websocket」を指定する場合、プロジェクトのWebContent/websocketフォルダーにHTMLファイルが生成されます。 何も指定しない場合、WebContent直下に生成します。 |
websocket |
タイプ | 概要 |
---|---|
Webアプリケーションタイプ | Web技術(HTML5、CSS3、JavaScript)のみで開発するアプリケーション。 生産性や移植性は高いが、カメラや赤外線といったデバイス特有の機能との連携ができない。 |
ハイブリットアプリケーションタイプ | アプリケーションの大部分を開発生産性、移植性の高いWeb技術にて開発し、 デバイス特有の機能を利用する機能のみをネイティブ言語で実装し、Webアプリケーションと連携する。 ネイティブ部分があるため、Webアプリケーションタイプより生産性、移植性は落ちるがデバイス特有の機能 が利用できる。 |
ネイティブアプリケーションタイプ | 各スマートデバイス専用の開発言語で開発するアプリケーション。 各スマートデバイス専用の開発言語で記述するため生産性や移植性は低いが、デバイス特有の機能との 連携が容易。 |
図2.2.15.1-1
図2.2.15.1-2
Memo
スニペットの詳細は[2.2.16. スニペット 一覧]を参照してください。
図2.2.15.1-3
図2.2.15.1-4
図2.2.15.1-5
Memo
WebOTX JQuery Mobile Tag内のスニペットを利用する時に、別途jQuery Mobile及びjQueryのパッケージをダウンロードする必要があります。詳細は[2.2.15.2. jQuery Mobileの入手方法] と [2.2.15.3. jQueryの入手方法] を参照してください。
図2.2.15.2-1
図2.2.15.2-2
<head> <link rel="stylesheet" href="./jquery.mobile-XXX.min.css" /> <script type="text/javascript" src="./jquery.mobile-XXX.min.js"></script> </head>
図2.2.15.3-1
図2.2.15.3-2
<head> <script type="text/javascript" src="./jquery-XXX.min.js"></script> </head>
図2.2.15.4-1
図2.2.15.4-2
図2.2.15.4-3
図2.2.15.4-4
図2.2.15.4-5
図2.2.15.4-6
図2.2.15.4-7
<script type="text/javascript"> var ws = null; function startWebSocket() { if ('WebSocket' in window) { ws = new WebSocket("ws://localhost/"); } else if ('MozWebSocket' in window) { ws = new MozWebSocket("ws://localhost/"); } else { alert("WebSocket is not supported by this browser."); return; } ws.onmessage = function(evt) { //TODO }; ws.onclose = function(evt) { //TODO }; ws.onopen = function(evt) { //TODO }; ws.onerror = function(evt) { //TODO }; } function sendMsg() { if (ws == null) { alert("WebSocket is not supported by this browser."); return; } else { ws.send("something"); } } function close() { ws.close(); } </script>
使用例:
効果図 |
コード |
---|---|
index.html
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>index.html</title> <script type="text/javascript"> var ws = null; function startWebSocket() { if ('WebSocket' in window) { ws = new WebSocket("ws://localhost:80/WebSocketSample/WebSocketServlet"); } else if ('MozWebSocket' in window) { ws = new MozWebSocket("ws://localhost:80/WebSocketSample/WebSocketServlet"); } else { alert("WebSocket is not supported by this browser."); return; } ws.onmessage = function(evt) { var console = document.getElementById('console'); var p = document.createElement('p'); p.style.wordWrap = 'break-word'; p.innerHTML = evt.data; console.appendChild(p); while (console.childNodes.length > 25) { console.removeChild(console.firstChild); } console.scrollTop = console.scrollHeight; }; ws.onclose = function(evt) { }; ws.onopen = function(evt) { }; ws.onerror = function(evt) { alert("websocket error: " + evt.data); }; } function sendMsg() { if (ws == null) { alert("WebSocket is not supported by this browser."); return; } var text = document.getElementById('writeMsg'); ws.send(text.value); text.value = ""; } function close() { ws.close(); } </script> </head> <body onload="startWebSocket();" onunload="close();"> <p> <B>WebSocket Example</B> </p> <div> <div id="console-container"> <div id="console"></div> </div> <input type="text" id="writeMsg" placeholder="press Send button to send a message"></input> <input type="button" value="Send" onclick="sendMsg()"></input> </div> </body> </html>関連のJavaコード WebSocketServlet.java、WebSocketInbound.javaは、2.5.8. WebSocketのサンプル を参照してください。 |
<audio controls="controls" autoplay="autoplay" loop="loop"> <source src="REPLACE_URL" type="audio/mpeg" /> Your browser does not support the audio tag. </audio>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <audio controls="controls" autoplay="autoplay" loop="loop"> <source src="test.mp3" type="audio/mpeg" /> Your browser does not support the audio tag. </audio> </body> </html> |
<canvas id="canv_"></canvas>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <canvas id="myCanvas"></canvas> <script type="text/javascript"> var canvas=document.getElementById('myCanvas'); var ctx=canvas.getContext('2d'); ctx.fillStyle='#FF0000'; ctx.fillRect(0,0,80,100); </script> </body> </html> |
<datalist id="dl_"> <option value="item1"> <option value="item2"> </datalist>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <datalist id="dl_"> <option value="item1"> <option value="item2"> </datalist> </body> </html> |
<form action="REPLACE_URL" method="get"> <input type="text" name="user_name" /> <keygen name="key" /> <input type="submit" /> </form>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <form action="REPLACE_URL" method="get"> <input type="text" name="user_name" /> <keygen name="key" /> <input type="submit" /> </form> </body> </html> |
<meter min="0" max="1" value="0.5"></meter>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <meter min="0" max="1" value="0.5"></meter> </body> </html> |
<video width="200" height="100" controls="controls" loop="loop"> <source src="REPLACE_URL" type="video/mpeg" /> Your browser does not support the video tag. </video>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <video width="600" height="400" controls="controls" loop="loop"> <source src="movie.ogg" type="video/ogg" /> Your browser does not support the video tag. </video> </body> </html> |
<script type="text/javascript"> if (window.localStorage) { // add to localStorage localStorage.key = value; var ws = localStorage.getItem("key"); // TODO use the value // remove from localStorage localStorage.removeItem("key"); } else { alert("Your browser does not support localStorage."); } </script>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <script type="text/javascript"> if (window.localStorage) { // add to localStorage var value ="value"; localStorage.key = value; var ws = localStorage.getItem("key"); // TODO use the value alert(ws); // remove from localStorage localStorage.removeItem("key"); } else { alert("Your browser does not support localStorage."); } </script> </body> </html> |
<script type="text/javascript"> if (window.sessionStorage) { // add to sessionStorage sessionStorage.key = value; var ws = sessionStorage.getItem("key"); // TODO use the value // remove from sessionStorage sessionStorage.removeItem("key"); } else { alert("Your browser does not support sessionStorage."); } </script>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <script type="text/javascript"> if (window.sessionStorage) { // add to sessionStorage var value = "test" sessionStorage.key = value; var ws = sessionStorage.getItem("key"); // TODO use the value alert(ws); // remove from sessionStorage sessionStorage.removeItem("key"); } else { alert("Your browser does not support sessionStorage."); } </script> </body> </html> |
<!DOCTYPE HTML> <html> <body> <nav> <a href="">text</a> <a href="">text</a> <a href="">text</a> </nav> <header> <h1>text</h1> </header> <article> <a href="">text</a><br /> </article> <section> <h1>text</h1> <p>text</p> </section> <footer>text</footer> </body> </html>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <body> <nav> <a href="">text</a> <a href="">text</a> <a href="">text</a> </nav> <header> <h1>text</h1> </header> <article> <a href="">text</a><br /> </article> <section> <h1>text</h1> <p>text</p> </section> <footer>text</footer> </body> </html> |
<link rel="stylesheet" href="REPLACE_UR" media="(min-width:1024px)"/> <link rel="stylesheet" href="REPLACE_UR" media="(max-width:1023px) and (min-width:641px)"/> <link rel="stylesheet" href="REPLACE_UR" media="(max-width:640px)"/>
使用例:
効果図 |
コード |
---|---|
HTML
<!DOCTYPE HTML> <html> <head> <link rel="stylesheet" href="./css1.css" media="(min-width:1024px)"/> <link rel="stylesheet" href="./css2.css" media="(max-width:1023px) and (min-width:641px)"/> <link rel="stylesheet" href="./css3.css" media="(max-width:640px)"/> <style> .wrapper { border: solid 1px #666; padding: 5px 10px; margin: 40px; } </style> </head> <body> <div class="wrapper test">test</div> </body> </html>css1.css @CHARSET "UTF-8"; div{ background: #F90; }css2.css @CHARSET "UTF-8"; div{ background: #9CF; }css3.css @CHARSET "UTF-8"; div{ background: #F9C; } |
#id_ { border-radius: 5px; }
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <style> #img { border:15px solid transparent; width:300px; padding:10px 20px; } #img { border-image:url(border.png) 30 30 round; } #radius { text-align:center; border:2px solid #a1a1a1; padding:10px 40px; background:#dddddd; width:350px; } #radius { border-radius: 20px; } </style> </head> <body> <div id="radius">radius</div> </body> </html> |
#id_ { background:url(REPLACE_URL); background-size: 200px 100px; background-origin:content-box; }
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <style> #div1 { border:1px solid black; padding:100px; background:url(bg_flower.gif); background-size: 200px 100px; background-origin:content-box; } </style> </head> <body> <div id="div1"></div> </body> </html> |
#id_ { text-shadow: 5px 5px 5px #FF0000; word-wrap:break-word; }
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <style> div { width:11em; border:1px solid #000000; } #test { text-shadow: 5px 5px 5px #FF0000; word-wrap:break-word; } </style> </head> <body> <div id="test">This paragraph contains a very long word: thisisaveryveryveryveryveryverylongword. The long word will break and wrap to the next line.</div> </body> </html> |
@media ( min-width :1024px) { /* TODO: Add the content when the browser size is greater than 1024. */ } @media ( max-width :1023px) and ( min-width :641px) { /* TODO: Add the content when the browser size is between ${smallersizer} and 1023. */ } @media ( max-width :640px) { /* TODO: Add the content when the browser size is less than 640. */ }
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Media Query Demos</title> <style> .wrapper { border: solid 1px #666; padding: 5px 10px; margin: 40px; } .viewing-area span { color: #666; display: none; } @media ( min-width :1024px) { /* TODO: Add the content when the browser size is greater than 1024. */ .two { background: #F90; } span.gt900 { display: inline-block; } } @media ( max-width :1023px) and ( min-width :641px) { /* TODO: Add the content when the browser size is between ${smallersizer} and 1023. */ .three { background: #9CF; } span.bt600-900 { display: inline-block; } } @media ( max-width :640px) { /* TODO: Add the content when the browser size is less than 640. */ .one { background: #F9C; } span.lt600 { display: inline-block; } } </style> </head> <body> <div class="wrapper one">This box will turn to pink if the viewing area is less than 600px</div> <div class="wrapper two">This box will turn to orange if the viewing area is greater than 900px</div> <div class="wrapper three">This box will turn to blue if the viewing area is between 600px and 900px</div> <p class="viewing-area"><strong>Your current viewing area is:</strong> <span class="lt600">less than 600px</span> <span class="bt600-900">between 600 - 900px</span> <span class="gt900">greater than 900px</span></p> </body> </html> |
Caution
本スニペットは、jQuery 1.9.1とjQuery Mobile 1.3.2 で動作確認をとっています。
<a href="index.html" data-role="button">button name</a>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <a href="index.html" data-role="button">button name</a> </body> </html> |
<div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>Agree to the terms:</legend> <input type="checkbox" name="name" id="checkbox_" class="custom" /> <label for="checkbox_">I agree</label> </fieldset> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>Agree to the terms:</legend> <input type="checkbox" name="name" id="checkbox_" class="custom" /> <label for="checkbox_">I agree</label> </fieldset> </div> </body> </html> |
<div data-role="collapsible-set"> <div data-role="collapsible" data-collapsed="false"> <h3>Section 1</h3> <p>I'm the collapsible set content for section 1.</p> </div> <div data-role="collapsible"> <h3>Section 2</h3> <p>I'm the collapsible set content for section 2.</p> </div> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div data-role="collapsible-set"> <div data-role="collapsible" data-collapsed="false"> <h3>Section 1</h3> <p>I'm the collapsible set content for section 1.</p> </div> <div data-role="collapsible"> <h3>Section 2</h3> <p>I'm the collapsible set content for section 2.</p> </div> </div> </body> </html> |
<div data-role="controlgroup"> <a href="" data-role="button">Yes</a> <a href="" data-role="button">No</a> <a href="" data-role="button">Maybe</a> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div data-role="controlgroup"> <a href="" data-role="button">Yes</a> <a href="" data-role="button">No</a> <a href="" data-role="button">Maybe</a> </div> </body> </html> |
<a href="REPLACE_URL" data-rel="dialog">Dialog</a>
使用例:
効果図 |
コード |
---|---|
jqdialog.html
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <a href="index.html" data-rel="dialog">Dialog</a> </body> </html>index.html <!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div data-role="dialog" id="msg"> <div data-role="header" data-theme="d"> <h1>Notice</h1> </div> <div data-role="content" data-theme="c"> <p id="ps"></p> </div> <div data-role="footer" data-position="fixed" data-theme="d"> <a href="" data-role="button" data-transition="slide">OK</a> </div> </div> </body> </html> |
<div class="containing-element"> <label for="flip-1">Flip switch:</label> <select name="fw_" id="fw_" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div class="containing-element"> <label for="flip-1">Flip switch:</label> <select name="fw_" id="fw_" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select> </div> </body> </html> |
<ul data-role="listview"> <li><a href="">item1</a></li> <li><a href="">item2</a></li> </ul>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <ul data-role="listview"> <li><a href="">item1</a></li> <li><a href="">item2</a></li> </ul> </body> </html> |
<div data-role="navbar"> <ul> <li><a href="">One</a></li> <li><a href="">Two</a></li> </ul> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div data-role="navbar"> <ul> <li><a href="">One</a></li> <li><a href="">Two</a></li> </ul> </div> </body> </html> |
<div data-role="page"> <div data-role="header"> <h1>Page Title</h1> </div> <div data-role="content"> <h4>Page content</h4> </div> <div data-role="footer"> <h4>Page Footer</h4> </div> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>Page Title</h1> </div> <div data-role="content"> <h4>Page content</h4> </div> <div data-role="footer"> <h4>Page Footer</h4> </div> </div> </body> </html> |
<a href="#pop_" data-rel="popup">Open Popup</a> <div data-role="popup" id="pop_"> <p>This is a completely basic popup, no options set.<p> </div>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <a href="#pop_" data-rel="popup">Open Popup</a> <div data-role="popup" id="pop_"> <p>This is a completely basic popup, no options set.<p> </div> </body> </html> |
<fieldset data-role="controlgroup"> <legend>Choose a pet:</legend> <input type="radio" name="radio_" id="radio_" value="choice_" checked="checked" /> <label for="radio_">Cat</label> </fieldset>
使用例:
効果図 |
コード |
---|---|
<!DOCTYPE HTML> <html> <head> <title>jQuery Mobile</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="./jquery.mobile-1.3.2.min.css" /> <script type="text/javascript" src="./jquery-1.9.1.min.js"></script> <script type="text/javascript" src="./jquery.mobile-1.3.2.min.js"></script> </head> <body> <fieldset data-role="controlgroup"> <legend>Choose a pet:</legend> <input type="radio" name="radio_" id="radio_" value="choice_" checked="checked" /> <label for="radio_">Cat</label> </fieldset> </body> </html> |