戻る


20081120 Tomcatのインストール (windows)
20090517_フォルダ構成
20090518_Tomcatのインストール(Ubuntu)
20091214_CentOSに_tomcatをインストール
20090627_Tomcatコンソール画面に入る方法
20090627_Tomcatを手動で起動する方法
20090627_デブロイの基本
20090723_コンテキストのリロードを行った時の_セッションの状況
20090726_コネクションプーリング
20090729_クラスの検索順序
20090920_Getパラメタが文字化け
20100111_tomcat向けのANTタスク
20100117_Eclipse_Tomcat_で_java.lang.ClassNotFoundException:_org.apache.catalina.loader.DevLoader


20081120 Tomcatのインストール(windows)

http://www.site-cooler.com/java/tomcat/
http://www.wings.msn.to/contents/env/jsp/tomcat_win.html
 の記述内容を参考にした

http://jakarta.apache.org/ のページからダウンロードする



今回は apache-tomcat-6.0.18.exe をダウンロードできた

 


Port番号:すでに、使われていたら、他の番号に変更する必要がある。
netstat -a コマンドで確認してみよう
Passwordは、UseNameと同じにしてみた


JVMがインストールされているフォルダが初期表示されているはず。


インストールが始まっている


この画面が表示されたら、インストールは成功

Finishを選択すると、英語のReadmeが表示されつつ、サービスがあがったようだ

サービスを見ると、Tomcatが追加されていた

 

http://localhost:8080/  で、Tomcatの画面が表示されれば、正常に動作している事になる。

表示されない時

IISが起動していないか?→ IISを止めてもダメ(T_T)


C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs  ココにlogがあるようなので、覗いてみた。
catalina.2008-11-20.log が、はき出されている。

警告: 参照の解決中に予測しない例外が発生しました
java.io.UnsupportedEncodingException: cp932

致命的: Exception processing Global JNDI Resources
javax.naming.NamingException: cp932

致命的: キー UserDatabase でユーザデータベースを検索中の例外です
javax.naming.NamingException: cp932

致命的: Catalina.start:
LifecycleException: キー UserDatabase でユーザデータベースコンポーネントが見つかりません
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:261)

こんなのが、たくさん出ている。

cp932 ってなんだ?→ MS ShiftJis の事のようだ

http://d.hatena.ne.jp/twhs/20080825/1219665889
これによると、 「cp932指定が混ざっていたら、utf-8に変更せよ」 となる。
さがしてみたら、cp932 指定がありました。

C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml

変更前    <?xml version='1.0' encoding='cp932'?>
変更後    <?xml version='1.0' encoding='utf-8'?>

変更後、Tomcatの再起動をしたら…無事表示されました


やっと出た(^^)

他のマシンから、参照できない時

アンチウィルスソフトのファイアーウォールの設定を確認せよ

Windows標準のファイアーフォールの設定を確認せよ

自分の場合は、Windows標準のファイアーフォールを有効にしていた。例外として8080を認めるように追加設定した

 


サンプルアプリケーションを表示してみよう

以下にあるモジュールがサンプルとして動作可能となっています
    C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\examples
 

http://localhost:8080/examples/


20090517 フォルダ構成

フォルダ名 役割
bin/ Tomcatのバイナリファイルが格納されます。起動開始のバッチファイルもこのディレクトリに含まれます。
common/ 実行に必要なJavaのclassファイルが格納されます。サーブレットのコンパイルに必要なライブラリ群も含まれています。
conf/ Tomcat全体の設定ファイルが格納されます。web.xmlや server.xmlという重要なファイルも含まれています。
logs/ ログの出力フォルダです
server/ サーブレットコンテナの実行に必要なプログラムが含まれています。
shared/ 必要に応じて、Webアプリケーションから利用するライブラリのJavaのclassファイルやjarファイルを配置します。
webapps/ Webアプリケーションのインストールディレクトリになります。
work/ 一時ファイルの保存に使われる。JSPが実行されるとき、初回にコンパイルされサーブレットとなったファイルは、ここに配置されます。

