タグ

JSPとservletに関するpoad1010のブックマーク (2)

  • BytemanによるJava黒魔術 - nekop's blog

    クリスマスも近いですね。さて、クリスマスといえばどういうわけか黒魔術への需要が一気に高まる時期のようですので、Java Advent Calendar -ja 2010の12月20日はJavaの黒魔術をお送りします。昨日はid:celitanでした。 今日紹介する黒魔術はバイトコードインジェクションツールであるBytemanです。 この前ですね、お仕事で「HTTPレスポンスのヘッダが勝手に想定外のものに書き換わる」という不思議現象の相談を受けたんですね。Servletの中ではsetHeader("Foo", "bar")ってしてるのに、実際のレスポンスは"Foo: hoge"とか返ってる。アプリのJavaソース調べてもそんなことしてなさそうだし、Tomcatのソース見てもsetHeader()呼び出しでは何のログも出さないっぽいのでログを有効にしても原因がわからなさそう。なんだこれはとか思

    BytemanによるJava黒魔術 - nekop's blog
  • @IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意

    今回のワンポイント コードのロジックに誤りを見つけられないのに、どうも正しく動作してくれない。このようなケースでは、マルチスレッドの影響を疑うべきだ。ServletやJSPはマルチスレッドで動作している(明示的にシングルスレッドで動作させることも可能だが)。そのため、変数の扱いに注意しないと、スレッドごとに値が書き換えられ、プログラムが正しく動作しない要因となる。 マルチスレッドのいたずら 機能確認の試験中は問題なかったのに、複数の端末から負荷をかけてみたらどうしたことか期待どおりに動作しない。プログラムを調査してみても原因が分からなくて途方に暮れる。こんな状況をさまざまなプロジェクトで何度も見掛けてきた。こういう状況になったら、プログラムがスレッドセーフ(複数のスレッドから同時にアクセスされても動作を保証された状態)かどうかを疑ってみることをお勧めする。 マルチスレッドに関する問題は、さ

    @IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意
  • 1