トップページ⇒php
1001コメント334KB

■■Servlet/JSP(EJB含む)質問スレ Part4■■

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/06/01(水) 09:09:00ID:???
質問する前に最低でもGoogleで検索するように

前スレ
■■ Servlet/JSP(EJB含む) 質問スレ Part3 ■■
http://pc8.2ch.net/test/read.cgi/php/1087331455/l50
前前スレ
■■ Servlet/JSP(EJB含む) 質問スレ Part2 ■■
http://pc5.2ch.net/test/read.cgi/php/1052879533/l50
過去スレ
■■ Servlet/JSP(EJB含む) 質問スレ ■■
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50

関連スレ
【初心者】Java質問・相談スレ47【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1086716004/l50
JSP/Servletで構築されたサイト
http://pc5.2ch.net/test/read.cgi/php/1063121571/l50
◆JSP◆
http://pc5.2ch.net/test/read.cgi/php/984840356/l50

関連は>>2-10
0083nobodyさん2005/06/12(日) 17:27:23ID:???
>>82
DTO。(以前はValueObject)
DAOはEIS層からデータの出し入れ処理を実装するクラスだ。
0084nobodyさん2005/06/12(日) 17:53:11ID:???
へぇ
0085nobodyさん2005/06/13(月) 10:56:35ID:RXkwJR48
SunJavaSystem7ASでクラスパスを通すとき、server.policyでパーミッションを指定しないとだめでしょうか?
JDBCドライバなんかは無指定で見えてるのですが、自前のjarが見えません。
0086nobodyさん2005/06/13(月) 22:49:24ID:???
Tomcat上でJSPを動かしてるのですが、
JSPからみて ../WEB-INF/classes にあるclassファイルの
メソッドを呼び出せないのでしょうか?
0087nobodyさん2005/06/13(月) 22:55:56ID:???
呼べるよ
0088862005/06/13(月) 23:09:22ID:???
どのように呼ぶのでしょうか?
servletと同じように宣言したらシンボルエラーが出てしまいます。
0089nobodyさん2005/06/13(月) 23:19:50ID:???
> servletと同じように宣言したら
おまえがServletでどう宣言しているのかもわからないし

>シンボルエラーが出てしまいます。
「シンボルエラーが出る」がどういうことなのかもよくわからん。

0090nobodyさん2005/06/14(火) 00:09:24ID:???
JSPのようなメソッド名を書かないJavaでは
再帰プログラミングはどう行えばいいんでしか?
(´・ω・)
0091nobodyさん2005/06/14(火) 00:59:23ID:???
inner class
0092nobodyさん2005/06/14(火) 02:34:10ID:???
>>90
メソッドを定義する
0093nobodyさん2005/06/16(木) 02:30:02ID:???
formからサーブレットに文字列を送るとき、
&gt;や<などを渡すとテキストとしてではなくHTMLとして読まれてしまいます。
つまり、&lt;hr&gt; のようなテキストを送信すると
<hr>として解釈されてしまい、困ってます。
これはサーブレット側でHTMLエンコードのメソッドを作って解決するしか無いのでしょうか?

formからはPostで送りたいのでenctype="application/x-www-form-urlencoded"でしか
送信できないのがいけないのでしょうか・・・。

どなたか、解決策あったらご教示いただけないでしょうか?
よろしくお願いします。
0094nobodyさん2005/06/16(木) 03:47:59ID:???
HTMLもテキストなのだが・・・
0095nobodyさん2005/06/17(金) 23:28:57ID:QbQnTgUm
Strutsでデータベースを取得するときに
アクションクラスの役割ですが
アクションクラス内でDB取得メソッドを呼び出すのが普通なんでしょうか?

