本書は根強い人気を誇るJavaアプリケーションサーバ、Tomcatについて解説したものです。日本人唯一のTomcat PMC(プロジェクト管理委員会)メンバーであり、アクティブコミッタである藤野圭一氏による執筆で、Tomcatの機能や使い方についてだけでなく、アーキテクチャについても踏み込んで詳しく解説することで、さらに深い理解を促し、中上級者が自分で機能を拡張してカスタマイズできるような情報も提供します。最新バージョンTomcat 8に対応した唯一無二の書籍です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。 第2刷正誤表 ※
Tomcat を 5.5.27 にバージョンアップすると 一部の JSP で以下のようなエラーが出るようになりました。 Attribute value "~" is quoted with " which must be escaped when used within the value ... どうやら Tomcat5.5.27 から JSP のスクリプトレットなどの中でクォートを使用する際にエスケープが必要になったようです。 そのため、既存の JSP の中にクォートをエスケープしていないものがあった場合、上記のようなエラーが発生するようです。 このエラーを解消するには、JSP ファイルを修正するのが筋ですが、既に稼働中のシステムについては、修正とテストにかなりの労力を必要とする上に、修正ミスによって不具合が発生するリスクもあります。 幸いなことに、このエラーは、システムプロパティ o
タイトルのエラーが$TOMCAT_HOME/logs/catalina.outに出力されスレッドが終了していた。。 このエラーのケツに注目。 これがPermGen spaceではなくJava Heap Spaceと出ればjavaのヒープ領域が不足し、 Out of Memoryエラーが起きてスレッドが終了していたと考えられる。 ヒープ領域が不足した場合はTomcatプロセスに割り当てられるOSが許す最大のメモリ領域 を指すので不足しているということはプログラムがメモリを開放させるよう組まれていないか、 メモリにゴミがたまりやすいよう設計されていないかなどプログラムを疑うことができます。 しかし、今回のばやい、PermGen spaceなのでこれは非ヒープ領域です。 じゃあこの領域はなんなんでしょう? それはPermanent領域と言って主にJavaクラスのメタ情報が格納されます。 単純なプ
Like many server applications, Tomcat installs a variety of class loaders (that is, classes that implement java.lang.ClassLoader) to allow different portions of the container, and the web applications running on the container, to have access to different repositories of available classes and resources. This mechanism is used to provide the functionality defined in the Servlet Specification, versio
クラスロード順 Bootstrap | System | Common | | Webapp1 Webapp2 ... Tomcatのドキュメントには? 記のようなクラスローダの読み込み優先順位が示されています。ここで注? しなければならないのは、ロードする順とアプリケーションがクラスファイルを優先利用する順は異なるということです。まず「Bootstrap classes of your JVM」「System class loader classses」ぜ JavaやTomcatのメタクラスなので? からロードされるクラスで? 書き出来ません(これを回避する「-Djava.endorsed.dirs」オプションも存在する)。しかし、個々のアプリケーション内でのみ利用可能な「WEB-INF」配下のクラスは、$CATALINA_HOME/$CATALINA_BASE配下のクラスよりも優先して
Tomcat 7も対応したServlet 3.0の変更点 後編:Tomcat 7の新機能で何ができるようになるのか?(2)(3/3 ページ) JSESSION Cookieの設定による「Session Tracking」 Servlet 3.0では、JSESSION Cookieの設定が新たに定義されました。 「JSESSION Cookie」とはクライアント(Webブラウザなど)とTomcat間でセッションを維持する際に利用される、名前が「JSESSION」で値がセッションIDの特別なCookieです。 Tomcat 6でもシステムプロパティやserver.xmlの設定などで一部を設定変更できましたが、Tomcat 7では、より柔軟に標準の方法でJSESSION Cookieの設定ができるようになりました。 JSESSION Cookieを設定するにはweb.xmlを利用する方法と、ja
読んでます。 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 作者: 徳丸浩出版社/メーカー: SBクリエイティブ発売日: 2011/03/01メディア: 単行本購入: 119人 クリック: 4,283回この商品を含むブログ (146件) を見る まだ途中だけど、主にJava/Tomcatユーザとしての備忘メモ。ただし、セキュリティの専門家でも何でもないので間違いは大いにあると思われます。 HttpOnly 属性の指定(p.103) Tomcat では、Tomcat7以降(Servlet 3.0以降)なら単純に web.xml か web-fragment.xml に <session-config> <cookie-config> <http-only>true</http-only> </cookie-config> </session-confi
Tomcat6でちょっとしたログ出力がしたくなったのですが、log4jまでは組み込む必要がなかったので、ほかに何か簡単なログ出力方法がないか調べてみたところ、ServletContextのlogメソッドでできることがわかりました。 [Javaソース側] ======================= log("ログ出力文字列"); ======================= [conf/server.xml] ======================= <Context path="/test" docBase="test" reloadable="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="test" suffix=".log" timestamp="true" /> </Con
【真夏の夜のミステリー】Tomcatを殺したのは誰だ?:現場から学ぶWebアプリ開発のトラブルハック(6)(1/3 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) 【第1章】Tomcatが無応答!? トラフィックの多い大規模サイトでは、その負荷のためにさまざまな問題が発生する。それらの問題を回避するには、性能を考慮して作られたアプリケーションや、ノウハウに基づいたミドルウェアのチューニングが必要となる。 TomcatはServletコンテナとしての長い歴史を持ち、多くの採用実績を持つオープンソースのアプリケーションサーバ(以下、APサーバ)だ。大規模なサイトで採用される事例も出てきており、To
This describes the Apache JServ Protocol version 1.3 (hereafter ajp13). There is, apparently, no current documentation of how the protocol works. This document is an attempt to remedy that, in order to make life easier for maintainers of mod_jk, and for anyone who wants to port the protocol somewhere (into jakarta 4.x, for example). Who Am I? I am not one of the designers of this protocol -- I bel
[Java]antでtomcatにdeployする March 30th, 2010 Posted in Uncategorized Write comment ということで、antを使ってtomcatにデプロイを行う。 準備: catalina-ant.jarを”antlib”に設置。 以下をbuild.xmlに追加。 <property file="build.properties"/> <!-- define tomcat task --> <path id="tomcat.tasks.classpath" path="antlib/catalina-ant.jar"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="tomcat.tasks.class
Eclipse Tips Eclipse のメモとか Eclipse のエディタで矩形選択(箱形選択・ブロック選択)をする エディタ部で“Alt + Shift + A”で矩形選択が出来る(Eclipse 3.5 で確認)。 “Alt + Shift + A”で箱形選択モードになるので、Shift+矢印 or マウスのドラッグで選択をする。再度“Alt + Shift + A”で通常に戻る。 Eclipse の比較で空白の違いを無視する ソースのインデントがスペースだったりタブだったり、インデントのレベルが違ったり、ソースのフォーマット(整形)を行うと、比較エディタで差が大量にでる。 こういった空白等の差異による違いを無視させる場合は、[ウィンドウ]-[設定]で設定画面を開き、[一般]-[比較/パッチ]の[一般]タブの「空白を無視」にチェックを入れる。 ちなみに、比較エディタは、SVNやC
Tomcat5には、標準でクラスタリング機能が付いています。 クラスタリングとは、簡単に言えば複数のサーバを同時に動かす技術のことです。 ただし、外部からはあたかも単一のサーバにアクセスしているような動作をします。 これによって、一つのサーバがダウンしてもシステムは正常に動作することが保証されます。 さらに、サーバを増やすことによって簡単にシステムパフォーマンスを上げることが出来ます。 今回はこの機能について調べてみます。 ちなみに、クラスタリング機能を使うにはJDK1.4以上が必要になります。 複数のTomcatを同一マシン上で起動する 本来、クラスタリング機能の各サーバ(ノードと呼ばれる)は 別々のマシン上で動作するものですが、ここでは説明を簡単にするために 同一マシン(さらに同一ディレクトリ)から2つのTomcatを起動することにします。 今回使用したのはTomcat5.0.27(W
事前準備 Tomcat向けAntタスクを使用するために、以下の設定をします。 catalina-ant.jarファイルの設置 $CATALINA_HOME\server\libディレクトリ配下にあるcatalina-ant.jarを$ANT_HOME\libディレクトリ配下に設置します。 ID、Passwordの設定 Web Application ManagerにログインするためのID、Passwordを設定します。ID、Passwordはmanagerロールに属している必要があります。デフォルトの設定では$CATALINA_HOME\confディレクトリ配下のtomcat-users.xmlに以下の設定をします。 tomcat-users.xml <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename-"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く