△△つづいて漏れにStrutsの良さを教えてくだっさい
■ このスレッドは過去ログ倉庫に格納されています
00011 ◆lqgT6FBSpw
NGNGJSTLがあればいらんじゃん、とかJSFでおわったな、とか偏見あふれる意見もどうぞ。
前スレ
http://pc2.2ch.net/test/read.cgi/tech/1048030962/
0153152
NGNG<jsp:useBean id="xBean" class="BXXX_01" scope="session"/>
<tr>
<td><%=xBean.getParam(501)%></td><td><%=xBean.getParam(502)%></td>
</tr>
0154デフォルトの名無しさん
NGNG> 表示内容はほとんどSQLで処理して
危険ですね。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG絶句
0158デフォルトの名無しさん
NGNG初期表示では化けていないのですが、
<html:errors>から
画面遷移すると
?で表示されます。
ご存知の方いたらご教授お願いします。
0159デフォルトの名無しさん
NGNG文字コードをUTF-8にしる。
0160122
NGNGこんな感じです。一応MVCモデルでモデルクラスでSQLの結果をStringもしくは
String配列にセットしてから、
xBean.setStringArray("HOGEGENRE", hogeGenre);
xBean.setStringArray("HOGENAME", hogeName);
でJSPで
<% for (int i=0;i<Integer.parseInt(xBean.getString("HOGEGENRECOUNT",i));i++) { %>
<tr><td><%=xBean.getString("HOGEGENRE",i)%></td></tr>
<% for (int j=0;j<Integer.parseInt(xBean.getString("HOGENAMECOUNT",i));j++) { %>
<tr><td><%=xBean.getString("HOGENAME",i,j)%></td></tr>
<% } %>
<% } %>
という具合に取り出します。
0161136
NGNGめんどくさいだろだろ。
リクエストを直で扱う方法こそ最強。
0162デフォルトの名無しさん
NGNGサーバサイドでJava使うこと自体、かなり無意味無価値なのは、
最早明らか。技術分からない経営陣が勝手に技術基盤選んで、
それに騙されてる中途半端なプログラマが沢山いる。そろそろ気づけ。
0163デフォルトの名無しさん
NGNG大規模Webで代替手段って何があるかな?
あおりではなく、普通に知らないので教えて欲しい。
0164デフォルトの名無しさん
NGNGとりあえず直感で話すと、メンテナンスしたくはないな
160のコードだけ見ても、xBean.getString("HOGEGENRECOUNT",i)が何を返すのか
直感的にまったくわからない。特に上の行、なんでループ変数iで毎回読み込んでるんだ?
このようにそういう設計のミス(だと俺は思う)によるコードは、可読性を著しく落とすし、
バグの発生率も上げる、気がする
0165デフォルトの名無しさん
NGNGStrutsじゃなくて、どんなフレームワークならOKですか?
それともフレームワークを使わないシステムをメンテナンスしたいということですか?
Javaだからだめですか?
COBOLならOKですか?
C#でドットネットですか? PHPですか? PerlでCGIですか?
ASPでVBScriptですか?
0166デフォルトの名無しさん
NGNGまず、アプリサーバとインターフェースとしてのウェブサーバをごちゃごちゃにしちゃいかん。この時点でPHPは消える。
Perlはもう古いだろ。
ASPだのC#だのは知らない。これはいいかもしれないし悪いかもしれない。
漏れがいいと思えるのを例としていうと、Rubyだな。
drbを使えばサーバサイドアプリが作れる。
データとhtmlのバインディングはERBという技術もあるし、
Amritaを使うとフォームの値とプログラムデータをシンプルにマッピングできる。
HTTPのリクエストはそのまま扱えばよい。フレームワーク必要なし。
0167デフォルトの名無しさん
NGNGdrbがdrubyのことであるとしたら、どうやらリクエストごとにスレッドが起動するみたいなんだけど。
もしそうなら大規模ではとても使えないと思う。違ったら訂正よろしく。
それに、Rubyでも出来るけどJavaでも出来るよね。全否定するからには何かあるんじゃないの?
0168デフォルトの名無しさん
NGNGスレッドじゃなくて、リクエストごとにプロセスが立ち上がる、の間違い
0169デフォルトの名無しさん
NGNGなお悪いじゃん。。。
0170デフォルトの名無しさん
NGNG何かしら光る物があるからそれなりに使われているのだと思うのですが
教えてください
0171デフォルトの名無しさん
NGNGかといって、Strutsの仕様を見てると冗長な気がちとする。
Actionオブジェクトがスレッドセーフになればいいと思うんだけどね。
後フォームの処理が微妙。(どれでやっても微妙だとは思う)
0172デフォルトの名無しさん
NGNGスレッド大量に動くためのカーネルを作って、動かすとかしたらどうか。
サーチエンジンとか利用者とにかく多いという場合の意味での大規模なら、modruby側で全部リクエストを処理できるような、またちょっとした仕掛けが要ると思うけどね。
利用者がある程度限られてるけど、しかし業務ロジックが複雑になりがちという意味での大規模ならアプリサーバとウェブサーバ分ける価値がある。
そんなもの必要無いほど単純なサービス(掲示板とかデータ入力、検索するだけとか)なら、PHPのように作っていいんじゃないかね。
0173デフォルトの名無しさん
NGNGアプリケーションの性質に合ったリクエストの処理があると思う。
だから、アプリケーション毎に適切なフレームワークを少しづつ構築していくのがいいんじゃないか。
Struts ありきは無駄なだけだ。
0174デフォルトの名無しさん
NGNGそれ、逆行してない?
仕様の共通化、設計の共通化がフレームワークを使う意義だと思うのだけれど。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG残念ながら、rubyはまだまだエンタープライズな利用に耐えるだけのもんじゃない。
0177デフォルトの名無しさん
NGNGプロセスが立ち上がってしまう時点で大きなボトルネックになりそう。
apacheのモジュールとして組み込むと、細かい指示が出来なくなるし。
(出来たとしてもそれはCのソースコードを直接いじることになる)
大規模であればJavaで出来るし、ノウハウもライブラリも充実しているから、
やはりmodrubyを使ったほうがいい、というのはやはり間違っているといえると思う。
小さいものに関してPHPを使えというのはそのとおりだと思う。
正直利用者が1万人程度のサービスであれば、ASPとAccessで十分出来るしね。
そこでstrutsを用いることを否定はしないけど。牛刀を用いて…というほどではないし。
>>171
たとえばスレッドセーフになれば、当然パフォーマンスが落ちるわけで、
シンプルにしたいと思えばある種のトレードオフが生まれるのかもしれない。
そういう場合は自分でstrutsをスレッドセーフに継承して使ってやればいいけど、
スレッドセーフに最初からなっていたらそういうことが出来ないから正しいと思う。
フォームの処理はJSFなんてものが出てきたが、あれは微妙というか駄作の香り。
>>174
適材適所でしょう。すでによく出来たフレームワークがあるとはいえ、
何に対しても使えるわけではないし。
それにstrutsを使っても、それをベースに何らかのフレームワークを作る必要は
必ず出てくると思う。strutsは業務プロセスまでカバーしてないからね。
0178デフォルトの名無しさん
NGNG単にリクエスト処理するのに何がフレームワークだといいたい。
>>176
どこらへんが?
>>177
drubyを使うのは単なる常駐プログラム。
リクエスト毎にプロセスは立ち上がらないよ
小さいものってどういう意味?
使う人数が多い意味での大規模と、ロジックが複雑になるであろうとい
う意味での(ソースコードの)大規模化は違う。
漏れが言うのはロジックが複雑になるほう。
そのときにはPHPなんて使えない。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGおじちゃん、おじちゃん。何を主張したいんだい?
独り言なら夢板でやっとくれ。
> 漏れが言うのはロジックが複雑になるほう。
> そのときにはPHPなんて使えない。
「PHP は」じゃなくて「スクリプト言語は」の間違いじゃないのかね。
Ruby もダメぽ。
0181デフォルトの名無しさん
NGNGWebWorkの場合はActionインターフェースを実装したクラスは、
リクエスト毎に生成されるらしいから、その辺ちょっと有利かも。
0182デフォルトの名無しさん
NGNGどこがどのようにだめなのかと聞きたい。
>>181
少なくとも、フォームをオブジェクトにマッピングするフレームワークなんてのは、
面倒で無意味ってこった。なにがやりたいのか。リクエストオブジェクトを渡して
くれるだけで十分だ。だから Servlet がいいフレームワークと言えるな。
作業効率を高めるためにフレームワークがある。Strutsのダメなところは無意味な
クラスがゴロゴロできてコードを読む手間が増え、開発効率が落ちる(それに、ク
ラスローディングのコストが高くなり、遅くなるんじゃないか。)
Struts作った香具師の会社じゃそういうふうにしようってしたかもしれんが、そんな
クソな規約を世間に言ってみたところで、無視されるだけだろ、、、と思っていたら、
jakartaブランドなのかはしらんが、謎なことに広まってる。この謎の理由を漏れは
知りたい。
0183ヽ(´ー`)ノ
NGNGこっちが聞きたいな。
Struts を使って開発効率が落ちるなんて始めて聞いたよ。
> 無意味なクラスがゴロゴロできてコードを読む手間が増え、開発効率が落ちる
キチンと使えてないだけじゃん。
馬鹿でも使える銀の弾丸はありませんぜ。
0184176
NGNG大規模システムに必要な要件が思い浮ばないのがやばい。
例えば「マスタリングEJB」によると、それには
* RPC
* 負荷分散
* 透過的フェイルオーバー
* バックエンドの統合
* トランザクション
* クラスタリング
* 動的再配置
* クリーンシャットダウン
* ログ作成および検査
* システム管理
* スレッド処理
* メッセージ指向ミドルウェア
* オブジェクトライフサイクル
* リソースプーリング
* セキュリティ
* キャッシュ
などなどがあると指摘されている。
んで、このうちRubyにある実用的な実装って何よ?
そもそもdRubyなんてクラスタリングもできないじゃん。
0185デフォルトの名無しさん
NGNGスクリプト言語のどこがどのようにだめなのかがわからない奴に何言っても理解不能と思われ
0186デフォルトの名無しさん
NGNGevalもないような言語にいう゛ぁられたくないやいっヽ(`Д´)ノ
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGPHPもそうだが、スクリプト言語といった時点で大規模には向かないという印象がある。
違うぞ向いているぞというなら別にperlでも十分なわけだし。
0189デフォルトの名無しさん
NGNGしかし、そんなことはなくて、人の質はばらばらなので静的な制約の強いJavaがいいな。
0191デフォルトの名無しさん
NGNGあれだけある要件のうち、一つだけですかい?
> 印象かよ!!
周知の事実でしょ。
0192デフォルトの名無しさん
NGNGそんなことより、Struts のいいところを語ってくれ。
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGいや、わざわざ挙げてもらってありがたいけど、
EJBだろうがRubyだろうが手間も必要なノウハウも
大して変わらんと思うよ。
0195デフォルトの名無しさん
NGNG176=184=186ですのでおまちがいなく。
ところで、EJBってご存じですか?
RubyでEJB相当のことが同じ手間でできるのでしたら、
ぜひ利用したいので、その方法を教えてくださいませ(プゲラッチョ
0196デフォルトの名無しさん
NGNGま、食わず嫌いというか保守的というか、そういう考え方が必要になる時代も
いずれは来るかもしれないね。その頃あなたは使えないエンジニアだろうけど。
0197デフォルトの名無しさん
NGNG保守してくれるベンダはあるかな?
0198デフォルトの名無しさん
NGNGネットワーク応用通信研究所
0200デフォルトの名無しさん
NGNG具体的にEJBのどの機能について?
0201デフォルトの名無しさん
NGNG知ったかはやめれ… 知らないことは知らないというべき
0202デフォルトの名無しさん
NGNGわかった。あんまりいいたくなかったがEJBは無意味に複雑で遅くてクソだわ
0203しもじも
NGNG有名な構築例としてはtDiaryくらいしかないし。
まっ適材適所ってことで
0204デフォルトの名無しさん
NGNGそのセリフだけでEJBについてわかっていないのが良くわかるな(w
EJBって何を指しているんだが。使ったことないくせによく言うよ。。。
0205デフォルトの名無しさん
NGNG中途半端な知識を持つプログラマ、こういうプライドの高いセミプロが格好の
カモなんだよね。そろそろ気づけ。
0206デフォルトの名無しさん
NGNG荒れているときには、特にソースを出すようにして。
せめて、どの部分が具体的に製作効率が悪いと思うのか、論拠と共に。
独り善がりな意見なら誰だって書ける。荒れる要因になるだけ。
202の人が荒らしたのも、結局は主張するばかりで内容が伴わなかったからだから。
0207デフォルトの名無しさん
NGNGアホ?
0208デフォルトの名無しさん
NGNG使ったことがないことが丸わかり。
>それを有り難がる技術選択の出来ない部長と
>中途半端な知識を持つプログラマ、
>こういうプライドの高いセミプロが格好のカモなんだよね。
自分が使えないから悔し紛れに書いてることがバレバレ。
一番プライドが高いのは自分。煽られて必死
>そろそろ気づけ。
おまえが必死なことはみんな気付いている(プゲラ
0209デフォルトの名無しさん
NGNG02101 ◆lqgT6FBSpw
NGNG0211デフォルトの名無しさん
NGNGJavaでWebアプリの場合、Struts以外にどんなフレームワークを使っていますか?
うちでは、昔は自社製フレームワークを使っていましたが、
最近ではStrutsかTurbineを使っています。
StrutsはvalidationのコードをActionFormに閉じ込めておくことができるのと
validationでエラーを検出した場合にユーザの入力を失わずに、
入力フォームを再度表示することが簡単なところにメリットを感じています。
0212デフォルトの名無しさん
NGNGあれを自分で実装することなんて想像もしたくないのだが。
0213デフォルトの名無しさん
NGNGRubyと同じ気分で、EmacsだけでStrutsと格闘しようとしたらしんどいのは当然。
それから、スクリプト言語だからすなわち駄目という訳でもない。
Yahoo! ShoppingのコードはLispで書かれている(少なくとも2001年までは)。
0214デフォルトの名無しさん
NGNGさらにWSADならばプラグインもいらずに… クソ高いけど
0215デフォルトの名無しさん
NGNGとりあえず今までの議論をまとめると、Rubyと言いたいだけということでいい?
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGhttp://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html
不毛な議論をしないためにも読んで(読ませて)おきたい
0218デフォルトの名無しさん
NGNGキター
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGEmacs で作業したって Ruby より Struts の方が効率いいよ。
0221デフォルトの名無しさん
NGNGaction-mappingとか編集してくれるよーな奴。
こいつら次第でStrutsの使い勝手って大きく変わると思うのだけど・・・
0222デフォルトの名無しさん
NGNGWSADけっこういいよ。
ツールの使い心地はなんだかんだでエディタで決まる。
0223デフォルトの名無しさん
NGNGそんな金ないよー。俺じゃなくてプロジェクトだけど。
0224デフォルトの名無しさん
NGNGJSF対応って書きたいだけだろ、と。
Improve_Struts Editor for Eclipse を使ってる。
struts-config.xml に記述した web ページの遷移をグラフィカルに表示してくれます。
でも、編集は struts-config.xml ファイルを直接編集しなければなりません。
これで十分です。
0226デフォルトの名無しさん
NGNGとりあえずstruts console
EclipseにもNetBeansにも組み込める
0227デフォルトの名無しさん
NGNGSwingアプリだからUIはダサいけど機能は充分だよ。
有料版ならEclipseベースだし。
0228
NGNG0229デフォルトの名無しさん
NGNGStrutsじゃなければわかるの?
0230デフォルトの名無しさん
NGNGStrutsだとどういう問題があるんだ?
0231228
NGNG0232デフォルトの名無しさん
NGNGそれは別にStrutsの話じゃないでしょ
httpsとかの話じゃないの?
0233デフォルトの名無しさん
NGNGてか、開発者ならさそのくらいのテキストファイル構築ソフトぐらい
自分でチョイチョイッと作ってみようって気にならないもんか?
ソースコードを色分けでHTMLファイルにしちゃうツールとか
Base64エンコード&デコードプログラムぐらいみんな自作で持ってんだろ?
0234デフォルトの名無しさん
NGNGすでにいいものがあるものを作るのは、作ること自体が目的じゃない限り、あほらしい。
0235デフォルトの名無しさん
NGNG誰も知らない俺様ツールを一人で使うより、
みんなが知っているいいものがあればそっちを使いたい。
234に同意。なんであるのにわざわざ自分で作らなきゃならんのよ?
0236228
NGNGStrutsで、httpsやるにはどうすればいいの?
0237デフォルトの名無しさん
NGNGおいおい。。
サーバの機能じゃないのかそれは・・・
Apacheでも試してみなさい
0238デフォルトの名無しさん
NGNGいいの作って、公開してくれ!
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG別にいいんじゃないのどっちでも・・・
例えばC言語バリバリやってるUNIXerは「俺様関数」作って成長するわけだし
同じ議論したら、考え方もJavaやってる人と逆の人がいるかもしれない
Javaみたいに痒いところに手がとどくツールが整ってる言語やってる人は
「あるものは使う」で間違ってはいないだろうし。
ただ、そのくらい(StrutsのConfig吐くぐらい)のツールなんて・・・
ましてやaction-mappingに限定すればそんな時間かからんだろ?
GUIだってサクッと作れちゃう言語だから
適当にテキストボックスに項目追加していくようなやつでも一時間ぐらいでできるだろ?
「あほらしい」とか思ってるうちに出来ちまいそうだ。
文字列操作が混雑しそうならXML関連のAPI使えばもっと楽に出来そうな予感がするが。
0241デフォルトの名無しさん
NGNGサーバがhttpsを使えても、Strutsでは使えないよ。
Struts SSL Switching Extension を使えば別だけど。
http://www.janit.com/TechnoInf/Java/Struts1.1b3/faqs/ssl.html
>>228さんもこういうのが知りたかったのでは。
0242デフォルトの名無しさん
NGNGお客様からの緊急のバグクレームにも戸惑ってしまうだろう
電話受けて1時間以内にかたずけられないようじゃホントの意味での
プログラマじゃない
0243デフォルトの名無しさん
NGNGhttp://www.zdnet.co.jp/enterprise/0309/22/epn08.html
0244デフォルトの名無しさん
NGNGでっちあげるのに時間はかからないが、仕様どおり正しく動くようにするのには、結構時間がかかると思うぞ。
「プログラムを書く」ということの怖さを知らない人の意見だな。
メンテナンスを考えたことがない人か。
同じ要求を満たすなら、プログラムは短ければ短いほどいい。極限はプログラムを書かないことだ。
0245デフォルトの名無しさん
NGNGおいおい、ちょっとまてよ
ストラッツの高々コンフィグファイルごときで
そこまで考えてやるのか?
間違ってれば勝手にエラー出して止まるだろうに・・・
そういう力技のプログラミングも必要だよ
0246デフォルトの名無しさん
NGNG書く
書かない
の差は大きい
0247デフォルトの名無しさん
NGNGだから、すでにいいツールがあるのに、力技で作る必要はない。
作るのが目的じゃない限り。
0248247
NGNG0249デフォルトの名無しさん
NGNG文字化けします。
request.setCharacterEncoding("Windows-31J");
をアクションクラスで、宣言するだけでは駄目なのでしょうか?
ご存知でしたら、教えていただけませんか?
0250デフォルトの名無しさん
NGNGアクションクラスではもう遅い。フォームにセットされる前にしなくては。
Servletフィルタ使うか、RequestProcessor拡張汁。
0251デフォルトの名無しさん
NGNG個人的には「ただでさえ楽したいからStruts使ってるのに、
一々ツール作ってられるか!!」という感じだな。
そもそも、ロクにエラー処理もしないようなツールを作って
プロジェクトで使う気ですか?
そんなもん使わされる同僚が不憫だよ。
それとも、プロジェクトの参加者各自に俺様ツールを作らせるんか?
0252デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています