設定の違いで問題が発生したりします
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サーバーでも出来る様なのでそちらで設定すべきかと思われる
※本稿ではAPサーバーの設定としているが、
Webサーバーでも出来る様なのでそちらで設定すべきかと思われる
Tomcatに比べてWebLogicは遅めの対応
※WebLogic12c(12.1.3)では未対応で(12.2.1)からの対応となる
※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)
TomcatはServer.xmlの使用している対象Connectorタグに
・compressionMinSize="2048"に任意の値(KB)を設定(デフォルト2048KB)
WebLogicではWeb管理コンソールの「構成」→「Webアプリケーション」で、
・GZIP圧縮有効(デフォルト無効)
・GZIP圧縮の最小コンテンツ長(デフォルト2048KB)
・GZIP圧縮のコンテンツ・タイプ(デフォルトtext/html, text/xml, text/plain)
0 件のコメント