トップページ⇒php
992コメント372KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん04/06/16 05:30ID:XUmu9/tY
質問する前に最低でもGoogleで検索するように

前スレ
■■ 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
0850nobodyさん2005/04/24(日) 13:02:24ID:???
で?
0851nobodyさん2005/04/24(日) 13:11:09ID:???
>>849
枯れているって事だろ
0852nobodyさん2005/04/24(日) 16:14:00ID:???
公式サイトの Tomcat 4.x のところに
We encourage all users to upgrade to Tomcat 5.x whenever possible.
とあるけどね。
0853nobodyさん2005/04/24(日) 16:15:07ID:???
>>851
っていうか、放置。
0854nobodyさん2005/04/24(日) 19:24:04ID:???
>>853
セキュリティホールとかにはちゃんと対処されてると思うけど。
0855nobodyさん2005/04/24(日) 22:20:41ID:???
>>851
枯れているんじゃないんだ。廃れているんだ。
0856nobodyさん2005/04/26(火) 18:35:25ID:???
Tomcat5(Tomcat5.0.28)だとデフォルトでajp12のポート
(同じくデフォルトで8007)をlistenしないようなのですが、
これを有効にするにはどこを有効にすれば良いのでしょうか?

Tomcat3.x当時は
org.apache.tomcat.service.connector.Ajp12ConnectionHandler
あたりを有効にしたのですが...
0857nobodyさん2005/04/28(木) 14:52:16ID:JL7cKaDn
すみません。
tomcat5.0.28をWin2003サーバのサービスとして動かしたいのですが、なぜかサーブレットを認識してくれません。
jspはちゃんと読み込むのですが…。
理由としては、strutsなどは使用せず、かつ個々のアプリのweb.xmlを記述せず、invokerのデフォルトの
http://localhost:8080/hogetest/servlet/hogeServlet
のような形で直接アクセスしようとしているからだと思います。
環境変数のCLASSPATHに、
%TOMCAT_HOME%\hogetest\WEB-INF\classes
を通しているので、サービスではなく、startup.batからtomcatを起動した場合には起こりません。
(startup.bat起動時にも、setclasspath.batの中でシステムの環境変数を
上書いているようなので、その中を修正しました)

サービスの時だけに使う環境変数などがあるのでしょうか?
なお、service.batファイルのPR_CLASSPATHに、%TOMCAT_HOME%\hogetest\WEB-INF\classesを
追加してみてもだめでした…。
0858nobodyさん2005/04/28(木) 15:03:22ID:???
わかりにくいので修正。

×を通しているので、サービスではなく、startup.batからtomcatを起動した場合には起こりません。

○を通しているので、サービスではなく、startup.batからtomcatを起動した場合には、サーブレットが動きます。
0859nobodyさん2005/04/28(木) 15:06:17ID:???
>>857
環境変数をいじるのは愚の骨頂。

1. invokerを使うな、web.xmlを書け。
2. invokerはデフォルトで無効になっているので、有効化しろ。

1.がベスト。どうしてもinvokerを使いたかったら2.。
環境変数でどうにかしようと考えるのは糞。
0860nobodyさん2005/04/28(木) 15:11:20ID:???
>859
助言サンクス
invokerは有効化してるよ。だからサービス以外では動く。
諸事情でweb.xmlを書くなと言われてる。
だから漏れも困ってるんだよ…。
0861anonymouse2005/04/28(木) 15:55:20ID:???
Eclipse関連スレって無かった?探してみたけど見当たらなかったんだが・・・

ネタ:画像ファイルをテーブルに切り貼りするときに夢波とか写真屋を立ち上げるのが面倒なので、
ライトな機能美のプラグインがありませんかあ?
08628572005/04/28(木) 16:22:30ID:???
自己レスだが、tomcatをServiceにチェック入れた状態で再インスコしたらうまくいきました。


なんだよそれ…○| ̄|_
0863nobodyさん2005/04/28(木) 16:28:20ID:???
>>861
Eclipseは、此処じゃなくプログラム板の方じゃないかと思うが・・・。
0864nobodyさん2005/04/28(木) 17:17:59ID:???
>>857 環境変数をユーザ固有のものに設定してるのでは?
デフォだとサービスはLOCAL SERVICEとかで実行されてる。

