<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/okoba23/">
    <title>okoba23 @ ウィキ</title>
    <link>http://w.atwiki.jp/okoba23/</link>
    <atom:link href="https://w.atwiki.jp/okoba23/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>okoba23 @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2007-02-25T23:16:27+09:00</dc:date>
    <utime>1172412987</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/okoba23/pages/15.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/24.html">
    <title>other</title>
    <link>https://w.atwiki.jp/okoba23/pages/24.html</link>
    <description>
      え    </description>
    <dc:date>2007-02-25T23:16:27+09:00</dc:date>
    <utime>1172412987</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/23.html">
    <title>暗黙オブジェクト</title>
    <link>https://w.atwiki.jp/okoba23/pages/23.html</link>
    <description>
      *JSPで用意されているobject

|CENTER:変数名|CENTER:説明|CENTER:クラス/インターフェース|
|out|クライアントにデータを返却する|javax.servlet.jsp.JspWriter|
|response|ステータスコードやメッセージヘッダのデータ設定|javax.servlet.http.HttpServletResponse|
|request|リクエストメッセージ取得|javax.servlet.http.HttpServletRequest|
|page|JSP自身を表す|javax.servlet.jsp.HttpJspPage|
|config|JSPの設定データへのアクセスを提供|javax.servlet.ServletConfig|
|session|各ユーザのセッション管理|javax.servlet.http.HttpSession|
|application|WEBアプリで共有されるデータへのアクセス提供|javax.servlet.ServletContext|
|exception|JSP内で発生したエラーや例外を表す|java.lang.Throwable|
|pageContext|ほかの暗黙objectへのアクセスや、forward,includeなどのメソッド提供|javax.servlet.jsp.PageContext|
** レスポンスメッセージ構成
+ステータス
+ヘッダ
+ボディ
-responseオブジェクトでステータス行のステータスコードやヘッダのデータ設定
-outオブジェクトでボディ部のデータ設定
* outオブジェクト
+writeメソッド・・・文字、文字列を出力
+print/printlnメソッド・・・基本データ型、オブジェクトの文字列表現を出力
 ■JSP
 &lt;% page contextType=&quot;text/html&quot; ・・・ %&gt;
 &lt;html&gt;
 &lt;head&gt;
 &lt;title&gt;test&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;%= new java.util.Date() %&gt;
 &lt;/body&gt;
 &lt;/html&gt;
 
 ■変換されたservlet
 ・
 ・
 out.writ    </description>
    <dc:date>2007-01-11T02:43:27+09:00</dc:date>
    <utime>1168451007</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/22.html">
    <title>JSP基本</title>
    <link>https://w.atwiki.jp/okoba23/pages/22.html</link>
    <description>
      *JSPタグ
**構成要素
**ページ処理方式の指示をするディレクティヴ(directive)
-JSPを処理する方法をコンテナに指示するためのJSPタグ
**javaコード記述のためのスクリプティング要素(scripting element)
-JSP内にjavaコードを記述するためのもの
**JSPに注釈文を記述するためのコメント(comment)
**タグに関連付けられたjavaコードを呼び出すアクションタグ(action tag)
-タグに関連づけられたjavaコードを呼び出すためのJSPタグ
|CENTER:JSPタグ|CENTER:記述形式|
|ディレクティブ|&lt;%@ %&gt;|
|JSP式|&lt;%= %&gt;|
|スクリプレット|&lt;% %&gt;|
|JSP宣言|&lt;%! %&gt;|
|コメント|&lt;%-- --%&gt;|

*pageディレクティブ
 &lt;%@ page属性名1=&quot;属性値1&quot; [page属性名2=&quot;属性値2・・・・・・] %&gt;
 
 example.)
 &lt;%@ page contentType=&quot;text/html; chareset=Shift_JIS&quot;
                                  pageEncoding=&quot;Shift_JIS&quot; %&gt;
 &lt;%@ page import=&quot;java.util.Date&quot; %&gt;   --------------&gt;importするパッケージの設定