それともアクションクラスでビジネスロジックを呼び出して、
そのビジネスロジック内からDB取得メソッドを
呼び出すのが普通のやり方なんでしょうか?
0096nobodyさん2005/06/18(土) 07:13:21ID:tWCSnidS
>>95
後者
0097nobodyさん2005/06/18(土) 12:28:17ID:???
>>95
普通は規模によって使い分ける。
0098nobodyさん2005/06/19(日) 22:56:21ID:???
セッションの情報って各クライアントのブラウザに格納されるのでしょうか?
0099nobodyさん2005/06/19(日) 23:11:37ID:nbw7nWZR
そ
0100nobodyさん2005/06/19(日) 23:35:47ID:???
�d
0101nobodyさん2005/06/20(月) 02:05:42ID:???
tomcat 4.1-31にJFS1.1とjakarta-taglibs1.0をインストールすると
java.lang.ClassNotFoundException: org.apache.catalina.Container
が出て起動すらできなくなります。パスも通しているので問題はないと
思っています。
common/libの下に以下を参考に7ファイル組み込みました。
ttp://dream.mods.jp/jsf/tom5andjsf/tom5.html
0102nobodyさん2005/06/20(月) 02:17:33ID:???
JSFはTomcat4で動いたっけ?
0103nobodyさん2005/06/20(月) 02:30:36ID:???
common/libにライブラリ入れるな、とか思うけどな。
0104nobodyさん2005/06/20(月) 02:36:12ID:???
myfacesならTomcat4で動くみたいなので、JSFが対応してないわけじゃないと思う。
0105nobodyさん2005/06/20(月) 02:37:37ID:???
>>103
同意。

>>104
今のところ、MyFacesはバグだらけで使えないね。
0106nobodyさん2005/06/20(月) 03:13:50ID:???
そうなの?
0107nobodyさん2005/06/20(月) 19:51:12ID:7r24+CZe
JSFはJSP2.0、つーかJSTL1.1が使えないと、かなり機能制限されて
しまうのだよ。だからTomcatなら5.0.x以降にした方が快適なのは
間違いない。

>>105最近バグも減ってきたんじゃない? bug発見したらその
機能を使うのを我慢する、というスタンスでもそこそこ行けそうな
気がするけど。
0108nobodyさん2005/06/21(火) 00:18:27ID:???
>>105
ブラウザのリロードで画面遷移してしまう(しかも行ったり来たり)とか、
セッションタイムアウトでも何食わぬ顔でもう一度同じ画面を返してくるとか、
「その機能を使わなければいい」では済まないバグが多々ある。
commnadLinkもおかしかった。(すべてバージョン1.0.9)
RI(1.1_01)に入れ替えてみたら普通に動くのも確認済み。
0109nobodyさん2005/06/21(火) 01:06:51ID:???
皆さんありがとうございます。common/libに入れないでWEB-INFに*.jarを組み込むのが礼儀なのでしょうか。
>>107さんの言う通り、Tomcat-5.0.28にすると問題は発生しなくなりました。
しかしEclipse3.0.2+Tomcat5.0.28+FacesIDE+TomcatPluginV3+Myfacesという環境で
test.jspを作成し<h:inputText value="#{hoge.str}"/>というような一行を
存在するだけで、通常のHTMLタグは認識されますが上のようなカスタムタグは
一切認識されません。
<body><h2>test</h2><h:inputText value="#{hoge.str}"/></body>と書くと
<body><h2>test</h2></body>だけがレスポンスとして返ってきます。やはり
facesIDE+myfacesという環境をやめて何か別の環境でJSFを構築したいのですが
何か代替するものはあるのでしょうか?

0110nobodyさん2005/06/21(火) 04:00:53ID:???
こんなのも出ちまうぜw
HTTP????? 500
?? The server encountered an internal error () that prevented it from fulfilling this request.
javax.servlet.ServletException: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V
org.apache.jasper.compiler.TagLibraryInfoImpl.createAttribute(TagLibraryInfoImpl.java:568)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:401)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:179)
以下略
?? ?????????????????Apache Tomcat/5.0.30????????????
0111nobodyさん2005/06/21(火) 14:19:50ID:Ld99PUeC
知恵を貸してください。
Tomcat 5.5系(+Eclipse)を使っています。

ハードをモニタするために、スレッドを一つ活かしておいて、servletにアク
セスがあったときにはそのスレッド(のinstance)に聞いて最新n個を応答する、
みたいなことがやりたいのですが、別プログラムにしてファイル保存→
servletで読み出して参照、以外の方法がおもいつきません。

なにか気の効いた方法(パターン?)があれば教えてください。



01121112005/06/21(火) 14:57:26ID:???
あー少し誤解してた。Servletって活きたままなので、そのThread自身が
manageできる場合は直接管理しておけばいいわけね。