質問です。
Tomcat5.5なのですが、
jspでPathInfoを取得するには
どのようなurl-patternでマッピングすればいいのでしょうか?
0865anonymouse2005/04/28(木) 17:20:23ID:???
>>863
ありがとう。探せた。
0866プログラマをされている方にお尋ねします。2005/04/28(木) 20:03:11ID:N9QivnjG
>>857
JAVA SUN APPSERVERを試してみたらいかがですか。DEPLOYTOOLでEAR,WARを構築して、VALIDATOR使えばそのような問題は予防できると思います。

「質問」

こちらで、サーブレットに詳しい方いらっしゃいますか。

・ユーザー(認証してセッション開始済み)が入力した変数(name, birthday)を受け取る。
・name, birthday の内容を含むPDFファイルを作成して、サーバー内に保存する(WEB-INFとは違う外付けHD)。
・PDFファイルを、同ユーザーのブラウザに出力する。
・同ユーザーだけには、再ログインした時に同じファイルの閲覧を許す。

この3行目が問題なのですが、setContentTypeに与えるMIMEの変数を工夫すればよろしいのでしょうか。

どなたか、解決策をご存知でしたらお助けくださいませんでしょうか。

宜しくお願いします。

あさか
0867nobodyさん2005/04/28(木) 20:51:08ID:???
PDFファイルをブラウザに出力するには
AdobeのReaderインストールする必要がある。

実際に表示してるのはAdobeのActiveXプラグインか何かだった気がする。

クライアントの環境に依存するようだが
ヘッダにContent-Disposition: inline を入れるとうまくいく場合もある
0868プログラマをされている方にお尋ねします。2005/04/28(木) 21:02:33ID:N9QivnjG
>>867
早速のご解答をどうもありがとうございます。

response.setContentType("Content-Disposition: inline");

とするのでしょうか。多分、このような変数を指定するのだろうなと
思っているのですが、その後どうすればいいのかなと考えると、
どんどん分からなくなります。

もう、PDFファイルは外部HDに保存済みですから、サーブレットで
HTMLファイルを作って、そのHTMLファイルに上のような変数を
していして、それから外部HDからPDFを読み込めばよろしいのでしょうか。

あさか
0869nobodyさん2005/04/28(木) 21:09:59ID:???
>>868
少しは自分で調べたらどうだね?

response.setContentType("application/pdf");
// ↓ filename の所にファイル名を埋め込む
response.setHeader("Content-disposition","inline; filename=\"" + fileName + "\"");
// ↓これが無いと、https通信の際にIEで表示できない
response.setHeader("Pragma", "");
response.setHeader("Cache-Control", "");
0870nobodyさん2005/04/28(木) 21:10:45ID:???
response.setContentType("type")はresponse.setHeader("Content-Type","type")と同じ。
だからやるならresponse.setHeader("Content-Disposition","inline")

Content-Typeの指定がどのていど影響あるのかはよくわからないな
application/pdfかapplication/octet-streamあたりになるのだろうけど

Googleとかで見つかるPDFをクリックした場合、ブラウザ内に表示される?
されないならクライアントの環境に原因がありそう

0871nobodyさん2005/04/28(木) 21:13:34ID:???
あとURLの最後が.pdfじゃないとうまくいかないかも
0872プログラマをされている方にお尋ねします。2005/04/28(木) 21:16:09ID:N9QivnjG
>>869−871

大変ご丁寧なご指導をどうもありがとうございました。

はい、ここまでご教示いただけましたら、後は自分で調べられると思います。

重ねて御礼申し上げます。 あさか
0873プログラマをされている方にお尋ねします。2005/04/28(木) 22:07:45ID:N9QivnjG
>>871

下の通りにしてみたのですが、どうもうまくいきません。全く何も表示
されませんし、「保存しますか、開きますか」のダイアログボックスも
出てきません。

WEB-INFの下ではなくて、独立した外部HDにPDFを溜めたいのですが、
どうやらここで問題が出ているみたいです。

大変お手数ではありますが、再度ご教示頂けませんでしょうか。

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

ASAKA

