結論から言うと、原因はJSPの中のjavascriptで、HTMLリクエストパラメータを全角文字などもそのまま送信していたのが原因でした。
これまで、全角文字もそのまま送信していて問題はおきなかったのは、ブラウザ側あるいはtomcat?でうまく処理していてくれたためと思う。
tomcatあるいはjavaあたりをアップデートした影響で、URLエンコードしてない影響がIE11にだけ現れたようだ。このへんの関係を発見するまで時間がかかった。
400エラーが出るのは、IE11だけである。chromeやEdgeでは特に問題は起こってない。
encodeURIにより、URLエンコードするだけで問題が解決した。デコードはとくにしなくても、だいじょうぶなようだ。ネットで検索しても、こういった症状が出てこなかったのは、基本的ミスだったからともいえる。
***************解決までの流れ
①Ubuntuサーバで、突然、IE11を使ったとき、全角のファイル名のときだけ、ダウンロードできなくなる。400エラーが出る。
②Vmware内の古いUbuntuサーバについては問題ない。試しにapt-get update
すると、同じ症状が出る。原因はtomcatかjavaの影響?IE11との相性?いずれか、と考えた。
ネットでは、IE11のUserAgentの文字がTridentに変わったことが、出ていたので対応させてみた。
でも、これとは無関係だった。しばらく解決策がみつからない。
③他のリクエストパラメータを使うGETのところで、同じ症状(400エラー)が出ることを発見。
④③よりひょっとして、URLエンコードしていないのが原因でないかと疑う。試しにエンコードするように修正したら解決した。
※原因を見つけるには、試行錯誤しながら、考えるしかないようだ。
2017年1月29日日曜日
2017年1月24日火曜日
ポップアップ アラームを職場で
職場でPCにソフトをインストールするのはいろいろ制限もあるので
インストール無しで ポップアップアラームを使う方法を調べてみた。
VBSスクリプトを使う方法があり、参考になりました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11134557286
タスクスケジューラで、起動するようにしておけばOkです。
ただ、他のソフトを使用中でも、最前面にポップアップ画面を出したいので
インストール無しで ポップアップアラームを使う方法を調べてみた。
VBSスクリプトを使う方法があり、参考になりました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11134557286
タスクスケジューラで、起動するようにしておけばOkです。
ただ、他のソフトを使用中でも、最前面にポップアップ画面を出したいので
MsgBox "○○の時間です",vbSystemModal,"タスクスケジューラ"
のようにするといいようです。
あとは、タスクスケジューラの時刻設定の手間は若干ありますが、許容範囲かと。
いくつか、よくつかうvbsスクリプトを登録しておいて、時刻だけ書き換えて使いまわせばOkでしょう。
2017年1月21日土曜日
netcommons3
netcommons3を入れてみた。
phpの設定では
C:\xampp\htdocs\NetCommons3\app\Console\cake.batの中では
C:\xampp\php\php.exe -q "%lib%cake.php" -working "%CD% " %*
とする必要がある。
すでに入れてあるmsyql5.6を使おうとするが、なかなかうまくいかない。
sql_modeがSTRICT_TRANS_TABLESだと正常に動作しないということらしい。
一時的にset sql_mode="";コマンドで、空白にしてみる。
Mysqlのパスが、xamppとは違うので
C:\xampp\apache\conf\extra¥httpd-xampp.confの中で
SetEnv MYSQL_HOME "\\Program Files\\MySQL\\MySQL Server 5.6\\bin"
としてみたが、これでもだめ。
mysqlで
再度,
set session sql_mode="";
set global sql_mode="";
としてみたら、うまくインストールできた。(set session ~だけではだめで、set global ~でやっとうまくいく)
このへんは、ネットで見てもよくわからない。なぜか、my.iniの設定が反映されなかったため
このような試行錯誤状態になってしまった。CMSのインストールも、ちょっとしたバージョンのずれで、大変なようだ。
phpの設定では
C:\xampp\htdocs\NetCommons3\app\Console\cake.batの中では
C:\xampp\php\php.exe -q "%lib%cake.php" -working "%CD% " %*
とする必要がある。
すでに入れてあるmsyql5.6を使おうとするが、なかなかうまくいかない。
sql_modeがSTRICT_TRANS_TABLESだと正常に動作しないということらしい。
一時的にset sql_mode="";コマンドで、空白にしてみる。
Mysqlのパスが、xamppとは違うので
C:\xampp\apache\conf\extra¥httpd-xampp.confの中で
SetEnv MYSQL_HOME "\\Program Files\\MySQL\\MySQL Server 5.6\\bin"
としてみたが、これでもだめ。
mysqlで
再度,
set session sql_mode="";
set global sql_mode="";
としてみたら、うまくインストールできた。(set session ~だけではだめで、set global ~でやっとうまくいく)
このへんは、ネットで見てもよくわからない。なぜか、my.iniの設定が反映されなかったため
このような試行錯誤状態になってしまった。CMSのインストールも、ちょっとしたバージョンのずれで、大変なようだ。
登録:
投稿 (Atom)