0113プログラマの皆さんにお尋ねします。2005/06/21(火) 19:45:07ID:YhSaII8H
再度お世話になります。全部読ませていただきましたが、STRUTSの人気がかなりのようですね。

私は以前こちらで「WEBアプリの基本はフレームワークなし」と
「STRUTSなんて要らない。開発を複雑にしているだけ。滅びるに値する」という
書き込みが大変気になりまして、実際の開発ではSTRUTSもなにも使いませんでした。

開発当初はCMP−EJB2.0にうつつを抜かし、見事に大失敗しまして、今は
SUNの純正JAVAサーバーのDEPLOYTOOLを利用しながらフレームワーク無しで
仕事をしています。データーベースアクセスは直接JSPに書き込んでいます。
MVCではありませんが、ページごとの管理ですので意外に開発が楽でした。

ご質問なのですが、こちらの皆さんは従来のEJBには利用価値があるとおもいますか。
HIBERNATEを利用されている方に特にお尋ねしたいです。

また、私はSUNのDEPLOYTOOLの愛用者なのですが、ECLIPSEにも同じようなDEPLOYMENT
DESCRIPTOR作成TOOLが付属しているのでしょうか。EARファイル、JARファイルの作成は
手書きなのでしょうか。

上の2つを是非お聞きしたいです。どうぞ宜しくお願い致します。
0114nobodyさん2005/06/21(火) 21:01:37ID:???
ごめん、釣だよね
0115プログラマの皆さんにお尋ねします2005/06/21(火) 21:05:00ID:YhSaII8H
>>114
いえ。113に書いたことは真面目な質問なんです。やはり私はアマのままなのかな。。。
0116nobodyさん2005/06/21(火) 21:48:29ID:???
ページごとの管理なのにEJB使うのがアホでした、と。
0117nobodyさん2005/06/21(火) 22:46:23ID:???
EJB3はいいけどold EJBはPOJOにとって変わるのでは?
EJBが廃れたのもコストがかかりすぎるからでしょ?
0118nobodyさん2005/06/21(火) 23:00:29ID:???
XDoclet使えばEJBもそんなに苦じゃない。
0119nobodyさん2005/06/22(水) 01:06:29ID:???
そこでNetBeans4.1ですよ、と。
0120nobodyさん2005/06/22(水) 11:11:20ID:???
>>113

フレームワーク無しなんて信じられない。
つーか、直にServlet書いた経験って過去物語。

だけど今から勉強して自身で使うならStrutsは
薦められない。何故ならStruts2.0(Shale)は
今のStrutsとは全く形が違うし、下位互換が
無いことがハッキリしてるから。

分散環境でないならEJB使う必要は全く無い。
そんなもの使うのは単なる馬鹿。

そもそもJSPに直接DBアクセス書いて満足なら、
EJBだHibernateだ検討するのは意味が無い。

MVCというよりLayerを理解してから出直してね。
01211072005/06/22(水) 11:58:42ID:???
>>108情報サンクスコ
MyFacesそこまでヒドイとは知らなかった。

>>109
><body><h2>test</h2></body>だけがレスポンスとして返ってきます。やはり

<f:view><h:form>を書いて。それからinputTextやる前に<h:outputText value="HelloWorld">を試して。


>facesIDE+myfacesという環境をやめて何か別の環境でJSFを構築したいのですが
SunのR.I.1.0.1にすれば?
0122113 (MVCとSQL直書き)2005/06/22(水) 17:18:58ID:aO9Cw/ex
皆さんどうもありがとうございます。

MVCは試したことがあるんです。CMPEJB2.0に騙されて、MVCヤメテ、それでJSPだけで
SQL直書きのファイル沢山つくって、それでシステムつくったんです。

1年ほど前にこちらで「ファイル直したら、またWEB.XMLの書き直し。もういや」
といったSTRUTS批判が目だっていたのですが、最近はそれ程STRUTS批判はありませんね。

自分で勉強していくうちに、MVCで上手にシステムかけたらいいなと思うように
なりました。JSFのCREATORも試したことがあるのですが、もうどうしようもない。
あれで、SUNはよく金とれますね。

>>120
STRUTSはお奨めではないですか。自分でフレームワークもどきがつくれて、そろそろ
STRUTSに挑戦しようとおもっていたのですが、やっぱりやめようかな。

