BLOGTIMES
» ArchiveList (Tag for "winstone" )
«Prev || 1 · | Next»
2007/09/02

Winstoneで日本語のHTMLを表示する

winstone  charset 

Winstoneの簡易ウェブサーバー機能で日本語を表示させようとすると、Content-TypeヘッダがContent-Type:text/html; charset=iso-8859-1となっているために文字化けしてしまいます。いつもこれの解決方法を忘れて、ことあるたびに何度かはまっているのでメモ。

文字化けの発生メカニズム

ソースを見ると分かりますが、この簡易ウェブサーバーの実体はwinstone.StaticResourceServletというServletで実装されています。これはwinstone本体に組み込まれていて、指定されたURLがServletやJSPにマッピングできないときにデフォルトでこのServletを呼び出すようになっています。このサーブレットは該当のファイル名からContent-Typeを決定するようになっているのですが、文字コードについては考慮されていません。

文字コードを設定していない場合、winstoneのHttpServletRequestやHttpServletResponseの実装はiso-8859-1であると仮定してしまう*1ので、前述のようなContent-Typeが出力されて、ブラウザ側で文字化けが発生してしまうようです。

[Winstoneで日本語のHTMLを表示する の続きを読む]
  • *1: このあたりはServletのSpecでそうなっているのかな(未確認)

at 22:04 |
2007/09/01

Winstoneがv0.9になってた

winstone 

忙しくてすっかりウォッチし忘れていたのですが、軽量サーブレットコンテナのWinstoneがバージョンアップしてv0.9になっていました。

Winstone Servlet Container

New features in v0.9:
* Added Servlet v2.5 spec support. Please note that the annotations support mentioned in the spec is only for J2EE compliant containers, and Winstone is deliberately only JSR154 compliant. The adding of v2.5 support was purely driven by a requirement in the API license, so except for a bit of syntactic sugar in the web.xml and spec clarifications, this isn't really a big deal. Also, while the new spec mandates JDK1.5 or better, winstone should still work with a JDK1.2+ JVM.
* Added Session persistence across reboots. The best thing about winstone (I find) is it's startup time, but restarts are a pain if you have to rebuild a session in order to get to a page you're working on. By adding --useSavedSessions to the startup args, you'll enable the feature. See below for more.
* A lot of session and forwarding related fixes - thanks to Martin Cordova and Robert Boyce for pointing these out. These have been bugging me for some time, but having people give you reproducible examples of error cases is often all it takes to fix a long standing problem, and these guys were crucial in providing that.
* A change is JSP deployment requirements. If you use JSPs, please see below.
* AJP connector now apparently works with IIS. Many thanks to Cory Osborn for finding these problems and then debugging and fixing them single-handedly.
* Some classloading changes that should isolate classloading in webapps from each other more thoroughly.

主な変更点はServlet 2.5サポートと、セッション永続化のサポート、セッション、フォワーディング周りのfix、JSP利用方法の変更、AJPによるIISサポート、クラスローダーの変更といったところのようです。

