- PR -

POSTしたリクエストデータが1,2バイト欠落する(Apache+Tomcat+JK2)

1
投稿者投稿内容
まさ
会議室デビュー日: 2003/09/17
投稿数: 1
投稿日時: 2003-09-17 14:46
初めて投稿します。よろしくお願いします。

表題のとおり、Apache+Tomcat+JK2の環境にて、POSTされたリクエスト
データが欠落してしまうという現象に悩んでおります。

詳細に状況を説明しますと、HTMLからJavaのサーブレットにPOSTしたデータ
が、8187バイト(Content-length=8187)の時には1バイト、8188バイトの時には
2バイト、リクエストデータの最後のデータが欠落してしまいます。8187バイト
未満及び8189バイト以上の場合はデータの欠落を起こすことなく、正しく
リクエストデータを取得することができます。

現象確認用に作成したサーブレットでは、getParameterNames()でリクエスト
データ名を取得し、getParameterValues()でリクエストデータを取得し
HTMLに出力して画面表示にて確認しています。

なおTomcatに直接リクエストを送った(ポート番号8080でアクセス)場合は
上記現象が起きません。

原因調査のための環境は以下のとおりです。
J2SDK1.4.0_02
Apache2.0.43
Tomcat4.1.24
mod_jk2-2.0.43.dll
Windows2000 Professional

全てバイナリからインストールを行い設定は必要最小限行っています。

$APACHE_HOME=c:/usr/local/apache2
$TOMCAT_HOME=c:/usr/local/tomcat 4.1
サーブレットのDeploy場所=$TOMCAT_HOME/webapps/test/

-- $TOMCAT_HOME/webapps/test/WEB-INF/web.xmlの内容
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>LongRequest</servlet-name>
<servlet-class>LongRequestTestServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LongRequest</servlet-name>
<url-pattern>/LongRequest</url-pattern>
</servlet-mapping>
</web-app>

-- $APACHE/conf/httpd.confに追加した内容
LoadModule jk2_module modules/mod_jk2.dll

-- $APACHE/conf/workers2.propertiesの内容
[status:]
[uri:/jkstatus/*]
group=status:
[shm:]
disabled=1
[channel.socket:]
[ajp13:]
[uri:/examples/*]
[uri:/admin/*]
[uri:/manager/*]
[uri:/test/*]

上記現象について対処方法等知ってらっしゃる方ご教授お願いします。
1

スキルアップ/キャリアアップ(JOB@IT)