SPRINGとHIBERNATEは面白そうですが、「軽快なJAVA」に書かれているように
本当に使いやすいのかなと疑心暗鬼しています。STRUTS愛用者の方々の意見も
お聞きしたいです。上手にMVCを実現できるフレームワークはどれでしょうか。
01231202005/06/22(水) 19:22:32ID:???
経験あるならJSFの道を進めばいいじゃん。
あれ自身DI機能があるから、君が興味を持って
いるというSpringとの相性も良いよ。

O/RマッパはAOPと組み合わせるとメチャ便利。
単純な、いわゆる「マスターメンテ」的なシステムだと
恩恵は無いけど、それなりの関連構造をもった
オブジェクトとDBを連携させる時など強烈に便利。

もしAOPを使わないとすると
・データストア層のソースが誇大化、メンテ不能。
・コネクションをビジネスロジック層で取得する。
どちらかの方法を取るハメになる。何故かは自分で
考えろ。

だがAOPとO/Rマッパを共同作業させれば、驚く程
短いスッキリとしたソースになり、また一見目に
見えない形で、ビジネスロジック単位でトランザクションを
制御することが可能になる。

ちなみに漏れが今やってるのはJSF+Spring+iBATISだ。
0124nobodyさん2005/06/22(水) 20:07:40ID:???
AOPってなに?
それと、O/Rまっぱって言っても
データベースの設計がそれなりにちゃんとしてないと
かえって苦労するでしょ?
0125nobodyさん2005/06/22(水) 20:21:02ID:???
スレ違いかも知れませんが、
サーブレットとJSPのUMLを書く場合、
一つのJSPファイルは一つのクラスとみなすのが一般的なのでしょうか?
それともJSPというクラス一つにまとめるのが一般的ですか?
0126nobodyさん2005/06/22(水) 22:40:21ID:???
画面への出力処理について質問させてください。

CGIでnphを使用すると処理を行いつつ画面への
文字出力(追記みたいなイメージ)が可能かと思います。

上記動作をservletにて実現させようと思い
下記のコードをServlet内に組んでみましたが
動作させると全ての動作が完了してから
「1」が100個同時に表示されてしまいます。

  PrintWriter out = res.getWriter();
  for(int i=0; i<100; i++) {
    out.write("1<BR>");
    out.flush();
  }
  out.close();

ループ値iがインクリメントされる毎に画面に「1」の出力を
増やしていく方法分かる方いませんでしょうか?

宜しくお願いいたします。
0127nobodyさん2005/06/22(水) 22:50:44ID:???
>>126
冗談でも馬鹿にしてるわけでもなんでもなく、
Javaの基礎からやり直したほうがいい。
0128nobodyさん2005/06/22(水) 22:56:16ID:???
ServletResponse#flushBuffer()使えばできるのか?
やってみないとわかんr
0129nobodyさん2005/06/23(木) 01:28:52ID:???
>>124
データベースの設計がそれなりにちゃんとしてないと、ORマッパ使おうが使うまいが苦労する。
ORマッパ使った方が楽だけどなぁ。
01301232005/06/23(木) 10:26:46ID:???
>>124

>AOPってなに?

AOPのAはAspectのA。

単純に言っちゃうと、特定のメソッドなりフィールドに対して
「呪文」をかけられるのよ。
(SpringAOPの場合はメソッドへの呪文のみ)

トランザクションに応用する場合の例で言うと、例えば
"update"という文字で始まるメソッドはトランザクション配下
ですよ、って宣言できるワケ。

Javaソースにはトランザクション記述もコネクションも
try/catchも無いのに、一旦呪文がかかるとAspectが
勝手にそういうソースを織り込んでくれるんだわ。

詳しく知りたかったら
・軽快なJava
・LightWeightJava
・Spring入門
あたりを嫁。Seasar2系blogを読み漁るのもヨシ。
0131nobodyさん2005/06/23(木) 10:34:32ID:???
>130
便乗質問だが、自分で調べて見て、
「XMLかなんかの設定ファイルに沿って、特定のメソッドの前処理と後処理に指定のメソッドを呼び出す」
という風に理解しているがこれであってるのでしょうか?
01321242005/06/23(木) 11:03:50ID:???
>>130
サンクス
調べてみます
0133nobodyさん2005/06/23(木) 11:04:59ID:RkAQSA99
>>131