<%@ page pageEncoding="UTF8" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.*" %>
<%@ page import="java.util.*" %>
<%
final String filename = "C:/Documents and Settings/Administrator/Desktop/medway_ss.pdf";
response.setContentType("application/pdf");
response.setHeader("Pragma", "");
response.setHeader("Cache-Control", "");
response.setHeader("Content-disposition", "inline; filename=\"" + filename + "\"");
%>
0874nobodyさん2005/04/28(木) 22:40:57ID:???
クライアントに対してどんなHTTPメッセージを返すのかを考えれば、
そのコードが根本的におかしいと分かるはず。

それと動作するところまでできたら、
If-Modified-Sinceヘッダに対応するとさらに良くなります。
0875nobodyさん2005/04/28(木) 23:39:26ID:???
サーブレットじゃないじゃん
0876nobodyさん2005/04/29(金) 00:41:07ID:???
// レスポンスのをセット
response.setContentType(application/pdf);
// レスポンスのHTTPヘッダにファイル名をセット
response.setHeader(
"Content-disposition",
"inline; filename=\"" + fileName + "\"");

response.setHeader("Pragma", "");
response.setHeader("Cache-Control", "");

// ファイル読み込み用バッファ
byte buffer[] = new byte[4096];
// ファイルをレスポンスのストリーム(ServletOutputStream)へ出力
OutputStream os = response.getOutputStream();
FileInputStream fin =
new FileInputStream("C:/Documents and Settings/Administrator/Desktop/medway_ss.pdf");
int size;
while ((size = fin.read(buffer)) != -1) {
os.write(buffer, 0, size);
}
fin.close();
os.close();

0877プログラマをされている方にお尋ねします。2005/04/29(金) 09:30:35ID:eNtQn2YF
皆さん、どうもありがとうございました。

大変おもしろいです。普段は、テキストファイルしか扱いませんから、良い勉強をさせて頂きました。

私がずっと理解できなかったことを、上手な方はいとも簡単にこなしてしまうのですね。

重ねて御礼申しあげます。

あさか
0878プログラマをされている方にお尋ねします。2005/04/29(金) 09:34:06ID:eNtQn2YF
>>874
If-Modified-Sinceは大変便利そうですね。

あと、HTTPS通信時の対応まで教えてくださって、どうもありがとうございました。

本当に嬉しいです。皆さん、どうもありがとうございました。

あさか
0879おばけQ2005/04/29(金) 11:18:35ID:???
どもどもおばけQこれからよろ
0880nobodyさん2005/04/30(土) 20:59:44ID:???
Tomcat5.5.xでjsvcツール使って起動してる人いますか?
そして問題なく動いてますか?
0881& ◆ZVUKXxfXHM 2005/05/04(水) 17:57:54ID:3i9h8z1f
文字化けで困っています。
-----------------
input_id_pw.html
-----------------
<html>
<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />
<head>
<title>ID・パスワード登録</title>
</head>
<body>
ID・パスワード登録<br>
<form method="post" action="input_id_pw_check.jsp">
名前:<input type="text" name="new_name" size="20" /><br>
ID:<input type="text" name="new_id" size="10" /><br>
パスワード:<input type="password" name="new_pw" size="10" /><br>
<input type="submit" value="登録" />
<input type="reset" value="取消" />
</form>
</body>
</html>


0882& ◆GabKxMH/0A 2005/05/04(水) 18:00:42ID:3i9h8z1f
---------------------
input_id_pw_check.jsp
---------------------
<%@ page contentType="text/html;charset=Shift-JIS" %>
<html><head><title>ID・パスワード登録</title></head><body>
ID・パスワード登録<br>
<%
out.println("<br>名前:");
out.println(get_name);
out.println("<br>ID:");
out.println(get_id);
out.println("<br>パスワード:");
out.println(get_pw);
out.println("<br>登録しますか?");
%>
</body></html>

日本語でhtmlからjspにデータを渡した結果が
文字化けしてしまいます。
なぜでしょうか・・・
08838812005/05/04(水) 18:17:17ID:3i9h8z1f
<% %>
内に
request.setCharacterEncoding("Windows-31J");
を入れることにより解決しました
お騒がせしました。
0884nobodyさん2005/05/07(土) 17:25:31ID:/pBZAjNL
ページの遷移でいったんページを移動して
ツールバーの戻るボタンを押したとき
JSP側のHTTPメソッドでGETかPOSTと違う事でデータの受け渡しなど多少動きに違いがあるのでしょうか?
それともブラウザ上の戻るボタンに関しては全く同じなのでしょうか?
0885nobodyさん2005/05/07(土) 18:05:25ID:U7wdq9wc
http://p3021-ipad402marunouchi.tokyo.ocn.ne.jp/

