詳解 Tomcat

著者 :
  • オライリージャパン
3.90
  • (1)
  • (7)
  • (2)
  • (0)
  • (0)
本棚登録 : 72
感想 : 3
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (460ページ)
  • / ISBN・EAN: 9784873117058

作品紹介・あらすじ

本書は根強い人気を誇るJavaアプリケーションサーバ、Tomcatについて解説したものです。日本人唯一のTomcat PMC(プロジェクト管理委員会)メンバであり、アクティブコミッタである藤野圭一氏による執筆で、Tomcatの機能や使い方についてだけでなく、アーキテクチャについても踏み込んで詳しく解説することで、さらに深い理解を促し、中上級者が自分で機能を拡張してカスタマイズできるような情報も提供します。最新バージョンTomcat 8に対応した唯一無二の書籍です。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • 【書誌情報】
    『詳解 Tomcat』
    藤野 圭一 著
    TOPICS:Java
    発行年月日:2014年12月
    PRINT LENGTH:460
    ISBN:978-4-87311-705-8
    FORMAT:Print PDF
    Ebook:4,048円
    Print:5,060円

     本書は根強い人気を誇るJavaアプリケーションサーバ、Tomcatについて解説したものです。日本人唯一のTomcat PMC(プロジェクト管理委員会)メンバーであり、アクティブコミッタである藤野圭一氏による執筆で、Tomcatの機能や使い方についてだけでなく、アーキテクチャについても踏み込んで詳しく解説することで、さらに深い理解を促し、中上級者が自分で機能を拡張してカスタマイズできるような情報も提供します。最新バージョンTomcat 8に対応した唯一無二の書籍です。
    [https://www.oreilly.co.jp/books/9784873117058/]

    【目次】
    目次
    はじめに

    1章 Tomcatとは

    2章 Tomcatの基本
    2.1 インストール
    2.1.1 JDKのインストール
    2.1.2 Tomcatのダウンロード
    2.1.3 Tomcatのインストール
    2.1.3.1 Linuxでのインストール
    2.1.3.2 Windowsでのインストール
    2.2 ディレクトリ構成
    2.3 Tomcatの起動
    2.3.1 Tomcat制御スクリプト
    2.3.1.1 setenvスクリプト
    2.3.2 環境変数
    2.3.2.1 CATALINA_HOMEとCATALINA_BASE

    3章 アーキテクチャ
    3.1 Tomcatのアーキテクチャ
    3.2 Catalinaアーキテクチャ
    3.2.1 各コンポーネント解説
    3.2.1.1 Server
    3.2.1.2 Service
    3.2.1.3 Connector
    3.2.1.4 Engine
    3.2.1.5 Host
    3.2.1.6 Context
    3.2.1.7 Wrapper
    3.2.1.8 コンテナコンポーネント
    3.2.2 リクエスト処理パイプライン
    3.2.2.1 Valveとは
    3.2.2.2 Pipelineとは
    3.2.2.3 リクエスト処理パイプライン
    3.3 ライフサイクルアーキテクチャ
    3.3.1 ライフサイクルアーキテクチャとCatalinaアーキテクチャの構成
    3.3.2 ライフサイクルリスナ
    3.3.3 ライフサイクルリスナの設定方法
    3.4 Tomcatクラスローダ
    3.4.1 Tomcatクラスローダ階層
    3.4.2 検索の優先順位

    4章 基本機能
    4.1 Valveとは
    4.1.1 ValveとServlet Filter
    4.1.2 カスタムValveの作成
    4.1.3 Tomcatで提供しているValve実装クラス
    4.1.3.1 AccessLogValve
    4.1.3.2 CrawlerSessionManagerValve
    4.1.3.3 ErrorReportValve
    4.1.3.4 RemoteAddrValveとRemoteHostValve
    4.1.3.5 RemoteIpValve
    4.1.3.6 SemaphoreValve
    4.1.3.7 StuckThreadDetectionValve
    4.1.3.8 RewriteValve
    4.1.3.9 認証Valve
    4.1.4 Tomcatで提供しているFilter実装クラス
    4.2 ロギング
    4.2.1 ClassLoaderLogManager
    4.2.2 ログレベル
    4.2.3 Handler
    4.2.3.1 org.apache.juli.FileHandler
    4.2.3.2 org.apache.juli.AsyncFileHandler
    4.2.4 Formatter
    4.2.5 Log4Jでのロギング
    4.3 セッション管理
    4.3.1 セッションについて
    4.3.2 Tomcatのセッション管理
    4.3.2.1 JSESSION Cookieコンフィグレーション
    4.3.2.2 セッションライフサイクルとセッションリスナ
    4.3.2.3 セッションマネージャとクラス構成
    4.3.2.4 標準セッションマネージャ(org.apache.catalina.session.StandardManager)
    4.3.2.5 パーシステンスマネージャ
    4.4 認証機能
    4.4.1 Tomcatのコンテナ管理セキュリティ
    4.4.1.1 認証機能
    4.4.1.2 Realm機能
    4.4.1.3 パスワードのダイジェスト化
    4.4.2 Servlet APIによる認証
    4.4.3 シングルサインオン
    4.4.3.1 シングルサインオンのログアウト
    4.4.3.2 Tomcatのシングルサインオンの制約
    4.5 自動デプロイメント
    4.5.1 用語
    4.5.2 自動デプロイメントに関連するHostとContextの属性
    4.5.3 Tomcat起動時のデプロイ
    4.5.3.1 Contextディスクリプタによるデプロイ
    4.5.3.2 WARファイルによるデプロイ
    4.5.3.3 ディレクトリによるデプロイ
    4.5.3.4 2回目以降のデプロイの注意点
    4.5.4 ホットデプロイ
    4.5.4.1 デプロイ
    4.5.4.2 リデプロイ/アンデプロイ
    4.5.4.3 ContextディスクリプタによってデプロイされたWebアプリケーションのリデプロイ
    4.5.4.4 WARファイルによってデプロイされたWebアプリケーションのリデプロイ
    4.5.4.5 ディレクトリによってデプロイされたWebアプリケーションのリデプロイ
    4.5.4.6 リロード
    4.6 Jasper
    4.6.1 Jasperコンパイルオプション
    4.6.1.1 JSPの更新チェック
    4.6.1.2 JSPの監視
    4.6.2 org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER
    4.7 監視および管理機能
    4.7.1 管理機能
    4.7.1.1 Managerアプリケーション
    4.7.1.2 HTMLManager
    4.7.1.3 (Text-base)Manager
    4.7.1.4 Server Status
    4.7.1.5 JMXProxy
    4.7.1.6 Host-Manager
    4.7.1.7 HTMLHostManager
    4.7.1.8 管理アプリケーションの仕組み
    4.7.2 Tomcatのリソース監視
    4.7.2.1 TomcatのMBean登録
    4.7.2.2 Tomcatの内部コンポーネントのMBean
    4.7.2.3 カスタムコンポーネントのMBean

    5章 応用機能
    5.1 Connector
    5.1.1 Connectorのアーキテクチャ
    5.1.1.1 ProtocolHandler
    5.1.1.2 Endpoint
    5.1.1.3 ConnectionHandler
    5.1.1.4 リクエストプロセッサ
    5.1.1.5 CoyoteAdapter
    5.1.2 リクエスト処理詳細
    5.1.2.1 Endpointによる接続受付処理
    5.1.2.2 ConnectionHandlerによるリクエスト処理
    5.1.2.3 Pollerのタイムアウト処理
    5.2 クラスタリング
    5.2.1 クラスタリングとは
    5.2.1.1 パフォーマンスの向上
    5.2.1.2 可用性の向上
    5.2.2 Tomcatのクラスタリング
    5.2.2.1 クラスタメンバシップ
    5.2.2.2 Tomcatクラスタのロードバランス
    5.2.2.3 セッションレプリケーション
    5.2.2.4 アーキテクチャ
    5.2.3 セッションレプリケーション
    5.2.3.1 レプリケーション方式
    5.2.3.2 セッションレプリケーション利用時の制約
    5.2.3.3 クラスタセッションマネージャ
    5.2.3.4 クラスタセッションマネージャの設定方法
    5.2.3.5 セッションクラス
    5.2.3.6 差分レプリケーション
    5.2.3.7 セッションの差分情報の登録
    5.2.3.8 差分レプリケーションのタイミング
    5.2.3.9 DeltaManager
    5.2.3.10 BackupManager
    5.2.4 Channelとは
    5.2.4.1 Channelインスタンス
    5.2.4.2 ChannelCoordinator
    5.2.4.3 MembershipService
    5.2.4.4 MembershipListener
    5.2.4.5 ChannelSender
    5.2.4.6 ChannelReceiver
    5.2.4.7 ChannelListener
    5.2.4.8 ChannelInterceptor
    5.2.5 クラスタその他機能
    5.2.5.1 JvmRouteBinderValveによるセッションID書き換え
    5.2.5.2 ClusterDeployerによるクラスタ間のWARデプロイ
    5.3 Tomcat JDBC Connection Pool
    5.3.1 利用方法
    5.3.2 設定パラメータ
    5.3.2.1 基本のパラメータ
    5.3.2.2 コネクションプールに関するパラメータ
    5.3.2.3 コネクション検証に関するパラメータ
    5.3.2.4 PoolCleanerに関するパラメータ
    5.3.2.5 その他のパラメータ
    5.3.3 JDBC-Poolの拡張機能
    5.3.3.1 コネクションのパージ機能
    5.3.3.2 JMXサポート
    5.3.3.3 JdbcInterceptor
    5.4 WebSocket
    5.4.1 WebSocketとは
    5.4.2 Java WebSocket API
    5.4.2.1 javax.websocket.Endpoint
    5.4.2.2 javax.websocket.Session
    5.4.2.3 javax.websocket.MessageHandler
    5.4.2.4 javax.websocket.RemoteEndpoint
    5.4.2.5 javax.websocket.WebSocketContainer
    5.4.2.6 javax.websocket.server.ServerEndpointConfig
    5.4.2.7 javax.websocket.server.ServerApplicationConfig
    5.4.2.8 アノテーションを使用したEndpoint
    5.4.3 TomcatのWebSocket
    5.4.4 クラス構成
    5.4.5 WebSocketの処理フローの解説
    5.4.5.1 WebSocketコンテナの初期化
    5.4.5.2 リクエスト受け付けからUpgradeするまでの処理
    5.4.5.3 WebSocketリクエスト処理(メッセージ受信:OnMessage)
    5.4.5.4 WebSocketリクエスト処理(メッセージ送信)
    5.5 Parallel deployment
    5.5.1 Parallel deploymentによるWebアプリケーションのバージョン管理
    5.5.2 リクエストとコンテナのマッピング
    5.5.2.1 Mapperコンポーネント
    5.5.2.2 リクエストとコンテナのマッピング
    5.5.2.3 Parallel deployment時のマッピング
    5.6 メモリリーク防止と検知
    5.6.1 クラスローダのメモリリーク
    5.6.2 メモリリークの防止と検知
    5.6.2.1 Webアプリケーションクラスローダによる参照クリア
    5.6.2.2 ThreadLocalLeakPreventionListenerによるThreadLocalリークの防止
    5.6.2.3 JREMemoryLeakPreventionListenerによるWebアプリケーションクラスローダのリークの防止
    5.6.2.4 Hostによるメモリリーク検知

    6章 Apache―Tomcat連携
    6.1 Apache HTTP Serverと Tomcatの連携
    6.2 mod_jkとは
    6.2.1 CPing/CPong
    6.2.2 コネクションプーリング
    6.2.3 ロードバランス
    6.2.4 スティッキーセッション
    6.2.5 リトライ
    6.2.6 workerの状態遷移
    6.2.7 メンテナンス
    6.2.8 その他機能
    6.2.8.1 uriworkermap
    6.2.8.2 ドメインクラスタリング
    6.2.8.3 Status Worker

    7章 セキュリティ対策
    7.1 Tomcatのセキュリティ対策全般
    7.2 Tomcatのセッション固定攻撃対策
    7.3 CSRFプロテクション
    7.3.1 CsrfPreventionFilterの仕組み
    7.4 SSL情報の伝搬
    7.4.1 Apache(mod_jk)の設定で対策する場合
    7.4.2 Tomcat(Connector)の設定で対策する場合

    8章 コンフィグレーションリファレンス
    8.1 server.xml
    8.1.1 Server
    8.1.2 Service
    8.1.3 Executor
    8.1.4 Connector(HTTP/AJP)
    8.1.5 Engine
    8.1.6 Host
    8.1.7 Context
    8.1.7.1 ネストエレメント
    8.1.7.2 Contextパラメータ
    8.1.7.3 Environmentエントリ
    8.1.7.4 Resource定義
    8.1.8 Global Resources
    8.1.8.1 Environmentエントリ
    8.1.8.2 Resource定義
    8.1.9 JarScanner
    8.1.10 JarScanFilter
    8.1.11 Listeners
    8.1.11.1 APR Lifecycle Listener ― org.apache.catalina.core.AprLifecycleListener
    8.1.11.2 JRE Memory Leak Prevention Listener ― org.apache.catalina.core.JreMemoryLeakPreventionListener
    8.1.11.3 Security Lifecycle Listener ― org.apache.catalina.security.SecurityListener
    8.1.11.4 ThreadLocalLeakPreventionListener ― org.apache.catalina.core.ThreadLocalLeakPreventionListener
    8.1.11.5 UserConfig ― org.apache.catalina.startup.UserConfig
    8.1.11.6 JMX Remote Lifecycle Listener ― org.apache.catalina.mbeans.JmxRemoteLifecycleListener
    8.1.12 Loader
    8.1.13 Manager
    8.1.13.1 ネストエレメント
    8.1.13.2 すべてのManagerのネストエレメント
    8.1.13.3 PersistentManagerのネストエレメント
    8.1.14 Realm
    8.1.14.1 JDBC Realm ― org.apache.catalina.realm.JDBCRealm
    8.1.14.2 DataSource Realm ― org.apache.catalina.realm.DataSourceRealm
    8.1.14.3 JNDI Directory Realm ― org.apache.catalina.realm.JNDIRealm
    8.1.14.4 UserDatabase Realm ― org.apache.catalina.realm.UserDatabaseRealm
    8.1.14.5 Memory Based Realm ― org.apache.catalina.realm.MemoryRealm
    8.1.14.6 JAAS Realm ― org.apache.catalina.realm.JAASRealm
    8.1.14.7 Combined Realm ― org.apache.catalina.realm.CombinedRealm
    8.1.14.8 LockOut Realm ― org.apache.catalina.realm.LockOutRealm
    8.1.14.9 ネストエレメント
    8.1.15 Resources
    8.1.15.1 PreResources
    8.1.16 Valve
    8.1.16.1 Access Log Valve
    8.1.16.2 Extended Access Log Valve
    8.1.16.3 Remote Address Valve
    8.1.16.4 Remote Host Valve
    8.1.16.5 Remote IP Valve
    8.1.16.6 SSL Valve
    8.1.16.7 SingleSignOnValve
    8.1.16.8 Basic Authenticator Valve
    8.1.16.9 Digest Authenticator Valve
    8.1.16.10 Form Authenticator Valve
    8.1.16.11 SSL Authenticator Valve
    8.1.16.12 SPNEGO Valve
    8.1.16.13 Crawler Session Manager Valve
    8.1.16.14 Stuck Thread Detection Valve
    8.1.16.15 SemaphoreValve
    8.1.17 Cluster要素
    8.1.17.1 ClusterManager
    8.1.17.2 Channel
    8.1.17.3 Membership
    8.1.17.4 Sender
    8.1.17.5 Receiver
    8.1.17.6 Interceptor
    8.1.17.7 ClusterValve
    8.1.17.8 ClusterDeployer
    8.2 web.xml
    8.2.1 Filters
    8.2.1.1 Add Default Character Set Filter ― org.apache.catalina.filters.AddDefaultCharsetFilter
    8.2.1.2 CORS Filter ― org.apache.catalina.filters.CorsFilter
    8.2.1.3 CSRF Prevention Filter ― org.apache.catalina.filters.CsrfPreventionFilter
    8.2.1.4 Expires Filter ― org.apache.catalina.filters.ExpiresFilter
    8.2.1.5 Remote Address Filter ― org.apache.catalina.filters.RemoteAddrFilter
    8.2.1.6 Remote Host Filter ― org.apache.catalina.filters.RemoteHostFilter
    8.2.1.7 Remote IP Filter ― org.apache.catalina.filters.RemoteIpFilter
    8.2.1.8 Set Character Encoding Filter ― org.apache.catalina.filters.SetCharacterEncodingFilter
    8.3 システムプロパティ
    8.4 mod_jkコンフィグレーション
    8.4.1 workers.properties
    8.4.2 mod_jk.conf
    8.4.2.1 ログ関連コンフィグレーション
    8.4.2.2 Forwarding関連ディレクティブ(JkOptions)

    9章 マイグレーションガイド
    9.1 Tomcat7.0から8.0へのマイグレーション
    9.1.1 JavaAPI関連
    9.1.1.1 Java7必須
    9.1.1.2 非推奨API
    9.1.1.3 Servlet 3.1 API
    9.1.2 デフォルトコネクタ
    9.1.3 DBCPバージョンアップ
    9.1.4 Web Application Resources
    9.1.5 セッションID変更
    9.1.6 Debug用ポート
    9.1.7 内部APIの変更
    9.1.8 SessionIdGeneratorの追加
    9.1.9 CredentialHandlerの追加
    9.2 Tomcat6.0から7.0へのマイグレーション
    9.2.1 JavaAPI関連
    9.2.1.1 Java6必須
    9.2.1.2 非推奨API
    9.2.1.3 Servlet 3.0 API
    9.2.2 正規表現
    9.2.3 デプロイメント
    9.2.4 Managerアプリケーション
    9.2.5 Host Managerアプリケーション
    9.2.6 セッションマネージャコンフィグレーション
    9.2.7 Session Cookieコンフィグレーション
    9.2.8 Cookies
    9.2.9 Request属性
    9.2.10 Comet
    9.2.11 XMLバリデーション
    9.2.12 システムプロパティ
    9.2.13 conf/web.xmlファイル処理
    9.2.14 Welcomeファイル処理
    9.2.15 アノテーションスキャン
    9.2.16 TLD処理
    9.2.17 内部API
    9.2.18 JSPコンパイラ
    9.2.19 その他注意点
    9.2.19.1 コネクタとスレッドプール
    9.2.19.2 アクセスログ
    9.2.19.3 レルム
    9.2.19.4 セッションの最終アクセス時間
    9.2.19.5 ライフサイクルリスナ
    9.2.19.6 クラスタ
    9.2.19.7 Valve
    9.2.19.8 スレッドローカル削除
    9.2.19.9 クラスローダの優先順位

    10章 ソースコードリーディング
    10.1 ソースコードのダウンロード
    10.1.1 ソースコードの構成
    10.2 ソースコードからのビルド
    10.2.1 JDKのインストール
    10.2.2 Antのインストール
    10.2.3 Tomcatのビルド
    10.3 リモートデバッグ
    10.3.1 JPDAモードでのTomcat起動
    10.3.2 Eclipseによるリモートデバッグ
    10.3.3 パッケージの説明

    付録A Tomcatコミュニティ
    Apache Software Foundation(ASF)
    Tomcatコミュニティ

    索引

  • Tomcatの参考書と言えばこれ。
    辞書的に普段から活用している。

  • 良かった。コンフィグレーションの説明がもう少し丁寧に書かれていたら星5個。

全3件中 1 - 3件を表示
  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×