合ってる。

付け加えると、正常処理時とか例外発生時とかの指定も可。

Springの場合(詳しく知らんがSeasar2でもおそらく)トランザクション制御の
ソースはSpring側であらかじめ用意されているので、それを利用すると楽。

Springのソースまで読んだワケではないけど、debugログを吐かせると、
前処理やらcommitやらrollbackが動いているのが見えて楽しいよ。
01341332005/06/23(木) 11:57:48ID:???
正確に言うと「呼び出す」ではなく、まさに「織り込む」というのが正解。

sageついでに。
0135nobodyさん2005/06/23(木) 13:54:34ID:???
>>121
OracleがMyFacesに参加するらしいよ。
01361132005/06/23(木) 20:01:08ID:4/LL7wxd
>>123
どうもありがとうございます。JSF+SPRING+IBATISのJSFとSPRINGはフレームワーク
ですから問題起きませんか?

お使いのエディタはEMACSでしょうか、ECLIPSEでしょうか。

私HIBERNATEとAOPの勉強始めます。強烈に便利とまで言われたら、もう
勉強するしかないですね。「軽快なJAVA」はちょっと足りない部分が
多いですから、WWW.HIBERNATE.ORG行ったんです。でも、あまり良い
チュトリアルがなくて。。。。このままだと、HIBERNATEを縁の下で
支えているXMLファイルの書き方覚えるだけでかなり難儀するかもしれない
です。IBATISはどうですか。あまり聞きませんが、HIBERNATEよりも
使いやすいすくて、文書豊富ですか?
0137nobodyさん2005/06/23(木) 21:09:57ID:???
JSFでバッキングビーンのメソッド中で、
request.getRequestDispatcher.forwardメソッドを呼び出しているのですが、
java.lang.IllegalStateException: Cannot forward. Response already committed.
と例外が発生してしまいます。
原因がわかる方がいらっしゃったら教えてください。
01381372005/06/23(木) 21:17:41ID:???
補足です。
forwardメソッドの引数となるrequestとresponseは
ExternalContextのgetRequestメソッドとgetResponceメソッドを
使用して取得したものです。
0139nobodyさん2005/06/23(木) 21:31:35ID:???
>>136
> JSFとSPRINGはフレームワークですから

iBatisもDB接続フレームワークだし、ListやMapもコレクションフレームワークで、なにかフレームワークであることが原因で問題が起こるとしたら何もできなくなるな。
HibernateのXMLがいやなら、Hibernate Annotations使えば?
01401232005/06/23(木) 22:27:43ID:???
>>136

問題起きてない。
IDEはEclipse使ってる。

O/Rマッパだが、純粋な美しいOOを適用できるなら、現時点では
Hibernateがベストだと思うよ。EJB3もHibernateの影響を強く受けて
いるしね。(つーかLindaがKingを召喚した)

漏れがHibernateじゃなくてiBATISを選んだのは二つの理由。

1)完璧なOOやったんじゃ、チョロっとした画面出すのに数千〜数万の
オブジェクトが出来てしまう。そんなのイヤンだからSQLのSUMとか、
やりたくないけど「月次集計テブル union 当月明細テブル」みたいな
処理もやって、パフォーマンス出さなくちゃならん。だからSQLは
自由に書きたい。

2)美しいDB構造ではない。つーか、「取消伝票発行する時に、
以前存在してた得意先はテーブルに存在しないかもしれない。
でも、取消伝票はその得意先を使って発行しなくちゃならん。」
なんて用件があった。存在しないものを、あたかも存在してるように
見せるなんてHibernateじゃ無理だろ。

つーことでiBATISにしたワケ。漏れSQLを書くの嫌いじゃないしね。
ま、iBATISは設定ファイルにSQLを直書きするので、xmlが
長くなるのがイヤンだけど、Javaソースはスッキリスッキリ。

参考まで。
01411232005/06/23(木) 22:29:06ID:???
追記

教科書だけど、「LightWeightJava」はHibernateやJSFのノウハウは
素敵だけど、Springの解説は弱い。「Spring入門」は設計理論が素敵。
なので両方読み合わせることを薦める。