|CENTER:分類|CENTER:属性名|CENTER:説明|
|返却データのコンテントタイプ|contentType|JSPが返却するデータのコンテントタイプ|
|JSPのエンコーディング方式|pageEncoding|JSP自身のエンコーディング方式|
|インポート|import|外部クラスをimportする|
|セッション|session|セッションの有無を指定|
|エラーページの表示|errorPage|例外発生時に表示するJSPを指定|
|                  |inErrorPage|JSPで発生した例外オブジェクトをJSPに引き渡す|
|バッファ|buffer|bufferサイズを指定|
|        |autoFlush|bufferサイズで指定さ    </description>
    <dc:date>2007-01-11T02:08:05+09:00</dc:date>
    <utime>1168448885</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/21.html">
    <title>コンテキスト作成</title>
    <link>https://w.atwiki.jp/okoba23/pages/21.html</link>
    <description>
      *コンテキスト作成
-[[servlet実行]]では、コンテキストのディレクトリ配下にWEB-INFディレクトリを作成する事で、コンテキストと認識させる方法だったが、下記の方法を使ってもコンテキストを定義できる。
+WEBアプリを格納したディレクトリ配下にWEB-INFディレクトリを作成。
+%CATALINA_HOME%/conf/Catalina/localhostディレクトリに[[コンテキスト]]定義ファイルを配置。
+WEBアプリから生成したwarファイルを配置。
+server.xmlに&lt;Context&gt;エレメントを記述。
**コンテキスト定義ファイルの配備
-%CATALINA_HOME%/conf/Catalina/localhostディレクトリにコンテキスト名と同じ名前のxmlファイルをコンテキスト定義ファイルとして扱う。
-&lt;Context&gt;エレメントのdocBase属性にはコンテキストの場所をwebappsディレクトリを基点とした相対パス、または絶対パスで指定する。
**warファイルによるコンテキスト配備
-server.xmlの&lt;Host&gt;エレメントのappBase属性で指定した場所にあるwarファイルはコンテキストとして扱われる。
-server.xmlの&lt;Host&gt;エレメントのunpackWARs属性にtrueが指定されている場合には、WARファイルを展開したディレクトリが作成される。
**server.xmlに&lt;Context&gt;エレメントを記述
-%CATALINA_HOME%/conf/server.xmlで設定。
 ■server.xml
 &lt;Context path=&quot;/sample&quot; docBase=&quot;test&quot;
          privileged=&quot;true&quot; antiResourceLocking=&quot;false&quot;
          antiJARLocking=&quot;false&quot;
 &lt;/Context&gt;    </description>
    <dc:date>2007-01-07T00:00:50+09:00</dc:date>
    <utime>1168095650</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/20.html">
    <title>servlet実行</title>
    <link>https://w.atwiki.jp/okoba23/pages/20.html</link>
    <description>
      * servlet実行
** sample program
 ■sample.java
 import javax.servlet.http.*;
 import javax.servlet.*;
 
 import java.io.IOException;
 import java.io.PrintWriter;
 
 public class sample extends HttpServlet{
   public void doGet( HttpServletRequest req,
                      HttpServletResponse res )
   throws ServletException,IOException{
     res.setContentType(&quot;text/html;charaset=Shift_JIS&quot;);
     PrintWriter out = res.getWriter();
     out.println(&quot;&lt;html&gt;&quot;);
     out.println(&quot;&lt;head&gt;&quot;);
     out.println(&quot;&lt;title&gt;test servlet&lt;/title&gt;&quot;);
     out.println(&quot;&lt;/head&gt;&quot;);
     out.println(&quot;&lt;body&gt;test servlet pages&lt;/body&gt;&quot;);
     out.println(&quot;&lt;/html&gt;&quot;);
   }
 }
** 1.sample.javaのコンパイル
-サーブレットでは、javax.servletパッケージやjavax.servlet.httpパッケージに収納されているServletAPI(servlet-api.jar)を使用する。
 ■コンパイル
 javac sample.java
 ※pathを通す必要がある。[マイコンピュータ]右クリック-&gt;プロパティ-&gt;[詳細設定]タブ-&gt;環境変数で以下を追加。
 ※windowsで現在設定されている環境変数を見るコマンドは、DOSを使用して表示。
   c:\&gt;set
 - 変数名：CLASSPATH
 - 値：%CATALINA_HOME%common\lib\ser    </description>
    <dc:date>2007-01-06T17:35:46+09:00</dc:date>
    <utime>1168072546</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/19.html">
    <title>コンテキスト</title>
    <link>https://w.atwiki.jp/okoba23/pages/19.html</link>
    <description>
      * コンテキスト