wwwwwwwおkwwwおkwwwっうぇうはっwww
wwおkwwwっうはっwwwwwwwwwwwwwww

おkwwwwwwwwwwwwwwwwww
0886nobodyさん2005/05/07(土) 18:23:56ID:0AZAgz0s
http://YahooBB220009124044.bbtec.net/
wwwwwwwwwwwwっっwwwっうぇうはっwww
うぇwwwうはっwwwっうぇっうぇwwwwww
うはっwwwっうぇwwwwwwうぇwwwっwww
0887nobodyさん2005/05/08(日) 02:37:10ID:elVIc2fQ
JSP/Servlet で画像掲示板作ってみたんだけど
瞬間的にOUt Of Memory エラーがでます

こういう場合はそうすればいいですか?
0888nobodyさん2005/05/08(日) 03:16:40ID:???
まずはヒープサイズのオプション
-Xms -Xmxあたりをしらべてみ
あと-Xloggcで出したログをGCViewerでみてみるとか
0889プログラマをされている方にお尋ねします。2005/05/08(日) 11:07:47ID:EcAkcyME
>>887、888
私は積極的に(GCに任せずに)不要になったオブジェクトには
NULL入れています。JDKの1.3あたりまでは、これでかなり
助かったことを覚えています(SWINGでGUIをつくっていました)。


「質問」 ユーザーからの入力(NAME,ADDRESS)を受け取り、
HTMLファイルをつくります。そのファイルを、みなさんでしたら
どうしますか。HTMLファイルは、ディレクトリ作って溜め込みますか、
それともSQLのデーターベースへHTMLのデーター全部入れますか?

もう、データーベースとファイルシステムの使い方さえわからなく
なりました。プロのかた、お助けください。お願い致します。
0890nobodyさん2005/05/08(日) 11:17:23ID:???
>不要になったオブジェクトにはNULL入れています

それは、GCに任せているのとどう違うの?

> 「質問」 
HTMLファイルを作る必要がある?俺ならその部分はJSPで処理をする。
0891プログラマをされている方にお尋ねします。 2005/05/08(日) 11:47:16ID:EcAkcyME
>>890
こんにちは。どうもありがとうございます。

NULLを入れるのは、できるだけ早くメモリの解放をしたいときです。
ファイルハンドラが閉じられる後ではなくて、前にしたいときだとか。
例えばサーブレットでSTRINGBUFFにHTML溜め込んで、ファイル
ストリームへ吐き出すとします。もう、その直後にSTRINGBUFFを
NULLにしたい時には、積極的にNULL入れます。

GCは、ファイルストリームが閉じられてから
STRINGBUFFをNULLにしているかもしれませんし。

質問についてですが、HTMLファイルは、後で
何度も再利用される予定です。JSPで処理をする
ということは、必要なデーターだけをデータ
ベースへ溜め込んで、あとで利用するときは、
DBからそれをまた取り出すということですね。
プロの方は、みな、そうされているのでしょうか。

わたしは、HTMLどんどんつくってしまって、
一つのディレクトリに溜めています。これなら、
アプリケーションサーバーが動いてなくても、
あとで利用できますし。

そこで、考えたのが、HTMLごと、HTMLの内容全部を
VARCHAR として、DBへ溜めることだったのですが。。。

また、ご教示ください。大変勉強になります。
0892nobodyさん2005/05/08(日) 12:32:15ID:???
参照にnullを代入した瞬間にゴミ集めが行なわれるわけじゃないでしょう。
0893nobodyさん2005/05/08(日) 12:44:28ID:???
>>891
どこからも参照されなくなったオブジェクトはGCの対象としてマーキングされる
だけで、その都度GCされるわけじゃない。VMが適切なタイミングでまとめて
GCする。
ちなみに、JavaにおいてはNULLじゃなくてnullだ。
0894nobodyさん2005/05/08(日) 16:38:07ID:???
>>887
プログラムがバグっているだけだろ
0895nobodyさん2005/05/08(日) 16:44:18ID:???
>>889
質問の意味が分からない。
何がしたいんだ?