一般に 自分たちで作成したアプリは、webapps配下に展開されます


20090518 Tomcatのインストール(Ubuntu)

java6開発環境を入れるなら、以下のとおり

$ sudo apt-get install sun-java6-jdk


TABで <了解>に飛び、SPACE

環境変数 JAVA_HOMEを設定。
export JAVA_HOME=/usr/lib/jvm/java-6-sun/

Tomcat を入れてみる。このとき、tomcat6はリポジトリにまだ存在していなかったので、5.5をインストールしてみる

$ sudo apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps


20091214 CentOSに tomcatをインストール

http://www.kfactory.net/?p=1010

http://ytooyama.spaces.live.com/blog/cns!916D80FD288EB35A!412.entry

現在インストールされているjavaをみてみる

$ java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-46)

Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

古いので、削除する

# yum -y remove java-1.4.2-gcj-compat

Java1.5をインストールする

jdk-1_5_0_22-linux-i586-rpm.bin を SUNからダウンロードする

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter

# sh jdk-1_5_0_22-linux-i586-rpm.bin

すると、解凍されて、同一フォルダに jdk-1_5_0_22-linux-i586.rpm が展開される。
上記のコマンドだけで、インストールされるようだ

/usr/java 配下に展開される

シンボリックリンクを作成

# ln -sfn /usr/java/jdk1.5.0_22 /usr/java/jdk

環境変数に設定を追加

# vi /etc/profile
export JAVA_HOME=/usr/java/jdk
export JRE_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

一番最後の行に、追加しておく

PATH に $JAVA_HOME/bin を追加する際、注意する事がある。すでにjavaにPATHが通っている場合、それより先に書かないと、追加したパスのJAVAが有効にならない。
これで自分はハマッタので、先頭に追加している。

即座に反映させるために …

# source /etc/profile

 

Tomcat 5.5系をインストールする

# yum install tomcat5 tomcat5-admin-webapps tomcat5-webapps

使用するJDKの調整

TomCatをyumを使用して入れると、java6が一緒にはいってしまう。これを、自分で入れた1.5を使用するように調整する。

Tomcatと一緒に入ったjavaの在りか  /usr/lib/jvm/java

自分で入れたjavaの在りか   /usr/java/jdk

http://www.thinkit.co.jp/free/article/0708/2/5/

Tomcat側で、JDKの参照箇所を変更する。

/etc/tomcat5/tomcat5.conf

JAVA_HOME="/usr/lib/jvm/java"

         ↓

JAVA_HOME="/usr/java/jdk"

 

しかし、再起動させてみると、以下のエラーが表示されて、起動しない

Starting tomcat5: /usr/bin/rebuild-jar-repository: error: Could not find xml-commons-apis Java extension for this JVM

yum search xml-commons-apis で、検索をかけて、みつかるようなら、インストールすればよいらしい

インストール

[root@localhost ~]# yum install xml-commons-apis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: ftp.yz.yamagata-u.ac.jp
 * base: ftp.yz.yamagata-u.ac.jp
 * extras: ftp.yz.yamagata-u.ac.jp
 * updates: ftp.yz.yamagata-u.ac.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xml-commons-apis.i386 0:1.3.02-0.b2.7jpp.10 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================
 Package                   Arch          Version                      Repository     Size
==========================================================================================
Installing:
 xml-commons-apis          i386          1.3.02-0.b2.7jpp.10          base          334 k

Transaction Summary
==========================================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 334 k
Is this ok [y/N]: y
Downloading Packages:
xml-commons-apis-1.3.02-0.b2.7jpp.10.i386.rpm                      | 334 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : xml-commons-apis                                                   1/1
Installed:
  xml-commons-apis.i386 0:1.3.02-0.b2.7jpp.10