** Webアプリの構築要素
+サーブレット
+JSP
+HTML
+イメージファイル、サウンドファイル
+アプレット
+クラスファイル
** コンテキスト
-TomcatでWebアプリを実行するのにあたり、「%CATALINA_HOME%」のwebapps配下にアプリを置く。
-このディレクトリをコンテキスト(context)と呼ぶ。
-URL構成( プロトコル名＋サーバ名（ドメイン）＋ポート番号＋コンテキスト)
-http://localhost:8080/test/index.html
-webapps配下にディレクトリを作成しただけでは、認識できない。
-webapps配下のcontextを認識させるには「webapps/context名/WEB-INF/」ディレクトリとweb.xmlの記述が必要。
** コンテキストの配置
-%CATALINA_HOME%/conf/server.xmlの&lt;host&gt;エレメントのappBase属性で指定。
-appBase属性の値は、%CATALINA_HOME%を起点とした相対パスor絶対パス。
 &lt;Host name=&quot;localhost&quot; appBase=&quot;webapps&quot;
                        unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;
                        xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;&gt;
 ・・・
 &lt;/Host&gt;
** コンテキスト構成
-コンテキスト直下には、jspやhtmlファイル、イメージファイルなどを。
-WEB-INF/classes配下・・・サーブレット、クラスファイル
-WEB-INF/lib・・・jarファイル
 %CATALINA_HOME%/webapps
                /webapps/html
                /webapps/jsp
                /webapps/WEB-INF/web.xml
                /webapps/classes/サーブレットやクラスファイルなど
            </description>
    <dc:date>2007-01-05T02:38:55+09:00</dc:date>
    <utime>1167932335</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/18.html">
    <title>基本設定・用語系</title>
    <link>https://w.atwiki.jp/okoba23/pages/18.html</link>
    <description>
      * servletとコンテナ