あとサンプルアプリ。三冊ともなんちゃらDaoImplにAspectせずに
FacadeにAspectしていることを確認シル
0142nobodyさん2005/06/23(木) 23:04:48ID:???
>>140
> チョロっとした画面出すのに数千〜数万のオブジェクトが出来てしまう。

そんなことはないと思うが。
それに、OR使っても集計はHQLなりEQLなりSQLでDBにやらせるよ。

> 存在しないものを、あたかも存在してるように見せるなんてHibernateじゃ無理だろ。

SQLでできることならできるよ。
逆に、そういう1レコードに対する手続きは書きやすいと思う。

「ORマッピングを使うならSQLを使ってはいけない」みたいな変な縛りを課さなければいいだけ。
0143nobodyさん2005/06/23(木) 23:45:08ID:???
> チョロっとした画面出すのに数千〜数万のオブジェクトが出来てしまう。
あんたがまともに使えてないだけ。
01441402005/06/24(金) 09:35:04ID:???
>>142>>143
できるのならその方法を教えて、マジ。
ちなみに集計するだけじゃないよ。

あと、「Hibernate3なら」も無しでお願い。
0145nobodyさん2005/06/24(金) 09:57:18ID:???
>>144
なにやってるかも書かずに方法教えてといわれてもねぇ。
SQLで効率よく処理できるならSQLで書けばいいんじゃない?
ORマッピングは、データベースがやってた処理をJavaにもってきてJavaで処理記述するためのツールじゃないよ。
0146nobodyさん2005/06/24(金) 12:30:40ID:???
不安になってきた

ORマッピングってなんだっけ?
01471132005/06/24(金) 13:42:58ID:7Lvl9NLQ
>>140-141
どうもありがとうございます。かなり熟練された方なのでしょうね。
私が意外なのは、STRUTS批判があまりこのスレッドで見られなくなった
ことです。

もうJSFの時代なのでしょうか。ちょっとあれに手出して、こっちに手出して
これが新しくて面白そうだから今度はこっちという風なことをあまりしたく
なくて(というよりもそんな余裕がありません)、WEBプログラミングが
すらすらできる方はもう一流プログラマと言ってもいいと思うんです、
私もそうなりたいのですが、一時期「EJBを制すればJ2EEを制す」なんて
大きな勘違いしていて、それでもう途方に暮れています。

すこしでも皆さんに追いつけるようになりたいんです。当分の間は
HIBERNATEの勉強に精を出そうと思います。またお世話になると思います
けれども、そのときはどうぞ宜しくお願いします。

WEBプログラミングが上手にできる方々って、何を次の目標にしているの
でしょうね。組み込み系のシステム開発でしょうか。うーーーーん。
コンパイラーの自作(そんなことは誰もしませんか?)でしょうか。
ロボットの制御プログラミングなんてできたら面白そうですね。
火星探索ロボットの制御はJAVAでしたんですよね、確か。
0148nobodyさん2005/06/24(金) 13:51:04ID:???
>>146
リレーショナルデータベースのデータをJavaのオブジェクトにマッピングしてくれるツール
RDBからとってきたデータをJavaで処理したり、Javaで処理したデータをRDBにつっこむときのデータ変換をやってくれる。
RDB一発でやってた処理をJavaにもってきて、Javaで処理書くようにしてもあまり便利ではない。
0149nobodyさん2005/06/24(金) 21:41:21ID:???
ほしいデータが複数のテーブルをjoinさせないと得られないとしたら
そういう場合のORマッピングって有効なの?使える?
0150nobodyさん2005/06/24(金) 22:07:51ID:???
>>149
iBatisなら、複数のテーブルをjoinするSQLを書けばいい。
joinして引っ張ってくるだけなら定義ファイルでも可。

