約 3,634,131 件
https://w.atwiki.jp/chapati4it/pages/16.html
Java Javaは、サーバサイドによく利用されているプログラム言語です。 最近では、アンドロイドでも利用されています。 Javaサンプル 無名クラスにパラメータを渡す CSVファイルを読み込む Javaの乱数生成 乱数生成の性能 JavaでGMailによるメール送信(JavaMail使用 JavaでZipファイル解凍サンプル(commons-compress使用) JavaでZipファイル圧縮(commons-compress)テキスト一個だけ JavaでZipファイル圧縮(commons-compress)ファイルやディレクトリ指定 スネークケースとキャメルケースの変換 日付、時間を扱うサンプル 処理時間を計測するサンプル 文字列を切り取る substring の使い方 substring使用時のエラーと回避方法??? swingサンプル 基本 ウィンドウを表示するだけのサンプル JButton ボタンをクリックしたらメッセージを表示するサンプル Swingアプリを実行する 画像表示 画像表示(拡大縮小) ポップアップメニュー メニューを作る ファイル選択ダイアログから画像を選択して表示する コンボボックスを使ってみよう エクスプローラからファイルをドロップ ドロップを受け取るサンプル(文字列、ファイル) JListを表示するだけのサンプル JListにアイコンとテキストを表示する JList複数選択、単一選択サンプル JTableにCsvファイルを読み込んで表示 JTableエクスプローラ風サンプル JSliderサンプル JSliderサンプル ボリューム調整みたいなスライダ JSliderサンプル プログラムから操作する時にイベントを発生させない JSliderサンプル ボリューム調整みたいなスライダのUIクラス Zipファイル解凍サンプル JTableに一覧表示、ダブルクリックで画像を表示 MyJCalendar Swingでカレンダー型日付選択ダイアログのサンプル メニュー、タイトルバー、ステータスバー、ツールバーの表示on/off切り替えサンプル tips ウィンドウサイズをiniファイルに保存、復元 JTreeにディレクトリ構造を表示 JTreeとJListで作るエクスプローラ風のサンプル JTreeノード編集、前後の値をチェックする JTableにボタン表示、ボタン押したら行削除 フローレイアウトで強制改行 MP3プレイヤーサンプル(JLayer) MP3プレイヤーサンプル(JLayer,BasicPlayer) MP3のID3を読むサンプル(Java ID3 Tag Library + 文字化け対応) MP3プレイヤーサンプル(JLayer,BasicPlayer,Java ID3 Tag Library)一通りの機能実装 BasicPlayerサンプル(mp3, 音量調整) BasicPlayerサンプル(mp3, シーク, 時間表示) オリジナルのイベントを作ろう 帳票サンプル JasperReports5.0サンプル サンプルの実行 一番簡単なPDF出力 テンプレートにデータソースとパラメータ設定してPDF出力 CSVデータソースからPDF出力 PDFに動的に画像を埋め込み グループ分けと集計 Tomcatサンプル Tomcatメモ Tomcat7.0.37のインストールとeclipseの設定(Windows) サーブレットを作ってみる Tomcat7のインストールとwarファイルのデプロイ(ubunts12.04) warファイルをdotcloudにデプロイ サーブレットからJSPに遷移するサンプル サーブレットからCSVファイルをダウンロードするサンプル サーブレットからCSVファイルをダウンロードするサンプル(日本語ファイル名) サーブレットからファイルをダウンロードするサンプル(日本語ファイル名) Basic認証(UserDatabaseRealm)+DIGEST認証 JFreeChartで動的にグラフを出力するサンプル ファイルをアップロードするサンプル(Commons FileUplaod) クロスサイトスクリプティング脆弱性を体験してみるサンプル
https://w.atwiki.jp/mygungnir/pages/30.html
Tomcatサーバログの日本語化
https://w.atwiki.jp/wiki7_ahr/pages/34.html
EclipseとTomcat EclipseとTomcat Tomcatのインストール Eclipseに登録 Eclipseから起動 Tomcatの/配下にディレクトリを追加 追加したディレクトリ直下にindex.htmlを作成 内蔵ブラウザでURLを指定 JSPのデバッグ Tomcat はApacheのサブプロジェクトになっているアプリケーションサーバーです。 いわゆるHTTPサーバーではなく、JavaアプリケーションをWebサーバー側で走らせるためのしくみのように考える方が わかりやすいかと思います。Tomcat単体でもHTTPサーバーとして動作しますが、Apache等に比べて、動作、機能、性能 の面で不利な点ばかりが目立ってしまい、余りメリットを感じません。むしろ、そっちは専門のサーバーに任せて JSPとかサーブレットとかの扱いに的を絞る方が効率的な運用が出来ると思います。 Tomcatのインストール Tomcatのインストール自体は簡単です。Windows版の場合、本家サイトにインストーラがあるのでこれを使えば問題なく 入ります。途中、Javaで動くのでJREがないとインストールを要求されます。本稿を書いている時の最新版はバージョン6で、 Tomcatダウンロードページ からダウンロードできます。 このページで「Binary Distributions」セクションの「Windows Service Installer」を使えばサービスとしてインストール されます。このあたりと、インストールまでは色々とガイドページが出ているので難なく出来るでしょう。 インストールが成功した時点でEclipse内蔵のブラウザからもアクセス出来るはずです。 この時点では連携して動いていないので、下段ペインではTomcatはStoppedになっています。 Eclipseに登録 さて、Eclipse/WTP?で書いた様に、EclipseではServer登録をする事が出来ます。 新しくTomcatをインストールしたら、「Window/Preferences」画面を出して早速サーバーのランタイム検索を行い、 Tomcatを追加します。これで、Serverビューに右クリックでTomcatを追加する事が出来る様になります。 Eclipseから起動 TomcatをWindowサービスとして登録してしまっている場合は、いったん管理ツールの「サービス」等を使って 自動起動を手動起動にする等しておかないと、Eclipseからの制御時にエラーが出たりします。 さらに、タスクマネージャ等で、稼働中のTomcatをいったんすべて停止させてきれいな状態にします。 ここで、改めてEclipseを起動して、今度はEclipseからTomcatを動かしてみましょう。 デバッグモードで起動してみました。 このページはローカルでは%CATALINA_HOME%\webapps\ROOT配下に存在しています。 なお、%CATALINA_HOME%はインストールした場所です。例えばC \myTomcat配下にZIPを展開したなら C \myTomcat\apache-tomcat-6.0.18がその内容になります。 Tomcatの/配下にディレクトリを追加 では、Tomcatの/配下に自分用のディレクトリを追加してみましょう。 ここでは%CATALINA_HOME%\webapps\ROOT\myTomcatProjectを追加しました。 このディレクトリをプロジェクトに追加するには、プロジェクトのプロパティを開いて「Paths and Symbols」の 「Source Location」タグを選択して「Link Folder」ボタンで「New Folder」ダイアログを呼出して行います。 ここで「Advanced」ボタンで追加オプションを有効にしておき、「Link to folder in the file system」に チェックを入れてから「Browse」すれば、さきほどのディレクトリをそのまま指定出来ます。 これで、EclipseのProject Explorerの自分のプロジェクト配下に追加したフォルダ名が表示されるはずです。 追加したディレクトリ直下にindex.htmlを作成 ここに何の変哲もないindex.htmlを追加します。ディレクトリを選択して右クリック、Newのポップアップを 選択、「Other」で新規作成ウィザードを呼出し、「Web/HTML」を選択します。後はWizardの指示に従って、 ファイル名やドキュメントタイプを指定すれば、テンプレート内容のHTMLドキュメントが作成されます。 内蔵ブラウザでURLを指定 こうして出来たindex.htmlですが、Eclipseの内蔵ブラウザからは「http //localhost ポート番号/myTomcatProject/index.html」がURLになります。 プロジェクトに追加したindex.html JSPのデバッグ ちょっとしたJSPをHTMLに書いてみましょう。JSP記述用のHTMLを更にmyProjectに追加して、一行、 %=new java.util.Date()% と書いてみます。そして、この行の行番号左のところで右クリックをして「Toggle Breakpoints」を選択すると、Breakpointを 設定する事が出来ます。このようにしておいて、内蔵ブラウザで再読込みをすると、画面の様子が一変(デバッグモードに遷移)して ブレークポイントの行で止まります。 デバッグ画面です。 デバッグモードでは、コールスタックや変数のウォッチ表示、ステップ実行など、デバッグ支援機能を使う事が出来ます。 ソースの場所が判っていればソースデバッグが可能です。ここから先はEclipseを使った通常のデバッグのやり方になるので 本稿では特に追求しません。ちなみに、このJSPは正常に実行すれば「Thu Nov 13 16 39 25 JST 2008」のように 現在時刻を表示します。
https://w.atwiki.jp/johzue/pages/25.html
参考にしたページ http //www.hellohiro.com/ マニュアル Tomcat4.0 ServletAPI(ちょっと古いかな) http //www.jajakarta.org/tomcat/servletapi/servletapi-4.0/docs-ja/index.html JDK5.0 http //java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html Tomcat5.5設定 ApacheもTomcatも無事に連携ができたら、JSPとサーブレットの動作確認 サーブレット デフォルトだと、http //ipaddress/servlets-examples/servlet/HelloWorldExample これでHello World !!とか表示される。 Javaのクラスファイル自体は /usr/local/tomcat5/webapp/servlets-examples/WEB-INF/classes/HelloWorldExample.class に、置かれており http //ipaddress/(ルート)が/usr/local/tomcat5/webapp/ROOTディレクトリに 対応づいており http //ipaddress/servlets-examplesが/usr/local/tomcat5/webapp/servlets-examples/ に対応づいている。 servlet-name HelloWorldServlet /servlet-name servlet-class HelloWorldServlet /servlet-class /servlet servlet-mapping servlet-name HelloWorldServlet /servlet-name url-pattern /servlet/HelloWorldServlet /url-pattern /servlet-mapping /web-app ファイルはclassesフォルダの中にHelloWorldServlet.classを置いて 読み出すときは前述の通り。 web.xmlのinvokeの項目(確か2つある)の コメント部分を解除すると、マッピングを関係なく表示できる。 これはセキュリティのため、公開時は元に戻す(コメント化)する必要がある。 ディレクトリを指定して、その中身を見るにはserver.xmlを init-param param-name listings /param-name param-value true /param-value /init-param trueに変更する必要がある 必要なければやらなくて良い。 jspファイルはマッピング関係なく直接読みにいけばよい 文字化け Debian文字化け DebianではJ2SDKパッケージで日本語文字化けするので、それの対応 cp $JAVA_HOME/jre/lib/fontconfig.Redhat.8.0.properties.src \ $JAVA_HOME/jre/lib/fontconfig.properties コピーしたら、それをviで開いて %s /misc-kochi /-sazanami-/g (kochiの後にスペースが必要) 入力フォームの文字化け(GET) Tomcat5.XからsetCharEncodingメソッドの文字コードの適応がなくなった。 クリの文字コードはUTF-8を使うのがルールらしくて、Tomcatもそれに対応したみたい。 それでもやっぱり、基本EUC-JPで統一したいから tomcatのconfディレクトリにあるserever.xmlの一部を編集しなければならない Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"/ 最後にあるuseBodyEncodingForURIの項目を追加すればOK これでGETでとっても文字化けしなくなる 参考:http //www.atmarkit.co.jp/fjava/rensai3/mojibake03/mojibake03.html Netbeansについて Javaの開発環境といえばElipseだったが、最近はNetBeansがSunのサポートとなってシェアが伸びてきている。 利点:標準でTomcat等がバンドルされており導入が楽 欠点:モジュールが少ない NetBeansのコンパイル文字コード指定 「ツール」→「詳細オプション」→「編集」→「Javaソース」→「デフォルトエンコーディング」で指定 コンパイル時のエンコード指定は 「プロジェクトプロパティ」→「構築」→「コンパイル」の追加のコンパイラオプションで指定 -encoding EUC-JP 参考:http //www.deftrash.com/blog/archives/2006/05/netbeans_1.html
https://w.atwiki.jp/skmt200x/pages/34.html
目的 代表的なJavaアプリケーションコンテナであるTomcatと、代表的なHTTPサーバApacheを連携させる設定方法について記したメモです。 またTomcatを動作させるために必要なJDKのインストール方法についても記述しています。 目的 前提環境・ソフトウェアバージョン(OS、Kernel、Apache、JDK、Tomcat) 概要 ダウンロードサイトから各パッケージの入手 JDKのインストールおよびセットアップ Tomcatのインストール ApacheとTomcatの設定 前提環境・ソフトウェアバージョン(OS、Kernel、Apache、JDK、Tomcat) OS Redhat Enterprise Linux ES 4 Update6 Kernel 2.6.9-67.EL Apache 2.2.8 JDK 1.5.0_15 Tomcat 6.0.16 (1)事前に上記バージョンのApache2.2.8がインストールされている必要があります。 (2)Apacheをビルドする際に次のビルド設定が指定されている必要があります。 --enable-proxy=yes --enable-proxy-ajp=yes 概要 (1)ダウンロードサイトから各パッケージの入手 (2)JDKのインストールおよびセットアップ (3)Tomcatのインストール (4)ApacheとTomcatの設定 ダウンロードサイトから各パッケージの入手 JDKの入手 Sun Microsystemsのサイト http //java.sun.com/ からLinux x86プラットフォーム向けのパッケージをダウンロードします。 RPMパッケージ(*.rpm)形式と、自己解凍(*.bin)形式がありますが、今回は自己解凍(*.bin)形式をダウンロードします。 ※注意事項 Sun MicrosystemsのJDKパッケージのダウンロードサイトは、製品のバージョンアップとともに、変更されることが多いので、古いバージョンをダウンロードする場合は以下のArchiveサイトからダウンロードします。 http //java.sun.com/products/archive/ 尚この際、製品のサポートポリシー(EOL = End of Life)移行期間などを確認する必要があります。 現時点([2008/06/26]現在)においても、既に5.0(1.5)系はEOL移行期間で6.0系を使うことが推奨されています。 Tomcatの入手 Apache Tomcatサイト http //tomcat.apache.org/ からダウンロードします。 今回の場合、Linux用のGnuZip圧縮(*.gz)形式ダウンロードするため、以下のArchiveサイトからダウンロードします。 http //archive.apache.org/dist/tomcat/tomcat-6/v6.0.16/bin/ apache-tomcat-6.0.16.tar.gz Linuxプラットフォーム向けのGnuZip圧縮形式のパッケージ apache-tomcat-6.0.16.exe Windowsプラットフォーム向けのインストーラパッケージ apache-tomcat-6.0.16-fulldocs.tar.gz このバージョンのドキュメントのGnuZip圧縮形式のパッケージ apache-tomcat-6.0.16-deployer.tar.gz ★要調査★(多分、拡張のデプロイツール??) *.asc 各ファイルの署名ファイル *.md5 各ファイルのMD5チェックサムファイル http //archive.apache.org/dist/tomcat/tomcat-6/v6.0.16/ URLにはKEYS(公開鍵)ファイルもあります。 必要に応じてダウンロードします。 JDKのインストールおよびセットアップ インストール 自己解凍形式のため、以下のコマンドを実行します。 jdk-1_5_0_15-linux-i586.bin ENTER Sun Microsystems, Inc. Binary Code License Agreement for the JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0 (省略) Do you agree to the above license terms? [yes or no] yes ENTER 上記操作により、カレントディレクトリにJDK一式が解凍されます。 解凍されたディレクトリを以下のコマンドより、適切な位置に配置します。 mv -p jdk1.5.0_15/ /opt/java/1.5.0 ENTER パスの設定 インストールしたJDKの各プログラムを実行可能にするために、以下の環境変数を設定します。 環境変数名 意味 設定値 JAVA_HOME JDKのホームディレクトリ /opt/java/1.5.0 PATH 実行プログラムの検索パス $JAVA_HOME/bin $PATH 今回はtomcatユーザの環境変数に、上記内容を追加するので、.bashrc ファイルに以下の記述を追記します。 export JAVA_HOME=/opt/java/1.5.0 export PATH=${JAVA_HOME}/bin ${PATH}; ※事前にtomcatユーザを作成しておく必要があります。 実際に正しくパスが設定されているかどうかの確認 以下のコマンドにより、インストールしたJavaのバージョン、パス設定が正しいかどうか?の確認を行います。 which java ENTER /opt/java/1.5.0/bin/java java -version ENTER java version "1.5.0_15" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04) Java HotSpot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing) 備考 最近のLinuxディストリビューションでは、同じアプリケーションで、複数のバージョンを同一システム上にインストールするための仕組みとして、alternativesと呼ばれる仕組みを採用していることがあります。 例えばビルドバージョンのみ異なる(バグフィックスしたバージョン 等)プログラムをインストールする際などに、この仕組みを使うことでパスの最設定などを一元化することが可能になります。 詳細については、別途alternativesについて調査します。 Tomcatのインストール 以下のコマンドより、解凍・展開します。 gunzip apache-tomcat-6.0.16.tar.gz ENTER tar -xvf apache-tomcat-6.0.16.tar ENTER 解凍されたディレクトリを適切な位置に配置します。 パーミッションも実行ユーザであるtomcatに設定しておくのが望ましいでしょう。 cp -p apache-tomcat-6.0.16/ /opt/tomcat/6.0 ENTER chown -R tomcat.tomcat /opt/tomcat/6.0 ENTER ApacheとTomcatの設定 proxy_module および proxy_ajp_module が有効になっていることの確認 以下のファイルを確認します(※LoadModuleディレクティヴが並んでいる箇所を確認)。 /opt/apache/2.2/conf/httpd.conf ファイルの87,91行目(あたり) LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so AJPポートへのリダイレクト設定の追加 /opt/apache/2.2/conf/httpd.conf の末尾に以下の記述を追加します。 #Redirect setting for AJP Location /manager/ ProxyPass ajp //localhost 8009/manager/ /Location 具体的なApacheのLocationディレクティヴの記述に関しては http //www.apache.jp/manual/mod/core.html#location を参照してください。 今回の例のためのユーザ設定 上記で設定した /manager コンテキストは、初期設定ではBASIC認証保護されています。 そのため、以下のファイルを編集し、ユーザ登録をしておく必要があります。 /opt/tomcat/6.0/conf/tomcat-users.xml ファイル tomcat-users ~ /tomcat-users のエレメントに role / エレメントと user / エレメントを追加する必要があります。 ?xml version='1.0' encoding='utf-8'? tomcat-users role rolename="manager"/ user username="tomcat" password="tomcat123" roles="manager"/ /tomcat-users この例のManagerアプリケーションでのユーザ設定については以下のサイトで詳細に説明されています。 http //tomcat.apache.org/tomcat-6.0-doc/manager-howto.html Tomcatが直接受け付けるHTTPリクエストポートを閉じる設定(オプション) 以下のファイルを編集します。 /opt/tomcat/6.0/conf/server.xml 66~69行目のConnector要素をコメントアウトします。 !-- Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" / -- この設定は、TomcatのHTTPリクストへ直接アクセスされることを回避するための設定です。 ... 以上の設定が終了したら、Tomcat→Apacheの順にデーモンを起動します。 su - tomcat ENTER cd /opt/tomcat/6.0/bin ENTER ./startup.sh ENTER Using CATALINA_BASE /opt/tomcat/6.0 Using CATALINA_HOME /opt/tomcat/6.0 Using CATALINA_TMPDIR /opt/tomcat/6.0/temp Using JRE_HOME /opt/java/1.5.0 exit ENTER cd /opt/apache/2.2/bin ENTER ./apachectl start ETNER Webブラウザで http //apache_host/manager/html にアクセスします。 ※apache_host はApacheを起動しているホスト名です。 このようにHTTPリクエストポート経由で、Tomcatコンテンツにアクセスしていることが確認できます。 最終更新日 [2011-04-15]
https://w.atwiki.jp/kodan/pages/95.html
※Tomcatインストール前にJDKのインストールが必要。 ApacheのTomcatのページから使用するTomcatをダウンロードする。 例:[[Tomcat]] 6.0.32 Binary Distributions:Core 32-bit/64-bit Windows Service Installer apache-tomcat-6.0.32.exe ダウンロードしたexeファイルを起動し、Tomcatをインストールする。 ※「Unable to open the service Tomcat6 」エラーが出た場合
https://w.atwiki.jp/chapati4it/pages/135.html
ubuntu-server-12.04にTomcat7をインストールした時のメモです。 warファイルをデプロイしてブラウザで動作確認するところまでやってみました。 参考:Ubuntu 11.04でのTomcat 6.0のインストール(help.ubuntu.comのドキュメント日本語訳) | anobota ubuntu-server-12.04が入ってるVMを起動して、Tera Termで接続。 以下のコマンドでTomcat7をインストール sudo apt-get install tomcat7 インストールが終わったら、「http //192.168.130.128 8080/」にブラウザでアクセス。 ※IPアドレスは個々の環境で違います。 以下の様な画面が表示されたらインストール成功です。 管理ツールインストール 以下のコマンドで管理ツールをインストールします sudo apt-get install tomcat7-admin tomcat-users.xml編集 コマンド $ sudo nano /etc/tomcat7/tomcat-users.xml /etc/tomcat7/tomcat-users.xmlを以下のように編集します。(コメント省略) 「manager-gui」のロールを定義し、「admin」ユーザーをパスワード「pass」、ロール「manager-gui」で定義しました。 ?xml version= 1.0 encoding= utf-8 ? tomcat-users role rolename="manager-gui"/ user username="admin" password="pass" roles="manager-gui"/ /tomcat-users 参考:第7回 Tomcat Webアプリケーションマネージャを使ってみよう! | Think IT Tomcat再起動 $ sudo service tomcat7 restart 「http //192.168.130.128 8080/manager/html」にアクセスしてみるとユーザ名とパスワード入力するダイアログがでるので、上記のtomcat-users.xmlに設定したユーザ名とパスワードでログインします。 成功すれば上の画面が表示されます。 warファイルをデプロイ 【Java】EclipseでTomcatプロジェクトのWARファイルを作成 | cozzboxを参考にして作成したwarファイルを管理画面からデプロイしてみます。 以下のように、「参照」ボタンからwarファイルを選択し、「Deploy」を押します。 さっくりとデプロイ完了しました。「/Tomcat7Test」と表示されている緑のラインがデプロイしたアプリです。 「http //192.168.130.128 8080/Tomcat7Test/myservlet」にアクセスしてみると、Java/Tomcat/サーブレットを作ってみるで作ったサーブレットにアクセス出来ました。 ubuntsのTomcatインストール簡単すぎです! Tomcatサンプル Tomcatメモ Tomcat7.0.37のインストールとeclipseの設定(Windows) サーブレットを作ってみる Tomcat7のインストールとwarファイルのデプロイ(ubunts12.04) warファイルをdotcloudにデプロイ サーブレットからJSPに遷移するサンプル サーブレットからCSVファイルをダウンロードするサンプル サーブレットからCSVファイルをダウンロードするサンプル(日本語ファイル名) サーブレットからファイルをダウンロードするサンプル(日本語ファイル名) Basic認証(UserDatabaseRealm)+DIGEST認証 JFreeChartで動的にグラフを出力するサンプル ファイルをアップロードするサンプル(Commons FileUplaod) クロスサイトスクリプティング脆弱性を体験してみるサンプル コメント 名前
https://w.atwiki.jp/kattsu/pages/22.html
参考サイト; http //honana.com/tomcat/install.html (1)このあたりからapache-tomcat-5.5.26.tar.gzを落としてきます http //tomcat.apache.org/download-55.cgi (2)以下のディレクトリにapache-tomcat-5.5.26.tar.gzを配置 /usr/local/src/ (3)rootでログイン後解凍 cd /usr/local/src tar zxf apache-tomcat-5.5.26.tar.gz (4)下記にコピー cp -r /usr/local/src/apache-tomcat-5.5.26 /usr/local/apache-tomcat-5.5.26 (5)シンボリックリンクの作成 ln -sfn /usr/local/apache-tomcat-5.5.26 /usr/local/tomcat (6)環境変数の追加 profileの設定 vi /etc/profile ↓を追加 export JAVA_HOME=/usr/local/java/jdk export CATALINA_HOME=/usr/local/tomcat PATH=$PATH $JAVA_HOME/bin (7)環境変数の反映~ source コマンドを使って設定した環境変数反映させる。 source /etc/profile (8)Tomcat 実行ユーザーの作成~ Tomcat をユーザー権限で実行させるためにユーザー tomcat を作成します。 useradd -d /var/empty/tomcat -s /sbin/nologin tomcat Tomcat のディレクトリやファイルの所有者を tomcat ユーザーに設定します。 chown -R tomcat tomcat /usr/local/apache-tomcat-5.5.26 (9)Tomcat 5.5 の起動 su -s /bin/bash - tomcat -c "$CATALINA_HOME/bin/startup.sh" 該当の画面アクセスしてtomcatの画面がでることを確認~ http //XXX.XXX.XXX.XXX 8080 (10)Tomcat 5.5 の停止 $CATALINA_HOME/bin/shutdown.sh
https://w.atwiki.jp/shin-b/pages/26.html
Tomcatクラスタの落とし穴? 2007.10.17 Wednesday てっく 00 58 comments(0) trackbacks(0) by nyoshikimi 先日から仕事でTomcatのクラスタ機能の検証を行っていました。 単なる機能検証ではなく、昨年度から炎上しているプロジェクトでクラスタリングしているにもかかわらず、フェイルオーバー時にセッションが引き継がれない現象が起きているから、なんとかしてくれというのがミッションの内容。少し前までは、こういった、込み入った事情がある検証は、優れた技術力を持った人が対応しいたのですが、会社の事情により、(入れ替わり立ち代わりの多い業界ですので。。。)私のような未熟者が対応する事になりました。 かれこれ、半年前から起きているらしく、何度か検証はしているものの、一向に解決のめどが見えないとの事で、設定やTomcatの再起動手順に問題ないか調べる事から始まりました。かなり、右往左往しましたが、結果から行くと、Tomcatインストール時に作成されるクラスタリングの設定サンプル(server.xmlでコメントアウトされている部分)の設定で何の問題も無いです。ただし、差分レプリケーション(DeltaManager)の場合(一般的な設定)、プログラミングで注意が必要です。 セッションに格納(setAttribute)するオブジェクトに変更を加えた時には、必ず、再度setAttributeをコールしてオブジェクトの置き換えを行う必要があります。通常、シングル構成の場合、一度セッションに格納したオブジェクトを次回以降のリクエストで変更を加えても、再度、セッションに格納し直す必要はありません。これは、Javaのオブジェクトが参照型であるためです。あくまでも、セッションに格納されたオブジェクトは、実態があるメモリのアドレスが格納されるだけです。セッションに格納されたオブジェクトに変更を加えた場合、実態のほうのデータが更新されます。すでに、オブジェクトはセッションに格納されている(HttpSessionから参照されている)ため、レスポンスをブラウザに返した後も、ヒープ上にオブジェクトが存在し続けます。この辺は、Javaプログラマーの試験でよく出題されると思います。で、落とし穴ですが、差分レプリケーションをしている場合、差分情報(Delta)のみが相手のTomcatに渡されます。この「差分」は、変更を加えたデータが必ず送られるわけではなく、明示的にsetAttribute(remobeAttribute)されたオブジェクトのみ送られるのがポイントです。 「フェイルオーバーするとき以外は、セッション情報が正常に保たれているのでソースコードには問題ない」という前提で検証を行っていたため、この答えにたどり着くまでにかなり苦労しました。 実際にTomcatのソースをローカルにダウンロードして、ソースを確認したり、Tomcatのホームページの変更履歴(Change Log)に似たような変更点はないか調べたり、Apacheのメーリングリストを検索しまくったりとか、かなり遠回りして答えにたどり着きました。なんだよ。。。アプリのバグじゃん。。。 おかげでというのもなんですが、WEB上に情報がほとんどない全データレプリケーション(SimpleTcpReplicationManager)を試してみたり、(実際にソースコードも見てみました。)レアな設定値(ソースを展開すると、全パラメータをまとめたxmlファイルがあります。)を試したりと、遊び心のある検証でしたが。。。 他に、mod_jk側でsticky_session=1にしてもJSESSIONIDのworkerと異なるworkerと通信してしまう現象なんかも確認できたりしました。ちゃんと対処法も見つけています。その件は、また、後ほど。
https://w.atwiki.jp/lmes2/pages/231.html
Java 今ここにあるのは、サーブレット。JSPもたぶん後から追加される。 目次 Javaとは用語解説 参考サイト 環境構築Java開発環境JDK6 Eclipse Ant Maven2 WebサーバApache Tomcat WebアプリケーションフレームワークStruts Apache Tapestry ライブラリ・クラスiText(PDF作成) JUnit(テスト) Hibernate(O/Rマッピング) DB接続ODBC JDBC 用語解説 Javaとは 用語解説 Java - Wikipedia Java Servlet - Wikipedia JavaServer Pages - Wikipedia 参考サイト Javaの道(Java入門・リファレンス) Javaの学習ならJavaDrive 環境構築 Java開発環境 JDK6 JavaDrive / JDK 6のインストールと環境設定 Eclipse Eclipse (統合開発環境) - Wikipedia Ant Maven2 Maven2のTipsを集めるWiki - CookBook / インストール Maven2のTipsを集めるWiki - CookBook アジャイル開発のヌーラボ / 第4章 Maven2によるビルド入門 Webサーバ Apache Apache HTTP Server - Wikipedia コンパイルとインストール - Apache HTTP サーバ Tomcat Webアプリケーションフレームワーク Struts Apache Struts - Wikipedia Apache Tapestry Apache Tapestry - Wikipedia ライブラリ・クラス iText(PDF作成) iTextを利用してJavaからPDF形式の帳票を出力する CodeZine JUnit(テスト) JUnit - Wikipedia Hibernate(O/Rマッピング) Hibernate - Wikipedia DB接続 ODBC JDBC 用語解説 O/Rマッピング