Complete!

http://d.hatena.ne.jp/deeeki/20090330/yumtomcat5error


webアプリの配置先は ここかな?
/var/lib/tomcat5/webapps

期待するJDKが使われているか、確認してみる

http://www.atmarkit.co.jp/fjava/rensai2/jspservlet07/jspsevlet07_3.html

上記に載っていたソースを、とりあえず、配置してみる

/usr/share/tomcat5/webapps/jsp-examples/property.jsp


1.5.0が使われている!


起動時のエラー対応

/etc/init.d/tomcat5 start  にて開始した時に、エラーが発生している

Starting tomcat5:
/usr/bin/rebuild-jar-repository: error: Could not find jdbc-stdext Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Could not find jndi Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm
/usr/bin/rebuild-jar-repository: error: Could not find jaas Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm
 

/usr/share/tomcat5/common/lib をのぞくと、シンボリックリンクが切れている

どこにあるか、検索してみた

# find / -name jndi.jar
/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/jndi.jar
/usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0/jndi.jar
/usr/lib/jvm-exports/java-1.4.2-gcj-1.4.2.0/jndi.jar

# find / -name jdbc-stdext.jar
/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/jdbc-stdext.jar
/usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0/jdbc-stdext.jar
/usr/lib/jvm-exports/java-1.4.2-gcj-1.4.2.0/jdbc-stdext.jar

[root@localhost java]# find / -name jaas.jar
/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/jaas.jar
/usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0/jaas.jar
/usr/lib/jvm-exports/java-1.4.2-gcj-1.4.2.0/jaas.jar
 

これらについて、1.6.0のものを、拝借する事にする

/usr/sbin/alternatives --config java


alternativesによるGCJとSun JDKの切り替え http://d.hatena.ne.jp/torutk/20090628/p2

元のところへシンボリックリンクを直接張るようにした

jndi
# ln -s  /usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0/jndi.jar  /usr/share/tomcat5/common/lib/[jndi].jar

jdbc-stdext.jar
# ln -s /usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0/jdbc-stdext.jar  /usr/share/tomcat5/common/lib/[jdbc-stdext].jar

jaas
# ln -s /usr/lib/jvm-exports/java-1.6.0-openjdk-1.6.0.0/jaas.jar /usr/share/tomcat5/server/lib/[jaas].jar

tomcat の再起動を試してみる

# /etc/init.d/tomcat5 restart

Starting tomcat5:
/usr/bin/rebuild-jar-repository: error: Could not find jdbc-stdext Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Could not find jndi Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm
/usr/bin/rebuild-jar-repository: error: Could not find jaas Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm

なんと、これでもダメ

この意味は /usr/bin/rebuild-jar-repository というプログラムが、jvm拡張用のjaasが 見つからない  という

さきほど、設定したのはexportsもの(alternatives)なので、実態のファイルをそのまま切ってみてもダメ

# ln -s  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/lib/dt.jar  /usr/share/tomcat5/common/lib/[jndi].jar


再び、同じエラーがでる

参考
http://www.thinkit.co.jp/cert/article/0708/2/6/3.htm

http://dev.ariel-networks.com/column/tech/yum_rpm


jdkを1.5系にすると、起動時のエラーが消えないので、別の方法で試してみる。yumを使わず、tarコマンドなどを用いて、自分で設定する方法である

 


起動/停止
/etc/init.d.tomcat5 start|stop|status|...

設定ファイル
/etc/tomcat5 配下


20090627 Tomcatコンソール画面に入る方法

Tomcatのコンソールに入ろうとすると、パスワードが要求される。そのパスワードは何か?

下記のところに、有益な情報が記述されていた

 

Eclipseから設定する事も可能なようだ。

Eclipseから設定した場合、tomcat-users.xmlに記述されるもよう。

格納されていない時は、手動で叩き込め!
http://www.javaroad.jp/opensource/js_tomcat1.htm