あと、他の人も書いているけど、nullを入れても入れなくても、
メモリの回収はGCがする。いつするかはGC次第。
JDKのバージョンがあがって改良されているので、
古いJDKのバージョンだったら有効だったのかもしれない。

変数が適切なスコープにないってオチじゃないよね?
それならGC関係ないし、自分でnull入れたらどうこうって
なるだろうし。
0896プログラマをされている方にお尋ねします2005/05/09(月) 13:58:27ID:0n/h3hsi
>>895

お世話になります。HTMLファイルを自動生成しているんです(ユーザーの入力を得てから)。
生成されたHTMLは一つのディレクトリに溜め込んでおいて、あとで利用するときは、
一行ずつHTML読んで、OUT.PRINTLN()を使っています。

問題は、ディレクトリに溜め込まないで、SQLデーターベースへ(ユーザー入力ではなくて)、
作成したファイルごと、VARCHARのデーターとして溜め込めないかな、プロの方だったらこんな
ことするのかな、ということです。

いかがなものでしょうか。

GCにつきましては、たしか強制的にGCを呼び出す方法があったはずですので、
もう少し勉強してみます。どうもありがとうございます。
0897nobodyさん2005/05/09(月) 14:01:38ID:???
>強制的にGCを呼び出す方法
System.gc() ね。
ほとんどの場合、アプリから強制的に呼び出す必要はない。
GC処理そのものはかなりコストのかかる処理なので
アプリから強制的に呼び出したほうが効率的な場合よりも
パフォーマンスを低下させることの方が多く、逆効果。
0898nobodyさん2005/05/09(月) 14:02:48ID:???
>>896
DBに入れて、必要な場合にファイルとして書き出すぐらいなら
JSP使った方がいいと思うよ
0899nobodyさん2005/05/09(月) 14:20:13ID:PtO611Xm
http://i60-42-163-4.s02.a043.ap.plala.or.jp/
wwwっうぇwっうぇw
wおkwwwっwwwっうはっwww
っwww
wwwwwwwwwwwwっうぇ
wうぇwwwwwwwwwwっうぇうはっwww
うぇwww
0900nobodyさん2005/05/09(月) 14:20:25ID:???
>>896
ふつーはHTMLのガワだけ作っといて変化する部分(AME, ADDRESS)を埋め込んで出す、そのためにあるのがJSPやらテンプレートフレームワークやら、
鯖負荷が問題になる場合は静的HTML作っといてそっちにアクセスさせる、Servlet(だよな?)でファイル読んで表示したりはしない。
0901nobodyさん2005/05/09(月) 21:31:17ID:???
>>896
ユーザが「あ」と入れたら「あ」と書かれた*.htmlを作成して保存するの?
わざわざ*.htmlのファイルを作る意味が分からん。

いちいちファイルにするなりDBに格納するなりしてたら、ゴミが残るでしょ。
その保存したファイルをどうするのよ?
ログとして残したいだけなら「あ」だけDBにでもログファイルにでも残しときゃいいだけだし、
0902プログラマをされている方にお尋ねします2005/05/09(月) 21:57:08ID:0n/h3hsi
みなさん、どうもありがとうございます。896のようなことは、
する意味がありませんね。

901さんのご指摘は、もっともだと思います。
もっと、入力が複雑で、HTMLの作成もかなり面倒な
アルゴリズムですから、HTMLで残しておいているのですが、
設計が上手ではありませんでしたね。

どうもありがとうございました。勉強になりました。
0903nobodyさん2005/05/09(月) 22:03:23ID:9BI6J6UW
http://I029247.ppp.dion.ne.jp/
うぇwwwwうはっwwwwうぇwwwっwwwwwwwwwwww
wっうぇうはっwwwwwwwwwwwww
っ

っうぇ
wwwwwwwwwwwwおkwww
0904nobodyさん2005/05/09(月) 22:31:52ID:oj96+Y+F
http://pdf791d.tokynt01.ap.so-net.ne.jp/
おkwwwwwwwwwwwwwwwっっうぇwww

