■■ Servlet/JSP(EJB含む) 質問スレ ■■
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
02/06/08 11:03ID:Kkr1yl67というわけでつくたよ。
0818nobodyさん
03/03/05 05:27ID:???0819nobodyさん
03/03/05 07:47ID:ZZA84Xi8とちょっと勘ぐりたくなる。
それはさておき、Strutsについてはフレームワークスレでも議論されている
のでそちらも参考になる鴨。
0820nobodyさん
03/03/05 07:49ID:xBgObjO5http://homepage3.nifty.com/digikei/index2.html
0821814
03/03/05 20:43ID:???いや、まじで知らないんですけど、そんなに>>814で書いたことは
Strutsを思わせる内容なのですか?
だとすれば余計に使いたくなるんですけど…
でも(おそらく)便利なStrutsをいきなり使うよりも、今の環境で
出来ることをやった方が自分のためにもなると思うので J2EEパターン
を勉強し始めました。
今後の参考のためにフレームワークスレの方も今から読んでもようと思います。
0822nobodyさん
03/03/06 00:27ID:???これのソースと、ディレクトリ構造を教えてください。
0823nobodyさん
03/03/06 01:25ID:???0824nobodyさん
03/03/07 10:38ID:2QXXuFP/最近はよく雑誌でもStrutsを取り上げているから、参考にしてみれば?
Struts1.0.2だったら、ソースもそれほど大きくないし、
おっかけてみるのも良いかも。
Tapestryもなかなか面白いフレームワークです。
0825nobodyさん
03/03/07 13:13ID:vB7exDgnンでデータベースの接続にJDBCリソースを使用し
ています。
JDBC2.0拡張のコネクション・プーリング機能という
ものがありますが、その機能を使用しない方法は
ないでしょうか?
○OS
Official RedHatLinux 7.2 Deluxe
○WebSphere
WebSphere AE 4.0.4 ptf40230.02
○データベースエンジン
Orcle9i Enterprise Edition R 9.2.0
○JDBC
JDBC2.0
○JDBCドライバー
classes12.zip
○JDBCドライバーのインプリメンテーションクラス
oracle.jdbc.pool.OracleConnectionPoolDataSource←こちらを選択しています
oracle.jdbc.xa.client.OracleXADataSource
0826814
03/03/07 18:41ID:???そうですね、ソースの方を追ってみます。
どんなパターンが使われているのかを調べてみるのも
いい勉強になりそうですし。
それにしても Servlet/JSP を仕事でやってる(or 趣味だけどやりこんでる人)
はいろんなフレームワークや技術に精通してますよね。
凄いなぁ。
いつかは俺もがんがん質問に答えられるようになりたい…
みなさん、いろいろアドバイスありがとです。
0827nobodyさん
03/03/07 21:45ID:???リンクをクリックしたら別画面に移動するのですが、同時にそのときに
チェックされているチェックボックスの情報を取得することはできるのでしょうか
既にチェックボックスとリンクは<form>タブで囲まれていてsubmitボタンが存在します。
このような状況でリンクをクリックしてチェックボックスの情報取得してページ移動も
する方法を教えてください。お願いします。
0828nobodyさん
03/03/07 21:58ID:???使用しなければいいじゃない。
Datasouceをlookupせずに、
普通のJavaアプリと同じ方法でConnection張ればいいだけだろ。
もっともコンテナ内で動くメリットを思いっきり捨てるわけだが。
その辺は覚悟しているのか。
0830nobodyさん
03/03/08 01:19ID:???おれも815と同感で
>カートに商品を入れる処理を行うとします。この場合俺がやりたいのはブラウザの
>URL欄をかえずにカートに商品を入れたいのです。
になぜこだわるのかが疑問。
こういったらアレですけど、そんなもの機能としてはどうでもいい部分の話だし
あれこれ頭をなやます理由として弱いのではないでしょうか。
Strutsに似ている云々という話があってさらに迷っているようですが
似てないから安心して(w、固定観念なしでStrutsの勉強されることをお勧めします。
きっとServlet/JSPが初めてなだけでWebアプリの作成は経験ある方なのでしょうから
すんなり理解することが出来ると思うです。
と、エラソーかつマジレスを試みてみる...。
0831814
03/03/08 05:57ID:???>こういったらアレですけど、そんなもの機能としてはどうでもいい部分の話だし
>あれこれ頭をなやます理由として弱いのではないでしょうか。
やっぱりそうなんですか…。どこのサイトにもこういうこと書いてないから
『もしかしてこれを気にする時点で何か間違えてるのか?』って薄々
感じてたんですよ。
もともとなんでこれを気にしたかっていうと、ウェブアプリ内にある静的なページ
(HTML)に対してforwardした時に(静的ページ内の)相対パスが使えない事に気付いて
『どうすればきれいに解決できるのかな?』って思ったのが切っ掛けなんですよ。
今思い付く解決策は『常に絶対パス』『パラメータ付きでServletにリンクしてServletが行き先を決める』『設計を改善』のどれかかなぁ?って。これ自体やっぱりどうでもいい
事なんでしょうか?
みなさんはどうしてるんでしょうか?
(あぁ、質問厨になってきた、すいません。)
0832830
03/03/08 11:36ID:???またまた役に立たない回答をしにのこのこやってきました。w
これはひとそれぞれ考え方はあるので違う意見もあるでしょうが、
絶対パスで表記することで実際の置き場所に依存せずちゃんと機能する、と考えると、
それはむしろすごくスマートな方法だと思うのですがどうでしょうか。
感覚的になじめない、というのはすぐ慣れるので没問題です。w
またどうしてもブラウザのアドレス欄を実際のファイルの場所を表示させたいのなら
<meta http-equiv="Refresh" ... > のHTML(JSP)にまずフォワードして、
実際に飛ばしたいパスはそのmetaタグで指定してやることで、結果的にURL欄には
本来のファイルのパスが表示されるわけですが、これはとてもスマートとはいえないですよね。
何の仕事もそうですが、何が重要なことなのか(どこに注力すべきか)を見極める事も
技術のうちなんじゃないでしょうか。
てことで、がんがってください。
0833nobodyさん
03/03/08 12:02ID:???相対パスが使えないのは環境設定のせいではない?
だったら設定変える方向も手だと思うが。
URLが変わったほうがいいのか変わらないほうがいいのかは機能にもよりそうなんだけどな。
検索結果表示するばあい(カタログから検索したあととか)は変わったほうがいいし
今言ってるみたいなカートに入れちゃうようなケースは変わらない方がいいし。
0834814
03/03/08 16:37ID:???>絶対パスで表記することで実際の置き場所に依存せずちゃんと機能する、と考えると、
>それはむしろすごくスマートな方法だと思うのですがどうでしょうか。
なるほど…。
Refresh使うのは激しく避けたいやりかたっすね。
>>833
>相対パスが使えないのは環境設定のせいではない?
そうなんですか?多分違うのではないかと思うんですけど。。
>検索結果表示するばあい(カタログから検索したあととか)は変わったほうがいいし
>今言ってるみたいなカートに入れちゃうようなケースは変わらない方がいいし。
そうかもしれないっすね。>>832さんも言ってたけどやっぱり状況によって
何に重点を置くかを見極める技術も大事なんでしょうね。
なんだかいろんなレスもらって気持ちがすっきりしました。
小さな勘違いが積み重なって大きな勘違いになっているような気がしてきましたよ。
ウェブアプリに関してあまり人のソースを読んでないからいけないのかな?Struts
を初めいろいろソースも読んで試してみます。
奥が深いなぁServlet/Java。。。
0835山崎渉
03/03/13 17:06ID:???0836nobodyさん
03/03/13 23:29ID:???0837nobodyさん
03/03/15 02:46ID:???0838nobodyさん
03/03/15 16:27ID:???0839nobodyさん
03/03/16 04:38ID:???0840nobodyさん
03/03/18 20:59ID:rglKCMujTOMCAT_HOME\conf\server.xmlの
<RequestInterceptor
className="org.apache.tomcat.request.SimpleRealm"
debug ="0"/>を
<RequestInterceptor
className="CustomRealm"/>に書き換えて、認証を行う際にCustomRealmというクラスを使うように
設定しました。
すると、TOMCATが起動しなくなってしまったのですが、何故でしょうか。
ちなみに、CustomRealm.classはTOMCAT_HOME\classesとTOMCAT_HOMEにコピーしてあります。
0841nobodyさん
03/03/18 21:01ID:PyosuKeNhttp://hkwr.com/
http://hkwr.com/bbs
0844nobodyさん
03/03/21 19:08ID:???CATALINA_HOME/logs/以下にあるファイルになんかエラー出てない?
ぱっとみ俺も>>842さんの意見と同じこと思ったんだけど。
TOMCATのバージョンは?
0845nobodyさん
03/03/22 15:24ID:vlHFEXy6何か方法はないでしょうか?
Tomcatを使っています。
0846nobodyさん
03/03/22 15:51ID:tvVDGUGiアドレス欄に何も書かずにWEBページにアクセスする方法知ってますか?
あなたがそれを知っていれば簡単なことです。
0849nobodyさん
03/03/22 19:15ID:tvVDGUGiF5キーを押されると怖い
0851nobodyさん
03/03/22 20:41ID:tvVDGUGiだって、フレームを記述しているページがリロードされてしまうから
ページ制御が大変そうじゃん。
0852850
03/03/22 20:44ID:tvVDGUGiフレームの件はページ遷移をしっかり考えれば
なんとかなるけど、>>845のような質問してくるような奴には
そこまで頭回らないと思う。
0853nobodyさん
03/03/22 20:44ID:tvVDGUGiの名前は850ではなく851でしたすんまそん。
0854nobodyさん
03/03/22 22:27ID:/t7xrt68どうしたらよいですか?
index.jspはTomcat\webapps\index.jspにありまつ。
tomcat4.1.8 + Apache2.0.44
(Apacheの質問になるのかな…)
0855nobodyさん
03/03/22 23:06ID:tvVDGUGiApacheでDocumentRootをindex.jspにするのじゃダメ?
0856nobodyさん
03/03/22 23:19ID:LQ5sLBh+mod_jk?
0857854
03/03/22 23:36ID:???なるほど…
そこじたいをルートにすると。
Apacheと連携が意味なくなりそうですが、簡単でよさそうですね。
>856
そです。
mod_jk2
0858nobodyさん
03/03/23 00:13ID:0qX0GKp5なんで、Apacheとの連携が意味なくなるの?
0859nobodyさん
03/03/29 22:26ID:4JmL7Ui+質問ですがSingleThreadModelだとhttpのリクエストが
同時に発生したとき1つずつ順番に処理していくはずですよね。
フレームで4分割して4つとも同じServletを呼んでおり、
doGetの入り口と出口で文字列をファイルに出してみました。
すると、doGetを抜けないうちに別のリクエストのdoGetが
実行されていました。
SingleThreadModelなのにどうしてこうなるのでしょうか。
SingleThreadModelの認識が間違っていたらすいません。
0860nobodyさん
03/03/29 22:35ID:C7EFXviWhttp://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/SingleThreadModel.html
「このインタフェースでは、静的クラス変数などの共有リソースへのアクセス、
またはサーブレットの適用範囲外のクラスへのアクセスにより
生じる同期の問題を防ぐことは行いません。 」
とあるが、この辺の問題ではないのかな?
0861nobodyさん
03/03/29 22:36ID:i2vNq3FD0862nobodyさん
03/03/29 23:06ID:YkFGJIRLインスタンス変数しか使っていないのでクラスのstaticな
変数は定数を除いてありません。
SingleThreadModelで同時にdoGetが実行されなければ、それで
いいのですが。
0863nobodyさん
03/03/29 23:58ID:C7EFXviWほんじゃ、これかいな?
http://java-house.jp/ml/archive/j-h-b/051643.html
0864nobodyさん
03/03/31 21:55ID:LphoPnfaローカルホスト1へリダイレクト、"http://hoge/B"に要求が来た場合はホスト2へリダイレクトといった
処理は可能でしょうか?
コンテナにはmod_jkを利用しています。
mod_jkには「Alias /A "ホスト1/A"」と記述したのですが、上手くリダイレクトされませんでした。
0865nobodyさん
03/04/01 00:07ID:lNskJ6yJ0866nobodyさん
03/04/01 00:35ID:???分けてます?俺は最初【モデル】【コントローラ】【豆】のように役割で
分けていたんですけど、どうも良くない気がしてきて。。
みんなはどうしてるのかなぁ?って……。
0867nobodyさん
03/04/01 01:09ID:RhFG9j26あれば教えてください。TOMCAT4でお願いします。
googleしてみたけど、適当なのが見付からなかった。
英語だとすぐにみつかるのかなー
0869nobodyさん
03/04/01 01:42ID:RhFG9j26そうかな?web.xmlの記述とか、roleの設定があるはずだけど。
0870nobodyさん
03/04/01 09:24ID:???>そうかな?web.xmlの記述とか、roleの設定があるはずだけど。
それだけだよ。
あ、server.xmlも関係あるか。
http://www.sk-jp.com/java/servlet/webxml.html
↑これとserver.xml内のコメントを読めば出来ると思うよ。
サンプルじゃなくてごめん。
0871nobodyさん
03/04/01 14:13ID:???HTTP/1.0 401 Unauthorized
を返すようにすればブラウザが勝手にBASIC認証窓開かないか?
んで認証窓にID/Pass入力されて再度HTTPリクエストが来たらHTTPリクエストに
Authorization: Basic e398adncSCDfaU=
ってのがあるはずだから「e398adncSCDfaU=」の部分をBase64エンコードすれば
「ID:Pass」を取得することが出来る。
あとは取得したID/PassをファイルなりDBなりとマッチングさせれ。
↑の処理を行うクラス作っとけばサーブレットコンテナの環境に依存しなくていいんでないかい?
0872nobodyさん
03/04/01 22:16ID:???<% out.print("hello"); %>
をブラウザで見て、ソースを覗くと初めの行に改行が入ってしまいます。
改行を取り除くにはどうすればいいでしょうか...。
0873nobodyさん
03/04/01 22:40ID:uPwsrMiw<%@ page contentType="text/plain;charset=Shift_JIS"%><% out.print("hello"); %>
こう書くしかない。1行目の終わりに改行があるからブラウザにそれが出力されている。
0874nobodyさん
03/04/02 09:52ID:YSAS7m2/さんくす。参考になる。
0875bloom
03/04/02 10:01ID:WhIcMm9h0876Web&Java初心者
03/04/02 13:50ID:/kM7QiLhJdk 1.3.1
Tomcat 4.0.2
1.ユーザがダウンロードボタンをクリックしたら、
選択したデータをZipファイルにして送信し、
ユーザのPCに保存終了後、データベースに送信完了のフラグを更新する。
2.ダウンロードボタンをクリックした時に、
ファイルを作成する処理でなんらかの理由でデータを抽出できない事があるので、
処理結果をブラウザに表示する。
よろしくお願いします。
0877nobodyさん
03/04/02 14:35ID:???1番は
application/octet-streamとかDL用のリクエストヘッダをプログラムで返す
↓
ファイルオープンしクライアントと80ポートでsocketオープンする
↓
socket通信でファイルの中身を送信する
↓
ファイルとsocket通信をクローズする
ってやるんだと思う。想像だけど。
1番が実現出来れば2番は簡単なはず。catchすればいいだけのはずだから。
0878nobodyさん
03/04/02 14:45ID:nAz+h6Nc??????????
Tomcat使ってるのに何でそんなことするの?
876はWEBアプリケーション作りたいんでしょ?
>>876
>ユーザのPCに保存終了後、データベースに送信完了のフラグを更新する。
この部分が難点かも。サーバー側では保存が終了したかどうかはわからないから。
「保存が終了したらこのボタンを押す」みたいなボタンをつけて
ブラウザから終了したことを通知しないと。
HTTP通信は基本的にクライアントからのリクエスト/サーバからレスポンス
で切れちゃうからね。
0879nobodyさん
03/04/02 15:00ID:LshZPoLl0880nobodyさん
03/04/02 15:01ID:3PSDJoeOhttp://www.pink-angel.jp/betu/linkvp2/linkvp.html
0881Web&Java初心者
03/04/02 15:24ID:/kM7QiLh言葉足らずですいません。Web側だけで可能かです。
>>878さん
やはりそうですか。ありがとうございました。
>>876の2をもう少し説明しますと、
(1)ダウンロードボタンクリック
↓
(2)新しい画面が作成される
↓
(3)ファイルの保存ダイアログ
↓
(4)(2)の画面に処理結果が表示される
といったイメージです。
引き続きよろしくお願いします。
0882878
03/04/02 15:44ID:???"処理結果"っていうのがどこで行われる何の処理なのかわからないな。
基本的にHTTPではクライアントのリクエストに対して、サーバは何か
結果(画面)を返すってことは忘れないでね。
結果が返された後(画面表示後)はクライアント(ブラウザ)側で起こったことは
クライアントから通知されない限り(もう一度リクエストを送信しない限り)
サーバ側では知る由もない。
0883Web&Java初心者
03/04/02 15:59ID:/kM7QiLh処理結果とは(1)で選択したデータを全て抽出できるとは限らないので、
ダウンロードファイルに選択したデータが含まれているかどうかの一覧表です。
例えば
データ名 結果
データ1 OK
データ2 ・・・により抽出できませんでした。
データ3 OK
のようなカンジです。
0885Web&Java初心者
03/04/02 16:18ID:/kM7QiLhリダイレクトを調べてみます。
ありがとうございました!
0886nobodyさん
03/04/02 20:23ID:rddT8ONN一度のHTTP接続で
ファイルを送ると
HTTPヘッダでは
application/octet-stream
になってるはずなので、
結果をHTMLとして送るのは出来ないのでは?
同じようなシステム作ったことあるけど、
送信した(クライアントがDLした)ファイルの後ろに
HTMLドキュメントがついて保存されたよ。
0887nobodyさん
03/04/03 04:00ID:???C: ダウンロードボタン押下
S: データベースからデータを抽出してダウンロード用のファイルを生成しつつ
HTML 形式で処理経過を返してゆく (out.flush() を使用)
S: ダウンロードデータの抽出が終わったらそのファイルへ飛ぶような JavaScript
を出力し HTML の出力 (サーブレットの処理) を終わる
C: ダウンロードファイルのダウンロードに入る
S: ダウンロード結果を付け込みたかったらファイルダウンロード専用の
サーブレットをかます
しかしクライアント側での保存終了後ってのは明らかに無理だな。保存ではなく
「ファイルを開く」をしたかもしれないし、最後の数バイトでキャンセルボタン
押されたらサーバでは検出できないし。どのみちリトライ可能な手段は残して
おかないとトラブルになるぞ。
0888nobodyさん
03/04/04 06:20ID:???どうやって実装していますか?
俺の考えではセッションに検索条件を持たせて絞り込む時は検索条件を追加
することで実現するのかな?って思ってるんですけど。
なんだか自分の考えに自信が持てないというか、もっといい方法があるような
気がして…。
0889nobodyさん
03/04/04 08:10ID:nSgKy/k8言ってることがよくわかんねえ
なんでセッションなの?
0891nobodyさん
03/04/04 23:22ID:???前の検索条件と AND で繋げれば良い。セッションに持っても HIDDEN で
持たせても Cookie に持たせても、好きなようにやれ。
0892nobodyさん
03/04/05 08:33ID:LO75gp9ZResponseのendodeURLって結局セッションIDをhiddenで持たせるのと何がちがうんでしょうか?
宜しくお願いします。
0893nobodyさん
03/04/05 17:12ID:???ですよね。いや、今作ってるものが検索条件が複雑でいろんな条件を指定できる
(名前とか日付けとかその他諸々)のでどうやって実現しようかな?って悩んでたんですよ。
hiddenで持たせる方向で考えてみます。
0895sage
03/04/05 22:42ID:7TQlNQdFもしhiddenでセッションIDを引き回すとしたら、
必ず <form></form>が必要になるわけだけど、
encodedURLで得たURLはもうセッションIDが引数に
セットされた文字列が帰ってくるわけだから
そのまま<A HREF=〜>に埋めてやるだけでOKでしょ。
ぜんぜんコーディングの手間が違うと思うけど。
0896nobodyさん
03/04/05 22:44ID:???HIDDEN が使えるのは <FORM> タグだけだろ。<A> タグがクリックされたときや
<META HTTP-EQUIV="Refresh"> で自動的にジャンプするときにどうやって
セッション ID を引き継ぐ気だ?
>>893
データベース使ってたくさん AND のある検索する気なら「インデックスが
張ってあって一致件数の少なそうな条件が先に評価されるような順序にする」
の鉄則を忘れなよ。
0897nobodyさん
03/04/05 23:11ID:9bUvCykBURLエンコード(GETメソッド)は
ブラウザとかプロキシのキャッシュとか
考えるとセキュリティ上問題があったり
おかしな挙動するよ。
<FORM>でデータ渡すならPOSTだ。
0899bloom
03/04/05 23:23ID:tO0IM23T0901nobodyさん
03/04/06 00:27ID:n146gHCn複数条件の場合、
インデックスがあればインデックスを条件の最初に持ってくる、
インデックスが無ければ抽出される結果が少ない条件を前に持ってくる
って、ことなんじゃないの?
実際それを満たして無くてもオプティマイザがうまいこと処理してくれる
DBサーバもあるけどね。
つーか、実行プラン(実行計画)を出してみて
コストが少ないSQLになるようにしろってことだ。
まあ、そんなことは基本中の基本だから
やってない奴なんていないだろうけど。
あとは、コストベースのオプティマイザ使ってる
DBサーバの時は気をつけろよ。
インデックス無視されることあるからな。
0902nobodyさん
03/04/06 00:51ID:???>実際それを満たして無くてもオプティマイザがうまいこと処理してくれる
>DBサーバもあるけどね。
つか、where句の条件の記述順序でアクセスプランが変わる
RDBMSなんてあるのかな?
>つーか、実行プラン(実行計画)を出してみて
>コストが少ないSQLになるようにしろってことだ。
>>893のように条件の組み合わせが動的に決定されるような要件では
すべてのケースを網羅してチェックすることは難しいと思われ。
頻繁に使われる条件の組み合わせがあらかじめ予想できるのであれば
それに合わせたインデクスを用意するのが良いだろうが、まったくの
ランダムなのであればDSS、DWH向けのチューニング手法が参考になる
だろうね。
0904nobodyさん
03/04/07 11:30ID:w7yHeSz8/.n l /⌒ヽ
| l l | ,' /7 ,'
, '' ` ー ' '-' /
/ 、_, `ヽ
l , .-. 、`´ l
ヽ ヽ ̄フ / やっぱもろ〜〜〜!
丶、 ̄____,/
/ ,. - 、 ) http://www.media-0.com/www/dvd01/index1.htm
(( ( n ([N],ハ_う
ゝ)ノ  ̄ ヽ
/ _ l ))
〈__ノ´ `(_ノ
0905nobodyさん
03/04/08 17:16ID:mw0/RQxb0906nobodyさん
03/04/08 19:25ID:???0907nobodyさん
03/04/08 19:25ID:???0908nobodyさん
03/04/08 19:25ID:???なんで、IDが出ないんだ?
0909●
03/04/08 19:26ID:???0910nobodyさん
03/04/08 19:27ID:???なんで漏れだけIDが出てないんだ?
0911nobodyさん
03/04/08 20:30ID:azvprz9k笑ったよ。
0912nobodyさん
03/04/08 21:19ID:0CFlgORM0913nobodyさん
03/04/08 21:50ID:???0915914
03/04/09 00:47ID:LSjHUSOD0916かおりん祭り
03/04/09 00:52ID:???〜oノハヽo〜 / ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^▽^) < こんなのがございまーす♪
= ⊂ ) \_______
= (__/"(__) トテテテ...
0917あぼーん
03/04/09 00:57ID:???http://muryou.gasuki.com/moe/hankaku10.html
http://muryou.gasuki.com/moe/hankaku09.html
http://muryou.gasuki.com/moe/hankaku08.html
http://muryou.gasuki.com/moe/hankaku07.html
http://muryou.gasuki.com/moe/hankaku06.html
http://muryou.gasuki.com/moe/hankaku05.html
http://muryou.gasuki.com/moe/hankaku04.html
http://muryou.gasuki.com/moe/hankaku03.html
http://muryou.gasuki.com/moe/hankaku02.html
http://muryou.gasuki.com/moe/hankaku01.html
0918nobodyさん
03/04/09 01:02ID:???DBのトランザクションは、いらないんですか。
そんな感じの煽り文句を散りばめた雑誌を見たんですが...
また確認して来ますど
レス数が900を超えています。1000を超えると表示できなくなるよ。