Servlet は結構普通というか、余計なもののない素直なイメージだったけど Play とか Servlet 捨ててた気がする。どういう判断だったんだろ。
2015-03-26 12:28:27Servletはmultipartの公式サポートに時間かけ過ぎた。ファイルアップロードってウェブアプリケーションではよくある要件ではあるまいか?そして、よくあるけども難しいものでもある。
2015-03-26 12:32:43@ryushi たしかに! そして、multipart サポートオンにするために container 毎に設定必要なのは、まあ辛いですね。
2015-03-26 12:33:29次に、認証系の辛さがヤバい。例えば、JAASとServletをちゃんとつなげるのは、結構難しいんですけども、上手くやるとアプリに手を入れずにLDAPと繋がったりするんですが、みなさんご存じですか?
2015-03-26 12:33:41CookieのAPIがプリミティブ過ぎる。何故Mapっぽいインターフェースじゃないのか。変な風にラップされているので、書き戻しが面倒。で、セキュリティ界隈では大人気のhttponlyの公式サポートがServlet3.0です。それまで大変な苦労をしてhttpOnlyを付けていました
2015-03-26 12:36:51功罪両方あるものしとしては、HttpSessionのデフォルトサポート。これは非常に便利なんですけども、APサーバのスケールアウトを強く阻害するのでシステムが大規模化する際に足を引っ張る原因になります。つまり、毒饅頭ってやつです。
2015-03-26 12:40:48そうそう、みんな大好きJSPというのもServletの一部ですね。taglibのtldファイルに書く内容の意味不明さは、どこから突っ込んで良いか分かりません。というか、taglibの仕様が全般的にヤバい辛さです。doStartTagとかdoAfterBodyの戻り値intですよ?
2015-03-26 12:44:53@ryushi デフォルトでセッション Cookie 発行するのって Servlet だけの問題でもなくありませんかね?対策としてあるコンテナ相当の Cookie の共有機能が弱いという問題は別であるかもですが。(ただし、セッションオブジェクト丸っと cookie 派は除く)
2015-03-26 12:45:24そういえば、 Tomcat はセッション Cookie を外部ストレージに出すんじゃなくて、指定した Tomcat クラスタ間で UDP で同期するとかいうトンデモ実装があった気がしたけど、あれって使われてるんだろうか。
2015-03-26 12:46:43@Jxck_ セッションCookieを発行することが問題なのではなく、凄く使い易い所にgetSessionみたいなメソッドが生えている事を問題視しています。
2015-03-26 12:46:50@Jxck_ あれによって、Statefullなウェブアプリケーションを作りたくなるし、作り易くなるのだけども、後で辛いことになり易いと言えば良いのかな。
2015-03-26 12:50:08ServletのHttpSession#setAttributeには第二引数にObjectを取るんですけどもSerializableでないものを設定するのは望ましくありません。何故そうなのか?どんな時に問題なのか?適切に説明できるエンジニア少ない。
2015-03-26 12:54:23ServletというのはHTTP以外のプロトコルも抽象化の範囲に含まれている為ServletRequestとHttpServletRequestという継承階層になっているんですけども、これって物事難しくしただけです。例えばSipServletって使われてるの?
2015-03-26 13:00:26