wwwうぇwwwwwwwwwwwwwwwwwwwwwwww
っうぇwwwwwwwwwwwwwおkwww
0905nobodyさん2005/05/09(月) 23:21:09ID:VIkDkqEH
http://YahooBB219199036061.bbtec.net/
wwwwっうぇwwwwwwwwwwwwwwwwwwwwwwww
wおkwwwうはっwwwうはっwww
wwwwwwwwwwwwwwwwwwっうぇwうぇwww
0906nobodyさん2005/05/11(水) 22:09:50ID:???
tomcatでサーバを起動してJSPを表示させる場合
初期設定では
http://localhost:8080/
みたいにURLがなっていると思いますが
これを任意の名称にURLを変更させる事は出来るのでしょうか?

実際に開発などで社内システムなどを作る時は
実際に使う時は各社内で任意になると思いますが
0907nobodyさん2005/05/11(水) 23:45:18ID:???
>>906
Servlet開発以前の基礎知識が不足していると思われるので、
先輩や同僚にみっちり教えてもらった方がよさげかもしれない。

ヒントになるかどうかわからないけど、
http://www.example.jp:8080/path/to/hoehoe
の構成要素の一般的な解釈は
http ---> スキーム名
www.example.jp ---> ホスト名
8080 ---> ホスト上でのサービスしているポート番号
/path/to/hoehoe ---> サービス内でのパス名
になります。(厳密ではないかもしれないけど)
0908nobodyさん2005/05/11(水) 23:54:40ID:???
>>906
DNSに登録汁
0909nobodyさん2005/05/12(木) 18:30:44ID:???
servletからjspに値を渡す事はできないのでしょうか?
イマイチservletとjspの連携が分からなくて・・・。
0910nobodyさん2005/05/12(木) 19:18:42ID:???
Servlet間で値のやりとりをするときは
Application、Session、Request
というスコープ(≒寿命)の違う格納域が用意されており、
一般的にそれらを利用します。
# もちろんデータベースなど外部のリソースも使えますが

JSPはServletの一形態でしかないので、
ServletからJSPへの連携でも同様の考えになります。
で、JSP環境では便利なようにそれらに対応する
application、session、requestという変数が定義済みになっています。
0911nobodyさん2005/05/12(木) 20:44:44ID:???
JSP2からは、受け取った値は式言語で扱うのが楽だな
0912nobodyさん2005/05/12(木) 23:02:51ID:???
現在、WebLogic 8.1上でServlet/JSP+EJB(+Webサービス)を
用いたWebアプリケーションを作ろうとしています。
そこで、認証に関して質問させてください。

満たしたい要件は次の通りです。
・ユーザはDBで管理されている
・権限毎にアクセスできる領域が異なる
・ユーザは日々増える

このような要件を満たす為に最初に思いついたのは、
TomcatにあるようなJDBC(DataSource)Realmを使う方法でした。
ところが、WebLogic8.1にはJDBCRealmに代わる物が無い。
「じゃ、自分で作るか」と思っていたのですが、
http://dev2dev.bea.com/pub/a/2004/01/whitepaper_tomcat_migration.html
↑このサイトで「WebLogic 6.0まではあったけど、7.0で無くなった」
という記述を見つけ悩んでいます。

というのも、わざわざあったものを無くしたというのは他の開発者たちが
JDBCRealmによる認証を使ってないからではないかと思ったからです。
ならば、みなさんはどのように認証を行っているのか知りたく、質問させていただきました。
0913nobodyさん2005/05/12(木) 23:10:50ID:SAjnBRZ0
JSPでDBからデータを取得して表示するとき
While文で
<td>\<%= result.getInt("price") %></td>
にするのですが
このときデータを取得するたびにデータの合計を加算させたい場合はどうすればいいのでしょうか?
<%= の中に変数などを入れても、なかなかうまくいきませんので教えてください
0914nobodyさん2005/05/13(金) 10:10:57ID:???
<% int total = 0;%>

・
・
<%
int price = result.getInt("price");
total += price
%>
<%=price%>

とかやればいいんでねーの?
0915nobodyさん2005/05/13(金) 19:34:13ID:iHOWVBQE
>>912

File Realm はバグだらけだからね、FRだけはやめたほうが
いいです。
0916nobodyさん2005/05/13(金) 22:56:32ID:f30Z4gnN
>>915

FileRealm にそんなにバグあったかなぁ。
いずれにせよ 8.1 ならデフォルトで組み込みの LDAP が使われるね。

>>912