Hibernateは知らないので他の人プリーズ。
0151nobodyさん2005/06/24(金) 22:16:29ID:???
DAO&DTOでjdbcを使ってresultsetからbeanに値をセットする方法に比べて
定義ファイルを書く方が楽だってことで
ORマッピング(・∀・)イイということなわけ?
0152nobodyさん2005/06/25(土) 05:15:17ID:???
>>149
複数テーブルのjoinが、社員コードから社員名をとってくるとか商品コードから商品名をとってくるとかだったら、joinの必要すらない。
勝手にたぐってくれる。
パフォーマンスが気になるときにjoin書く。
0153nobodyさん2005/06/25(土) 05:20:41ID:???
>>151
152みたいな、関連データをひっぱってくるのがすごく楽。
定義ファイルとかマッピングクラスとかは、自動的に書いてくれるツールがあるから、手書きは補正程度。
0154nobodyさん2005/06/25(土) 05:37:48ID:???
JOINというか、複数テーブルをエンティティ間の関連という形で実現している。
実際に発行されるSQL文はJOINしたものを発行するか、テーブルごとに発行するかを設定により選択可能。
たくさんのオブジェクトを引っ張ってきては困る場合は遅延ロードを使えばOK。
設定ファイルはMiddlegenやXDocletで自動生成。
0155nobodyさん2005/06/25(土) 08:58:57ID:???
社員グループマスターと社員区分マスターと社員マスターがあって
社員グループコードと社員区分コードを指定して
社員オブジェクト(DTO)を取得するときもORマッピングだと大丈夫なの?

JDBCだと3つのテーブルをjoinしてwhereで条件をつけるんだけど
0156nobodyさん2005/06/25(土) 11:34:52ID:???
>>155
社員マスタのグループコードと区分コード指定するだけだろ。joinの必要なし。
抽出だけならJDBCでもjoinの必要なし。
0157nobodyさん2005/06/25(土) 12:10:30ID:???
>>154
いまからやるなら、Hibernate Annotations使って設定ファイルなしでやるのがおすすめ。
0158nobodyさん2005/06/25(土) 13:09:13ID:???
>>156
それじゃあ
社員情報を表示するときに、
社員オブジェクトの社員グループコードから社員グループオブジェクトの社員グループ名を検索するわけ?

社員オブジェクトの取得時に
社員グループ名と社員区分名を取得したいときはORマッピングってどうなるの?
0159nobodyさん2005/06/25(土) 15:45:46ID:???
WHERE 社員.社員区分=? AND 社員.社員区分コード=?
とすると適切な検索をしてくれる。
JOINして検索するかどうかは判断できるぐらいにHibernateは賢い。
(キャッシュになかったらJOINして検索してくれる)
ちなみに、HibernateはRDBに対して実際に発行されるSQL文をログやコンソールで
見ることが出来るよ。
0160nobodyさん2005/06/25(土) 19:26:08ID:???
>>159
(・∀・)ソウダッタノカー!
(・∀・)イイジャンソレ!
0161nobodyさん2005/06/26(日) 08:49:53ID:???
>>158
Lazy Lodingを指定するとそうなる。
で、そのときでも同じオブジェクトはキャッシュする。

Lazy Lodingしなければ、最初の取得時にとってくる
"from Shain s join ShainGroup g join ShainKubun k"
とか書けば、条件はマッピング定義から勝手に判断してくれる。
0162nobodyさん2005/06/26(日) 16:06:06ID:???
ちょっとtomcatの質問になってしまうんですが、どうかお願いします。
環境は以下です
OS:windowsXP home
JRE:5.0
tomcat:5.5.9

"http://localhost:8080"で接続すると、tomcatのTOPは表示されます。

eclipseで"test"というプロジェクトを作成して、直下に"hello.jsp"というjspファイルを作成しました。
ブラウザで"http://localhost:8080/test/hello.jsp"に接続してみると
──────────────────────
HTTPステータス 404 - /test/hello.jsp

type ステータスレポート

メッセージ /test/hello.jsp

説明 The requested resource (/test/hello.jsp) is not available.
──────────────────────
といったメッセージが出て、表示されません。
かれこれ二日立ち止まっています。
いったい何が原因でしょうか?私の足りない頭でしょうか?
どうかお願いします。
0163nobodyさん2005/06/26(日) 17:06:11ID:icQN5iRw
EJBを使わずとも、ある程度のWeb開発はできると言われますが
それだとEJBを使うメリットって何なのでしょうか?

Webプロジェクトの開発において
EJBを導入することによって具体的に何が可能になるのでしょうか?
0164nobodyさん2005/06/26(日) 17:54:47ID:???
>>163
分散環境でいいことあるみたい
0165nobodyさん2005/06/26(日) 18:02:28ID:icQN5iRw
>>164
詳しく…
0166nobodyさん2005/06/26(日) 19:39:45ID:???
>>162
デプロイしろ
0167nobodyさん2005/06/26(日) 21:40:09ID:2qO04mrj
一般的にプロジェクトの開発時に
フリー、シェア含めて一番使われているAPサーバって何なんでしょうか?
もしベストテンや使用シェアなどがあれば教えてください