[Winstoneがv0.9になってた の続きを読む]

    at 21:31 |
    2007/04/16

    Winstone用のEclipseプラグイン「WebLaunchder」

    winstone 

    Seasar-userに「JavaによるWebサーバ起動停止を行う為のeclipseプラグインWebLaunchcerをリリースします。現在対応しているWebサーバはWinstoneのみです。」というメールが流れていたので驚いていろいろと調べてみました。

    設計と実装の狭間で。 - WebLaunchder 0.0.2 リリース

    マニア向け軽量サーブレットコンテナWinstoneを起動出来るeclipseプラグインWebLauncher0.0.2をリリースしました。昨日。

    使い方は0.0.1リリースのほうに詳しく書いてあります。Winstoneを使って開発するときはEclipseと別窓でDOSプロンプトを使っているんですが*1、常々「TomcatプラグインのようにEclipseから一発起動できたら便利なんだけどなぁ」と思っていましたが、そんなプラグインがリリースされてましたよ。

    早速、本人にURLを教えてあげました。これでちょっとでもWinstoneが国内で流行ると面白いんだけどなぁ。

    • *1: これは作者のRickさんも一緒。というか、仕事のときにそうしたらいいと直接教えてもらった。

    at 10:19 |
    2006/03/07

    Winstone のライセンスが変更に

    winstone  licence 

    WinstoneのライセンスがLGPLCDDLのデュアルライセンスに変更になりました。これで、商用でソース非公開なソフトにもやさしいライセンスになりましたね。

    Winstone Servlet Container

    The goal of dual-licensing is to make Winstone as attractive as possible to distributors of commercial webapps, while ensuring everyone benefits from any improvements. The CDDL allows free distribution with any commercial applications, while distribution with a GPL licensed webapp is also possible under the LGPL. If you are unclear about which license applies to an application you wish to distribute or sell, please contact me.

    発端はTSSのツッコミから

    先日、開発者のRickさんと会ったときに「TSSにwinstoneの話を投げたら、組み込み用途を謳っているサーブレットコンテナなのに、ライセンスがGPLだと使いにくいんじゃないというツッコミが入ったので、ライセンスの変更を検討中なんだよね」*1みたいな話を聞いたので、僕にとっては想定内。

    [Winstone のライセンスが変更に の続きを読む]
    • *1: 超意訳

    at 22:31 |
    2006/01/28

    MYCOM PC WEBにWinstoneが

    winstone  server 

    国内のメディアにはWinstoneはこれまであまり登場していなかったのですが、やっとMYCOM PC WEBに掲載されたようです。

    シンプルなServletコンテナ - Winstone Servlet Container v0.8 (MYCOM PC WEB)

    The Winstone projectは23日(米国時間)、Winstone Servlet Containerの最新版であるWinstone Servlet Container v0.8を公開したことを発表した。Winstone Servlet Container v0.8はJavaで開発されたシンプルなServletコンテナ実装。

      at 15:09 |
      2006/01/20

      Winstone Servlet Container v0.8

      winstone  server 

      以前にも紹介した小さくて速いサーブレットコンテナWinstoneがv0.8にバージョンアップしました。jarファイルのサイズは前回リリースのv0.7から5KB増えて160KBになりました。こうやって毎回jarファイルのサイズが書いてあるのが楽しいです。

      機能追加の中ではネームベースのバーチャルホストに対応したというのが大きいですかね。これで、Tomcatなどの先輩サーブレットコンテナと比べて見劣りする部分もだいぶ少なくなってきました。今年は自分の研究用のアプリケーションをWinstoneに移行しようかと思っています。

      [Winstone Servlet Container v0.8 の続きを読む]

        at 20:58 |
        2005/09/21

        Winstone というサーブレットコンテナを知っていますか?

        winstone  java 

        オープンソースのサーブレットコンテナというとほとんどの人が一番に思い浮かべるのはTomcatResin, Jettyだと思いますが、僕はWinstoneというサーブレットコンテナを使っています。おそらく国内でこのサーブレットコンテナに注目している人はあまりいないのではないかと思います。

        このサーブレットコンテナはなんと155KBの小さなjarファイルひとつでできていて、Tomcatにくらべて起動が格段に速いので再起動の機会が多い開発時にはかなり重宝します。また、比較的小さなプロダクト*1なのでサーブレットの仕組みを学ぶのにもいいと思います。とりあえずjavaでウェブアプリを開発する機会がある人はぜひおためしあれ。目からうろこが落ちます。

        数日前にこのWinstoneがバージョンアップしたという連絡を開発者のRickさんから直々にいただいた*2ので、早速試してみました。

        [Winstone というサーブレットコンテナを知っていますか? の続きを読む]
        • *1: コードの内容はそれなりに濃さがあるので大変といえば大変ですが・・・・・。
        • *2: 実は4年ほど前から仕事でRickさんとは何度もご一緒させてもらっていて、javaについてはいろいろテクニックを伝授してもらっています。一流の人と仕事するといろんな知見が得られるのでイイです。

        at 22:57 |
        «Prev || 1 · | Next»
        » ArchiveList (Tag for "winstone" )