<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<user username="admin" password="admin" roles="manager"/>
</tomcat-users>


CentOSの場合

/usr/share/tomcat5/conf/tomcat-users.xml に同様のファイルがあり


20090627 Tomcatを手動で起動する方法

Windowsの話

このケースは、Eclipseの統合環境にはいっていたものを、Eclipseと関係なく、利用する事をイメージしている

コマンドプロンプトから、以下のコマンドをたたけば、起動する

D:\Eclipse\tomcat6.0\bin\startup.bat 

終了するときは

D:\Eclipse\tomcat6.0\bin\shutdown.bat

でOK

JAVA_HOME が 見つからないようなエラーが出た場合は
D:\Eclipse\tomcat6.0\bin\startup.bat の先頭に
set java_home=D:\Eclipse\jre1.6 などと、宣言すれば、良い

The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

これは、「環境変数CATALINA_HOMEが見つからない。実行するには必要だ」といっている
環境変数を定義するか、tomcat6.0 フォルダまで 移動してから実行する

 

D:\Eclipse\tomcat6.0\bin\startup.bat
set java_home=D:\Eclipse\jre1.6
cd /d D:\Eclipse\tomcat6.0\bin ←これを追加した


20090627 デブロイの基本

V6.0

他のフォルダに WEBアプリのフォルダ構成を作成しておき、それを 「配備」すると、
D:\Eclipse\tomcat6.0\webapps 配下に 配置される

「WARファイルの配備」は、
リモートのサーバーに配備するときに用いる


デブロイでエラーが表示された

FAIL - Failed to deploy application at context path /jaxrs_proto01_customer

ログに こんなエラーが表示されていた

情報: Server startup in 7706 ms
java.io.FileNotFoundException: D:\aaaDoing\20090508 ???????????μ???????????≫ ?
?????????????≫\07 JAXRS\tomcat??,????????????\jaxrs_proto01_customer (指定され たパスが見つかりません。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at org.apache.catalina.manager.ManagerServlet.copyInternal(ManagerServle
t.java:1636)
at org.apache.catalina.manager.ManagerServlet.copy(ManagerServlet.java:1
597)
at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java
:816)

やっぱり、漢字を含むファイルは無理か?

漢字を含んだURLを指定すると、[配備]は失敗する
英字のみのフォルダに移してから、配備せよ


管理メニューから index.html が 表示されない

index.html は、存在していか?

web.xml の urlマッピング