DB 使うのが要件なら作るしかないんじゃないの?
0917nobodyさん2005/05/14(土) 02:19:53ID:YT4K1s3l
リストボックスの中のデータを指定のカラムから抜き出して
候補として表示させたいのですが
どうすればいいのでしょうか?
0918nobodyさん2005/05/14(土) 03:13:42ID:???
指定のカラムから抜き出したデータをリストボックスの候補として設定すればいいと思います。
0919nobodyさん2005/05/14(土) 11:47:06ID:???
>>918
そのやり方を教えてください
0920nobodyさん2005/05/14(土) 16:06:44ID:???
こんな感じです。
1.指定のカラムからデータを抜き出す
 (詳しいやりかたはあなたがお使いのデータの扱い方に従ってください)
2.リストボックスの候補として設定する
 (詳しいやりかたはあなたがお使いのユーザインターフェイス出力方式に従ってください)
0921nobodyさん2005/05/15(日) 11:54:49ID:5xJ/seB9
>>916

LDAPが8.1?

WEBLOGICですよね、SUNのAPP.SERVERじゃないですよね。

>>920
わろた
0922nobodyさん2005/05/15(日) 15:43:15ID:???
>>921
WebLogic の内部で LDAP サーバが動いてる。7.0 から。
0923nobodyさん2005/05/17(火) 21:15:14ID:Wptu6pDN
windows serverのファイルサーバにサーブレットからアクセスする場合
ファイルサーバへのアクセス情報(アカウントやパスワード)は
サーブレット側に記述すればいいの?
それともサーブレットのコンテナ側に記述するの?
0924nobodyさん2005/05/17(火) 22:22:37ID:???
サーブレット側とサーブレットのコンテナ側がどうちがうのか説明してくれ
0925nobodyさん2005/05/17(火) 23:11:55ID:Wptu6pDN
サーブレットのコードに記述するのか、
サーブレットコンテナ(jbossとか)に設定するのか、ってことです

どうなんでしょう?
0926nobodyさん2005/05/18(水) 00:09:14ID:???
jbossはサーブレットコンテ以下略

どっちでもできるんじゃないの。
0927nobodyさん2005/05/18(水) 07:14:28ID:???
>>925
できる・できないで言えばどっちでもかまわんが、
そういう環境依存な情報はアプリよりコンテナに持たせた方がいいだろうね。
0928nobodyさん2005/05/18(水) 19:24:26ID:RnyP/LlE
JSPで、セッションのタイムアウトが発生したときに
特定の処理をおこなうようにするには、どうしたら
いいでしょうか?
開発中の環境は、NetBeans 4.0を使っています。
0929nobodyさん2005/05/18(水) 21:30:14ID:hY8x0JfO
セッションが無効かどうかを調べれば?
0930nobodyさん2005/05/18(水) 23:32:00ID:???
>>928
SessionListenerを使う。
0931nobodyさん2005/05/18(水) 23:38:59ID:???
クライアントのリクエストとは非同期に
セッション(変数)が無効になったのをキャッチしたいなら、
javax.servlet.http.HttpSessionBindingListener
これが利用できるけど、JSPで実装するのはトリッキーかな。
0932nobodyさん2005/05/19(木) 21:45:06ID:6L/NrBef
Tomcat4でしつもんなんですが、server.xmlに記述されている
FileLoggerオブジェクトってどう取得すれば良いんでしょうか?
09339282005/05/20(金) 14:21:42ID:???
>>930,931さんありがとうございます。
やはりサーブレットを使わないとスムーズに実装できませんでした。
930さんのいうとおり、HttpSessionListenerをimplementした
サーブレットで、セッション破棄時の処理を行うようにしました。
0934nobodyさん2005/05/21(土) 22:06:11ID:???
ServletもJSPもあんまり企業のHPとかで見ないよね
大規模向きなのに
なんでかね?
0935nobodyさん2005/05/22(日) 00:03:57ID:???
>>934
J2EEはホームページ向けじゃなく、基幹システム向けだからです。
ホームページなんてそんなに大規模じゃない。
0936nobodyさん2005/05/22(日) 00:20:44ID:???
アクセスが集中するようなホームページなら、静的HTMLを吐くようにしたほうがいいしね。
0937nobodyさん2005/05/22(日) 01:12:47ID:???
>>934
最近は結構見る。Strutsも今更増えてきているらしい
0938nobodyさん2005/05/22(日) 03:13:52ID:???
基幹システムに使ってるがその情報の一部をユーザーに向けるときは使う
オンラインショップの在庫とかね
0939nobodyさん2005/05/22(日) 04:39:10ID:???
なるほど
ってことは実は見えないところでバリバリ動いてる?
0940nobodyさん2005/05/23(月) 01:44:09ID:???
jspのformからServletに文字列を渡したいのですが、どうやっても文字化けしてしまいます。
エンコード設定をどうすればいいのでしょうか?
以下ソースです。(無駄な部分は省略してます。)

