logo

サイト内検索
ココログ最強検索 by 暴想

最近のトラックバック

無料ブログはココログ

« Struts関連 | トップページ | postgresql関連 »

Tomcat関連

Tomcat関連

Tomcatの起動がかなり遅くなる。

原因
javaのソースの中でデバックポイントをおいた所がコメントアウトになっている。
対策
デバックをはずせば問題なしです。

Tomcat単独では起動できるのに、EclipseのTomcatプラグインからは起動できない

メッセージ:
   致命的:Begin event threw exception
      java.lang.ClassNotFoundException: org.apache.catarina.core.StanderdServer

原因
Tomcat単独で起動できるのに、Eclipseからは起動できないのは、CLASSPATHが多すぎる場合とか、既に起動させている場合に発生する。(だったらClassNotFoundExceptionじゃないよ!)
対策
『[設定]-[Tomcat]でJavaプロジェクトをTomcatのクラスパスに追加する』にチェックしていないか確認する。

致命的:Perse Error at line xx column xx:と表示されるが、Tomcatは起動する。

メッセージ:
    致命的:Perse Error at line xx column xx:
      The content of element type "web-xml" must match"(icon?,……,ejb-localref*)".

原因
xml(この場合web-xml)記述の出現順序が指定順序になっていない。
対策
要素の種類毎に並べる必要がある。この順序は(エラーに表示されているが)DTDに定義されている。

「web-app_2_3.dtd」を見ると

<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, filter*, filter-mapping*, listener*, servlet*,
servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
login-config?, security-role*, env-entry*, ejb-ref*,  ejb-local-ref*)>

となっている。このときは「servlet*,とservlet-mapping*,」が混在していた。



JSPの表示で"~"が"?"に文字化けする。

原因1
J2SDK1.4.1以上からcharsetの解釈が変わり、pageディレクティブにcharset=Shift_JISとすると文字化けが一部の文字に起こる。
対処方法1.1
JSPのcharset指定を以下のようにMS932にする。

server/ <%@ page contentType="text/html;charset=MS932" buffer="64kb" %>

対処方法1.2
tomcatのサンプルで提供されているSetCharacterEncodingFilterを使用し、web.xmlにて以下のようなパラメーターを設定する。

<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>MS932</param-value>
    </init-param>
</filter>

追記
MS932指定によって解消される文字化けは、「~∥-¢£¬」や機種依存文字(①、㈱、№、Ⅱなど)ですが、Oracle使用時は「~」の文字化けが解消されません。

これを解決するためには、Oracleの環境変数を変えるしかないようです。

http://biz.rivus.jp/guidlines.html#p23ffa09



jstl formatタグ使用時等、response.setLocaleでlocal jaをセットすると文字化けする

原因1
Tomcatの4.1のlocaleとcharsetのディフォルトの対応がja=Shift_JISとなっているため。
対処方法
Tomcatのserver/classes/org/apache/catalina/util/にCharsetMapperDefault.propertiesを以下の内容で保存する。
ja=Windows-31J

なお、Tomcat5 (JSP 2.4)からは、web.xml内にlocale-encoding-mapping-listという指定が可能になり、ここでlocaleとcharset関係を指定可能

追記
サーバー依存なので、サーバー側設定が特定できない限り使用を控えます(西)。



JSPの日本語の表示が激しく文字化けする。

原因1
ブラウザーのエンコードの自動指定がシフトJISにならないから。
対処方法1.1
JSPに以下の指定を追加する。

<meta content="text/html; charset=Shift_JIS" http-equiv="Content-Type" />




JSPの日本語の表示が激しく文字化けする。(JSPのコンパイル時点で化けている)

原因1
TomcatのjavaEncodingの指定が無い
対処方法1.1
Tomcatのconfディレクトリーのweb.xmlに以下のservlet要素を追加

<servlet>
   <servlet-name>jsp</servlet-name>
   <servlet-class> org.apache.jasper.servlet.JspServlet </servlet-class>
      :
   <init-param>
      <param-name>javaEncoding</param-name>
      <param-value>MS932</param-value>
   </init-param>
      :
</servlet>

« Struts関連 | トップページ | postgresql関連 »

エラー対処方法集」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1482716/39211848

この記事へのトラックバック一覧です: Tomcat関連:

« Struts関連 | トップページ | postgresql関連 »