Header Ads

TomcatとWebLogicの設定

TomcatでWebLogic向けにシステム開発していると、
設定の違いで問題が発生したりします

Tomcatでは問題がなくてWebLogicで問題になる
またはその逆のケースです


TomcatはServer.xmlやWeb.xml、
WebLogicはWeb管理コンソールで行います


●JSPコンパイル時にJavaのメソッド64KB制限に対応
※TomcatとWebLogicでJSPコンパイラが異なるので同じ設定には出来ない
※またWebLogicはここで示すTomcatの設定の様なJSPコンパイル時の最適化を
 デフォルトで行ってる様で、そもそも設定がない

こんなエラーが出る

An error occurred at line: [79] in the generated java file: [filepath]
The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

TomcatのWeb.xml

・genStringAsCharArray (default : false)
→文字リテラルを_jspServiceメソッドの外に定義する
→static char[]で定義される
→これを指定すればmappedfileの効果も得られる

・mappedfile (default : true)
→行ごとにout.writeせずに、次のスクリプトレットが出るまで一つにまとめる
→genStringAsCharArrayの一部の効果と効果重複

・trimSpaces (default : false)
→余分なスペース、タブ、改行を削除する

WebLogicの場合
※設定がないので…

・ リファクタリングを行う

・JSPを切り出して別JSPにしてインクルードして読み込む


●POSTサイズを無制限
※サーバー攻撃に対して弱くなるので、公開サーバで無制限とするのは控えるべき

TomcatのServer.xml
使用しているConnectorタグに、maxPostSize="-1"(デフォルト2MBの模様)を追加
またPOSTパラメータ数の制限もあるので
maxParameterCount="-1"(デフォルト10,000)を追加
※hashdos攻撃対策の為らしいので、あくまで開発のための設定

WebLogicはPOSTサイズだけの様であるのでそこに"-1"を設定


●レスポンスの圧縮設定
※本稿ではAPサーバーの設定としているが、
 Webサーバーでも出来る様なのでそちらで設定すべきかと思われる

Tomcatに比べてWebLogicは遅めの対応
※WebLogic12c(12.1.3)では未対応で(12.2.1)からの対応となる

レスポンスを圧縮する事でネットワークトラフィックを少なくする事ができる

TomcatはServer.xmlの使用している対象Connectorタグに

・compression="on"を設定

しかし、圧縮と解凍が行われるようになるので、常に行っていると逆に遅くなると言う現象が想定される

その為、とあるサイズを超えたら圧縮すると言う設定が出来る様だ

TomcatはServer.xmlの使用している対象Connectorタグに

・compressionMinSize="2048"に任意の値(KB)を設定(デフォルト2048KB)


WebLogicではWeb管理コンソールの「構成」→「Webアプリケーション」で、

・GZIP圧縮有効(デフォルト無効)

・GZIP圧縮の最小コンテンツ長(デフォルト2048KB)

・GZIP圧縮のコンテンツ・タイプ(デフォルトtext/html, text/xml, text/plain)



0 件のコメント

最新投稿

議論と論理と感情論

議論を行う際に、なぜ論理的に議論を進めないのだろうか? なぜ感情論で議論するのだろうか? 感情のぶつかり合いになったら、感情が落ち着くまで本質のない無意味な議論が展開されるとは思わないのだろうか? 感情さえ折り合いがつけば内容はどうでも良いのだろうか? 感情と内容が伴ってこそ議論...