<url-pattern>/*</url-pattern>
このように、記述しているので、 /index.html も サーブレットに飛んでいるのではないか?

サーブレットが呼ばれるはずの、URLを打ち込んだら 表示されるか?

表示された つまり、基本的には動いている

まずは、web.xml に welcome 属性をつけてみよう

</servlet-mapping> よりも、下に付与

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

ダメ
<url-pattern>/*</url-pattern>
コッチの方が勝つ??

ならば

<url-pattern>/customer</url-pattern>
としてみよう

 


20090723 コンテキストのリロードを行った時の セッションの状況

TOMCATでリロードを行った場合、アプリからの見た目はどうなるのか?

セッションは破棄される

スタテックなメモリもクリアされる →シングルトンインスタンスも再生成される


20090726 コネクションプーリング

Tomcat Ver6.0
Eclipse 3.4


まずは、プーリングを行わないパターン

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ControlServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        String str="";

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection(
                    "jdbc:oracle:thin:@a50:1521:XE", "system", password);

            Statement stmt = con.createStatement();
            String sql = "SELECT 'abc' str FROM dual";
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                str = rs.getString("str");
                System.out.println(str);
            }
            stmt.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }


        resp.setContentType("Text/html");
        PrintWriter out = resp.getWriter();

        out.println("<html><head> ");
        out.println("<title>simpleHallowJava3</title> ");
        out.println("</head><body> ");
        out.println("<h1> ");
        out.println("simpleHallowJava3 <Br> ");
        out.println(new Date().toString());
        out.println("</h1> ");

        out.println(str);

        out.println("</body></html>");
    }

}

jdbcドライバは /WEB-INF/lib配下に配置


コネクションプーリングを使用するパターン

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class ControlServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        String str="";

        try {
            Context ctx = new InitialContext();
            DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle");
            Connection con = ds.getConnection();

            Statement stmt = con.createStatement();
            String sql = "SELECT 'def' str FROM dual";
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                str = rs.getString("str");
                System.out.println(str);
            }
            stmt.close();
            con.close();

        } catch (NamingException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        }


        resp.setContentType("Text/html");
        PrintWriter out = resp.getWriter();

        out.println("<html><head> ");
        out.println("<title>simpleHallowJava21</title> ");
        out.println("</head><body> ");

        out.println("<h1> ");
        out.println("simpleHallowJava3 <Br> ");
        out.println(new Date().toString());
        out.println("</h1> ");

        out.println(str);

        out.println("</body></html>");
    }

}

アプリケーション毎に設定する場合の設定ファイル

〜\tomcat6.0\conf\Catalina\localhost\simpleHallowJava3.xml

<Context path="/simpleHallowJava3" reloadable="true"
 docBase="\\・・・・・\simpleHallowJava3" 
 workDir="\\・・・・・\\simpleHallowJava3\work" >

    <Resource 
        name="jdbc/oracle" 
        auth="Container" 
        type="javax.sql.DataSource"
        factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@a50:1521:XE"
        username="system"
        password="password"
    />

</Context>

Tomcat全体で設定する場合

ソースファイルは同じ

〜\tomcat6.0\conf\context.xml に Resouceを追加

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context>

    <!-- 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" />
    -->


    <Resource 
        name="jdbc/oracle" 
        auth="Container" 
        type="javax.sql.DataSource"
        factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@a50:1521:XE"
        username="system"
        password="password"
    />


</Context>

maxActive="500"--最大接続数。
maxIdle="1"--アイドル中に残す接続数。0を指定すると無制限
maxWait="10000" --コネクションが空くまで何ミリ秒待つかの設定-1を指定すると無制限に待ちます。
 


20090729 クラスの検索順序

jakartaの公式サイトによると以下の通りです。

  1. $APP_HOME/WEB-INF/classes 以下
  2. $APP_HOME/WEB-INF/lib/*.jar
  3. 環境変数CLASSPATH 以下
  4. $TOMCAT_HOME/common/classes 以下
  5. $TOMCAT_HOME/common/endorsed/*.jar
  6. $TOMCAT_HOME/common/lib/*.jar
  7. $TOMCAT_HOME/shared/classes 以下
  8. $TOMCAT_HOME/shared/lib/*.jar

クラスファイルは上から順に検索されます。


20090920 Getパラメタが文字化け

現象

日本語をパラメータで送り込む時、Postメソッドでは正しく送信されるのに、Getメソッドでは正しく送られないときがあった。

原因

Tomcat5.5系において。エンコーディングの設定優先順位が変更されたかららしい。

FORMのGETメソッドでパラメータを送信した場合、setCharacterEncodingメソッドを無視する。POSTメソッドの場合は有効。

対処

server.xmlファイルの<connector>タグのuseBodyEncodingForURI属性をtrueに指定することで、setCharacterEncodingメソッドを有効にできる。

<Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true" 
           useBodyEncodingForURI="true" />

20100111 tomcat向けのANTタスク

 

http://www.javaroad.jp/opensource/js_ant3.htm

 


20100117 Eclipse Tomcat で java.lang.ClassNotFoundException: org.apache.catalina.loader.DevLoader

開発用クラスローダを用いたならば、自分で zipを展開して クラスパスに配置する必要がある

../eclipse/eclipse_index.html#20100117_開発用クラスローダを使う時の注意



 

戻る