DBだとオラクルやDB2が人気だと思いますが…
0168nobodyさん2005/06/26(日) 21:55:23ID:???
>>167
JBOSS?
WebSphere?
0169nobodyさん2005/06/26(日) 23:01:13ID:???
商用ではWebLogic/WebSphereが2topだね。
次点でOracle。
意外にInterstageも多い気がする。
開発者人気ではTomcat/WebLogic/JBossなんじゃね?
0170nobodyさん2005/06/27(月) 00:36:18ID:???
>>169
世の中のWeb開発の8割はWebLogic/WebSphereだったっけ?
0171nobodyさん2005/06/27(月) 12:10:54ID:nRBU1AZe
perlのexit()みたいなのってどうやんの
0172nobodyさん2005/06/27(月) 13:17:03ID:???
>>171
System#exit
0173nobodyさん2005/06/28(火) 02:39:08ID:???
tomcat5.0.30が文字化けで使い物にならねぇたじけてくれぇ
Eclipse、server.xml、web.xmlにもUTF-8で文字コード指定しているが
?????ばかっりだ
0174nobodyさん2005/06/28(火) 04:07:15ID:???
>>173
質問内容が使い物にならないんで助けてくれ。
0175nobodyさん2005/06/28(火) 07:33:24ID:lqYGe2ED
ヒント:UTF-16
0176nobodyさん2005/06/28(火) 14:33:38ID:bmwUbQUV

【Hibernate】について再度質問させてください。不勉強を覚悟でお聞きします。
どうかお読みになった方々がご気分を悪くされなければいいのですが・・・

PostgresとMySQL、MS-SQLにはそれぞれ方言があります。特に日付関数の
方言なんて酷いものです。

Hibernateを使うということは、この方言を隠蔽できるということでしょうか。
私はSunのAppSERVER8が一つのパッケージになっていて気に入っているのですが、
もし、Hibernateがそのような方言を隠蔽することができるのでしたら、
MySQLからAppSERVER8にもともと付属しているPOINTBASEを使おうと考えています。

JBOSS+HIBERNATEをJBOSSに付属してるHSQLで動かしている方ともお話し
仕手みたいです。DB板ではHSQLの評価が高いですね。

私はECLIPSE+JBOSS+HIBERNATE+HSQLに大変興味がありまして、今後は
この組み合わせで少しづつ勉強したいと思っています。

また、どうぞ宜しくお願い致します。

>>173
お使いのサーバーに余裕があるのでしたらSUNのAPPSERVER8をお奨めします。
アンインストールも優しいですので、試してみる価値あります。
0177nobodyさん2005/06/28(火) 20:34:32ID:???
>>176
PostgreSQLが使える環境で、わざわざHSQLDBを使う必要はないと思うね。
方言?dialectでぐぐれ。
0178nobodyさん2005/06/28(火) 21:37:26ID:???
ここで聞く事じゃないと思うのですけど、他にスレが見つからないので…
ttp://www.jboss.org/ が一日中繋がらないんだけど、漏れだけ? それとも何かメンテ中...?
01791782005/06/28(火) 21:41:25ID:???
ぬあ、自己解決。散々待たされた後マンテ中です、と出てきますた…すんません。
0180nobodyさん2005/06/29(水) 04:38:18ID:???
>>176
Hotonndono Hougen Ni Taiou Dekiteru Yo!
0181nobodyさん2005/06/29(水) 10:30:02ID:???
>176
あれこれ分かりようもないことを考える前に手を動かせ。
やって見てから書き込め。
>Hibernateを使うということは、この方言を隠蔽できるということでしょうか
どういう情報収集すればこんなことすら分からないのかが理解できんな。
それっぽい単語を繰り返し言って満足感を得たいだけならチラシの裏に、な。
0182nobodyさん2005/06/29(水) 11:01:44ID:???
>>176
そのへんを透過的に扱えないとフレームワークの意味がないでしょ。
■ このスレッドは過去ログ倉庫に格納されています