スポンサード リンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサード リンク
-- : -- : -- | スポンサー広告 | page top↑
スポンサード リンク

Tomcat6.0はinvokerを有効にするために特権を与える必要がある

Tomcatでinvokerサーブレットを有効にするためには、「C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf」にあるweb.xmlから以下の2箇所のコメントアウトを外すようにと参考書やWebの解説ページには書かれています。

しかし、指示通りにコメントアウトを外してTomcatを再起動すると、「java.lang.SecurityException: クラス org.apache.catalina.servlets.InvokerServlet のサーブレットは特権を与えられているので、このWebアプリケーションによってロードできません」とエラーが出てTomcatの起動に失敗します。

1箇所目
<!--
    <servlet>
        <servlet-name>invoker</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.InvokerServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
-->
2箇所目
<!--
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
-->
Tomcatのエラーメッセージ
2008/12/02 23:36:58 org.apache.catalina.startup.HostConfig deployDescriptor
致命的: 設定記述子 basic.xml を配備中のエラーです
java.lang.SecurityException: クラス org.apache.catalina.servlets.InvokerServlet のサーブレットは特権を与えられているので、このWebアプリケーションによってロードできません
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1145)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

これを解決するためには、「C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf」にあるcontext.xmlに「privileged="true"」という属性をContextタグに追加する必要があります。これで、Tomcatが正常に起動し、invokerが有効になります。

<Context privileged="true">

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
	
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->

</Context>
Tomcatハンドブック 第2版Tomcatハンドブック 第2版
村上 雅章

オライリージャパン 2008-11-21
売り上げランキング : 7603

Amazonで詳しく見る
by G-Tools
基礎からのサーブレット/JSP 改訂版 (プログラマの種シリーズ)基礎からのサーブレット/JSP 改訂版 (プログラマの種シリーズ)
宮本 信二

ソフトバンククリエイティブ 2007-03-01
売り上げランキング : 60743
おすすめ平均

Amazonで詳しく見る
by G-Tools

スポンサード リンク

テーマ:プログラミング - ジャンル:コンピュータ - ソーシャルブックマーク: この記事をクリップ! Yahoo!ブックマークに登録

00 : 15 : 00 | プログラミング-Java | トラックバック(0) | コメント(2) | page top↑
<<PowerPoint 2003では取り消し線を引けない | ホーム | catコマンドを作ってみた>>
コメント
僕も1987生まれです。
非常に助かりました。
very Thanks.
by: 埼玉に住む大学生 * 2009/02/24 19:23 * URL [ 編集] | page top↑

>埼玉に住む大学生さん

私の書いた記事がお役に立てたのでしたら幸いです。
by: TBVector * 2009/02/26 17:20 * URL [ 編集] | page top↑

コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://networkprogramming.blog18.fc2.com/tb.php/108-0743d6e6
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |

プロフィール

TBVector

Author:TBVector

プロフィール

メールフォーム

記事検索

Google

最近の記事

人気の記事

過去の記事

カテゴリー

タグランキング

リンク

最近のコメント

最近のトラックバック

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。