- blogs:
- cles::blog
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でそうなっているのかな(未確認)
Winstoneがv0.9になってた
winstone 忙しくてすっかりウォッチし忘れていたのですが、軽量サーブレットコンテナのWinstoneがバージョンアップしてv0.9になっていました。
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になってた の続きを読む]
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さんも一緒。というか、仕事のときにそうしたらいいと直接教えてもらった。
Winstone のライセンスが変更に
winstone
licence WinstoneのライセンスがLGPLとCDDLのデュアルライセンスに変更になりました。これで、商用でソース非公開なソフトにもやさしいライセンスになりましたね。
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みたいな話を聞いたので、僕にとっては想定内。
- *1: 超意訳
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コンテナ実装。
Winstone Servlet Container v0.8
winstone
server 以前にも紹介した小さくて速いサーブレットコンテナ、Winstoneがv0.8にバージョンアップしました。jarファイルのサイズは前回リリースのv0.7から5KB増えて160KBになりました。こうやって毎回jarファイルのサイズが書いてあるのが楽しいです。
機能追加の中ではネームベースのバーチャルホストに対応したというのが大きいですかね。これで、Tomcatなどの先輩サーブレットコンテナと比べて見劣りする部分もだいぶ少なくなってきました。今年は自分の研究用のアプリケーションをWinstoneに移行しようかと思っています。
[Winstone Servlet Container v0.8 の続きを読む]
Winstone というサーブレットコンテナを知っていますか?
winstone
java オープンソースのサーブレットコンテナというとほとんどの人が一番に思い浮かべるのはTomcatやResin, Jettyだと思いますが、僕はWinstoneというサーブレットコンテナを使っています。おそらく国内でこのサーブレットコンテナに注目している人はあまりいないのではないかと思います。
このサーブレットコンテナはなんと155KBの小さなjarファイルひとつでできていて、Tomcatにくらべて起動が格段に速いので再起動の機会が多い開発時にはかなり重宝します。また、比較的小さなプロダクト*1なのでサーブレットの仕組みを学ぶのにもいいと思います。とりあえずjavaでウェブアプリを開発する機会がある人はぜひおためしあれ。目からうろこが落ちます。
数日前にこのWinstoneがバージョンアップしたという連絡を開発者のRickさんから直々にいただいた*2ので、早速試してみました。
[Winstone というサーブレットコンテナを知っていますか? の続きを読む]- *1: コードの内容はそれなりに濃さがあるので大変といえば大変ですが・・・・・。
- *2: 実は4年ほど前から仕事でRickさんとは何度もご一緒させてもらっていて、javaについてはいろいろテクニックを伝授してもらっています。一流の人と仕事するといろんな知見が得られるのでイイです。
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5025)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4166)
4 . 年次の人間ドックへ(4096)
5 . 2023 年分の確定申告完了!(1つめ)(3951)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]