-servletは、サーバ側で動作するjavaプログラム
-ブラウザ(クライアント）からの要求（リクエスト）を受け取り処理を実行し、結果をHTMLとして返却する。
-servletはを管理・実行するために、コンテナ（サーブレットエンジン）が必要となる。
&amp;ref(http://mytext.web.fc2.com/mydoc/pic001.GIF)
 ・サーブレットはCGIのように実行時に新しいプロセスを生成するのではなく、
   スレッドとして生成されるので、プロセス生成のオーバーヘッドが削減できる。
   リソースの消費を抑えられる。
 ・サーブレット対応のコンテナがあれば、OSは気にしない。
 ・tomcat(Jakartaプロジェクト),WebLogic(BEAシステムズ）,WebSphere(IBM)などがある。

* JSP
** example
-&lt;% %&gt;で囲む。
-JSP内部に書きすぎるとHTMLと混雑して可読性の悪いPGになる。アクションタグを使うと便利。
 &lt;%@ page contentType=&quot;text/html;charaset=Shift_JIS&quot;
          pageEncoding=&quot;Shift_JIS&quot; %&gt;
 
 &lt;html
 &lt;head&gt;
 &lt;title&gt;MY TEST PAGES&lt;/title&gt;
 &lt;body&gt;
 Hello! JSP&lt;br&gt;
 &lt;%
   out.println( new java.util.Date() );
 %&gt;
 &lt;/body&gt;
 &lt;/html&gt;

* MVCモデル
-HTML文を出力するprint文の羅列を防ぐために、処理ロジックを分散する。
+Webアプリの処理の流れを制御するサーブレット（コントローラ）
+業務処理（ビジネスロジック）を行うBean（モデル）
+結果返却のJSP(ビュー)
-上記３つをあわせた構成をMVC(モデル・ビュー・コントローラ）構成と言う。
&amp;ref(http://mytext.web.fc2.com/mydoc/pic002.gif)

* 実行環境整備
-J2SE(TM) Development Kit
-Tomcat(コンテナ)

* JDK     </description>
    <dc:date>2007-01-05T02:37:00+09:00</dc:date>
    <utime>1167932220</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/17.html">
    <title>vmstat</title>
    <link>https://w.atwiki.jp/okoba23/pages/17.html</link>
    <description>
      * vmstat
-プロセス・メモリ・ページング・ブロック IO・トラップ・CPU 稼働状況などに関する情報を報告。 
-最初に作成される報告では、最後に再起動して以降の平均が与えられる。
-それ以降の報告では、長さ delay のサンプリング期間に関する情報が与えられる。
-プロセスとメモリに関する報告は、いずれも報告の瞬間のものである。
**option
***-a
-スイッチを 2.5.41 以降のカーネルで指定すると、アクティブ／非アクティブなメモリの表示。
***-f
-スイッチを指定すると、ブート後の fork 数を表示。
-各プロセスは、スレッドの使用数によって、1 つ以上のタスクで表現。
***-m
-slabinfoを表示。
***-n
-スイッチを指定すると、ヘッダの表示が一度だけ。
-デフォルトではある周期で繰り返しヘッダが表示。
***-s
-イベントカウンタとメモリの統計の表を表示。
***delay
-更新の間隔で、単位は秒。
-delay が指定されなければ、最後の起動以降の平均値が 1 回だけ。
***count
-更新回数。
-delay が指定されている場合は、 count のデフォルトは無限回。
***-d
-ディスクの統計。
***-p
--pの後にパーティション名をつけると、詳細な統計情報。
***-S
-k,K,m,Mを付けると1000,1024,1000000,1048576バイト単位に切替。
***-V
-バージョン情報表示。    </description>
    <dc:date>2007-01-04T15:48:00+09:00</dc:date>
    <utime>1167893280</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/16.html">
    <title>rm</title>
    <link>https://w.atwiki.jp/okoba23/pages/16.html</link>
    <description>
      *rm
-ファイルの削除
-ディレクトリの削除
 ■確認つきディレクトリ強制削除
 $ rm -ri xxxxxxx
 ■確認なしディレクトリ強制削除
 $ rm -rf xxxxxxx    </description>
    <dc:date>2007-01-04T15:40:23+09:00</dc:date>
    <utime>1167892823</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/okoba23/pages/15.html">
    <title>Apache 設定</title>
    <link>https://w.atwiki.jp/okoba23/pages/15.html</link>
    <description>
      * command
**configテスト
 $ ./apachectl configtest
**version確認
 $ /usr/local/apache/bin/httpd -v
**設定確認
 $ /usr/local/apache/bin/httpd -V
* httpd.conf設定
**マルチスレッド
***worker
-マルチプロセス/マルチスレッド対応。
-各プロセスに対して決められた数だけスレッドを用意。
-スレッド動作はリソース当たりの処理能力がプロセス動作より高い。
***prefork
-マルチプロセスでのみ動作。
***perchild
-マルチプロセス／マルチスレッドに対応。
-プロセスそれぞれに個別のユーザーIDを割り当てることができる。
-動作が不安定。お勧めしない。
**MPM設定(worker使う場合)
***StartServers
-起動時に作成されるサーバプロセス数
***MaxClients
-サーバプロセスの総数、または同時接続クライアント数
-preforkを使う場合は、256を超える値を設定するのはお勧めできない。
***MinSpareThreadsとMaxSpareThreads
-適切なスペアサーバースレッドを維持するために設定。
-MaxSpareThreads=&gt;MinSpareThreads+ThreadsPerChildが好ましい。
***ThreadsPerChild
-子プロセスそれぞれに生成されるスレッド数。
***MaxRequestsPerChild
-個々の子サーバプロセスが扱うことのできるリクエストの制限数。
-MaxRequestsPerChild が 0 に設定されている場合は、プロセスは期限切れにより終了することがない。    </description>
    <dc:date>2007-01-04T15:33:36+09:00</dc:date>
    <utime>1167892416</utime>
  </item>
  </rdf:RDF>