tmp.jsp
<%@page pageEncoding="Shift_JIS" contentType="text/html; charset=Shift_JIS" %>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/>
<form name="form1" method="post" action="hogehoge">
 <textarea name="msg" rows="8" cols="40"></textarea>
 <input type="submit" name="submit" value="送信">
</form>

hogehoge.java
doPost{
response.setContentType("text/html; charset=Shift_JIS");
String msg = request.getParameter("msg");
PrintWriter out = response.getWriter();
out.println(msg);
}

かなり省略してますが文字エンコード以外とform以外の部分は意味がないと思うので省略しました。
よろしくお願いします。

0941nobodyさん2005/05/23(月) 04:01:58ID:???
どうやっても、ってパラメータのエンコードの設定には何をやったの?
ここにはsetCharacterEncodingもnew Stringもないけど。
0942nobodyさん2005/05/23(月) 21:15:49ID:???
>>941
request.setCharacterEncoding("Windows-31J");
をhogehoge.javaに追加してもダメでした・・・。
どうすれば文字化けせずにJSPからServletに文字を渡せるのでしょうか?
0943nobodyさん2005/05/23(月) 21:29:26ID:???
化けてどうなるのか書いてごらんよ
0944nobodyさん2005/05/23(月) 22:37:33ID:hNXi91Hb
SQLを取得して画面に表示させるとき
下記のようなJSP文があった場合で
もしNULLが取得された場合ブランクを代わりに表示したいのですが
メソッドを作って、それにresult.getString("STAFF")を包もうとするとエラーになります
この場合"<%="の中にJavaメソッドを呼び出す場合、どうすればいいのでしょうか?
<%
while(result.next()){
%>
<tr>
<td><%= result.getString("STAFF") %></td>
</tr>
<%
}
%>
0945nobodyさん2005/05/23(月) 23:51:57ID:???
> <td><%= (result.getString("STAFF") == null) ? "" : result.getString("STAFF") %></td>
こういうことじゃなかったかな
0946nobodyさん2005/05/24(火) 00:09:23ID:???
根本的に答え方を間違っていると思う
0947nobodyさん2005/05/24(火) 01:01:30ID:???
SQLの取得の時点で
StringBufferでSQLを分割させて
そこでNULLが出るカラムでヌルイズブランクのメソッドを呼び出すのが一番無難なやり方
0948nobodyさん2005/05/24(火) 02:44:32ID:???
>>947
SQLの取得の時点でNVLやnullifをかける
0949nobodyさん2005/05/24(火) 10:00:57ID:???
public static String returnString(String target) {

String retStr = null;

if (null == target) {
retStr = "";
} else {
retStr = target;
}
return retStr;
}

これは?
0950nobodyさん2005/05/24(火) 20:03:48ID:Ya81sFKG
DB接続など記述したクラスを拡張した
それぞれSQLを記述しているメソッドを別に作った場合、
JSPにおけるそのSQL記述メソッド呼び出しの記述なんですが

現在JSPに
<jsp:useBean id="db" class="〜" />
を埋め込んでインスタンス化させて
その中の
db.open(); //データベースオープン
String sql = db.SQLメソッド(); //SQL呼び出し
ResultSet result = db.executeQuery(sql); //SQLを実行
みたいなやり方で表示させているのですが
この場合だとJSPに記述する呼び出しを、それぞれ場合わけする必要があるので、結構メンテナンスなどが大変です
またラジオボタンで呼び出すSQL文が違う場合に対応が難しくなります
もし、JSPからのSQL文の呼び出しでもっといいやり方などがあればご教授ください
レス数が950を超えています。1000を超えると書き込みができなくなります。