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

このエントリーをはてなブックマークに追加
1nobodyさん
質問する前に最低でも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
2nobodyさん:2005/06/01(水) 09:09:31 ID:???
The Jakarta Project
http://jakarta.apache.org/
@IT > Java Solution
http://www.atmarkit.co.jp/
3nobodyさん:2005/06/02(木) 01:23:57 ID:H2oPsMVa
ttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_2.html
DBとStrutsの連携ってここのサイトのやり方が主流なやりかたでいいのでしょうか?
それともおかしな部分とかありますでしょうか?
4nobodyさん:2005/06/02(木) 04:12:53 ID:???
書いたひとが祥寛ちゃんだ、というのは除いて?
基本的に、だいぶ叩かれて修正されてるから間違ってはないと思う。

まず、値を格納するBeanに、その値をデータベースからとってくる処理が入ってる。
Beanは値を格納することに専念するべき。処理は別クラス
ここに書いてるようなやり方だと、どこに書いていいかわからない処理がいっぱい出てきて破綻する。
あと、データソースの設定の書式はTomcatのバージョンで違うから、設定ファイル書くんじゃなくてadminツールを使う。
5nobodyさん:2005/06/02(木) 15:08:05 ID:YneXANuw
すいません、質問お願いします。

JSPです。
フォームを使ってユーザー名や性別などをサーバーに送信し、
そのサーバーに送信された情報をユーザー側のPCでテーブル上で表示するにはどうしたらいいでしょうか?
情報(送信された回数)が増えればそれらの情報全てをテーブルに蓄積させていきたいです。
6nobodyさん:2005/06/02(木) 19:48:58 ID:???
<%@page contentType="text/html; charset=Windows-31J"%>
<table>
<tr><td>${paramValue.name}</td><td>${paramValue.sex}</td></tr>
</table>
7:2005/06/02(木) 23:27:35 ID:FvzNxNAr
>>6
ありがとうございます!!
助かりました!!
8nobodyさん:2005/06/02(木) 23:47:04 ID:AiHl+iFb
ログインされた状態で
10分間何もせずにその後何か実行させたらメッセージをだしてログアウトさせたいのですが
それってTomcat5で可能でしょうか?

やりかたがよくわからないのですが
いいやり方とかあればおしえてください
96:2005/06/02(木) 23:47:19 ID:???
マジデスカッΣΣ(゚д゚lll)
10:2005/06/03(金) 00:00:47 ID:FvzNxNAr
>>6
実行してみたらうまくいきませんでした・・・。
${paramValue.name} ${paramValue.sex} と表示されるだけです。
ちなみに

input.htmlというファイル
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-type" content="text/html; charset=Shift_JIS">
<title>form input</title>
</head>
<body>
<p><b>Form input</b>
<p><form action="form.jsp">
Name <input type="text" name="name" size=25><br>
Birth day <input type="text" name="sex" size=15><br>
<br>
<input type="submit" value="Submit">
</form></p>
</body>
</html>

form.jspというファイル
<%@page contentType="text/html; charset=Windows-31J"%>
<table>
<tr><td>${paramValue.name}</td><td>${paramValue.sex}</td></tr>
</table>

でやってます。
どう改善すればいいでしょうか?
11nobodyさん:2005/06/03(金) 00:38:34 ID:???
${paramValue.name}
こんなしんタクすってあったっけ?
三年も離れてると物忘れはげすぃ
12nobodyさん:2005/06/03(金) 00:55:26 ID:???
・・・遅すぎ
13nobodyさん:2005/06/03(金) 00:57:00 ID:???
>>10
${param.name}と${param.sex}でやってみて。
14nobodyさん:2005/06/03(金) 01:30:34 ID:fwZtEJ6Q
jspで困っております・・。
サーブレットを利用したものではなく
jspのみでテキストファイルに書き出す方法を教えていただけませんでしょうか?
javaの時のようにやってみるのですが?どうにもどこにも書きこまれません。
コンパイルは一応とおるのですが、指定ファイル名が認識されてないのでしょうか?
簡単なサンプルコードなどを教えていただけるとたすかります。
初歩的な質問で申し訳ありませんがどなたか教えてください。
15nobodyさん:2005/06/03(金) 01:31:08 ID:yfSf3buM
すいません。
他スレで聞いたんですが、なかなかレスが付かないのでここで質問させてください。

質問お願いします。

JSPです。
フォームを使ってユーザー名や性別などをサーバーに送信し、
そのサーバーに送信された情報をユーザー側のPCでテーブル上で表示するにはどうしたらいいでしょうか?
情報(送信された回数)が増えればそれらの情報全てをテーブルに蓄積させていきたいです。
1615:2005/06/03(金) 01:32:47 ID:yfSf3buM
すいません、
手違いで重複してしまいました・・・。
17nobodyさん:2005/06/03(金) 01:39:53 ID:???
>>14
<%
FileWriter fw = new FileWriter("c:\\test.txt");
fw.write("aaa");
fw.close();
%>
18nobodyさん:2005/06/03(金) 01:48:48 ID:fwZtEJ6Q
15さんへ
初心者のわたしがさがしてる間にみつけました!違うかな?
ttp://www.atmarkit.co.jp/fjava/rensai/jsp2_01/jsp2_01_2.html
だめだったらスミマセン。
17さんへ
ありがとうございます!
書いていただいたようにやっているつもりなのですが
なぜだかだめなんですよね、、
しかしやり方があってることがわかったのでもうすこし考えてみますね。
19nobodyさん:2005/06/03(金) 02:36:29 ID:???
だめっていうのは、どういうこと?
例外が出る?
2015:2005/06/03(金) 02:45:47 ID:yfSf3buM
>>18
ありがとうございます。
一つ気になったんですが、私がやろうとしているコトはデータベース自体をいじらないとできないのでしょうか?
21nobodyさん:2005/06/03(金) 03:13:31 ID:???
データをデータベースに登録して表示したいなら、データベースにデータ書き込まないとできないよ。
2215:2005/06/03(金) 03:21:34 ID:yfSf3buM
>>21そうですか、ありがとうございます。
データデースうんぬん抜きで出来る事をやらされていると思うのですが、
たぶん私の考え違いかもしれません。でもって今まで色々調べて見たんですが、やっぱりわかりません・・・。

input.htmlというファイルで
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>無題ドキュメント</title>
</head>
<body>
<h1>テスト</h1>
<form name="form1" method="post" action="">
<p>名前はなんですか?
<input name="name" type="text" size="50"><br>
出身はどこですか?!?
<input name="from" type="text" size="50"><br>
趣味はなんですか? 
<input name="hoby" type="text" size="50">
</p>
<p>
<input type="submit" name="Submit" value="送信">
</p>
</form>
</body>
</html>
というソースを書きました。
これを実行した際にフォームに文章を記入し送信ボタンを押すと、送信しただけそのデータがテーブル状で表示されるようにしたいです。
それはどうすればいいでしょうか?ネットで検索しても本で調べてもわかりません・・・。
お願いします。
23nobodyさん:2005/06/03(金) 03:27:32 ID:???
applicationスコープにつっこめ。
2415:2005/06/03(金) 03:41:56 ID:yfSf3buM
>>23
すいません。専門的過ぎるコトはわかりません・・・。
25nobodyさん:2005/06/03(金) 07:14:36 ID:???
勉強する気がないならあきらめろ。
26nobodyさん:2005/06/03(金) 21:16:41 ID:???
>>24
わらた
27nobodyさん:2005/06/04(土) 01:46:18 ID:JA2V/49m
質問があります。
どなたか教えて下さい。

textデータをJSPで表示しようとすると文字化けしてしまいます。
数字やローマ字は平気なんですが・・・。
これはどうすれば解消できますか?
28nobodyさん:2005/06/04(土) 02:03:37 ID:???
>>27
出力のコンテントタイプと文字エンコーディング名を指定していない。
29nobodyさん:2005/06/04(土) 02:08:53 ID:JA2V/49m
>>28
解決できました!!
ありがとうございます!!
30nobodyさん:2005/06/04(土) 16:25:53 ID:DfR1Y7ro
strutsの開発でstrutsタグで
<html:text property="test" value="">
などtextやselectなどを入れたときは正常に表示されるのですが

<html:checkbox property="test" value=""/>
などチェックボックスタグを入れたとき、画面上に
javax.servlet.ServletException: ????????Bean org.apache.struts.taglib.html.BEAN ??????
が帰ってきて表示エラー表示になります

struts-html.tldをみると
<name>checkbox</name>
<tagclass>org.apache.struts.taglib.html.CheckboxTag</tagclass>
<attribute>
と一応存在していますのでタグがないわけではなさそうです

どこが悪いのでしょうか?
どうか教えてください
31nobodyさん:2005/06/04(土) 16:51:30 ID:3cT7rHu9
actionFormは正しく指定されているのかと
32nobodyさん:2005/06/04(土) 17:00:59 ID:DfR1Y7ro
>>31
??
テキストはアクションフォームは正しくセットされなくても表示できて
チェックボックスはアクションフォームに正しくセットされてなくちゃいけないの?
33nobodyさん:2005/06/07(火) 00:55:57 ID:d9HK/fVm
Tomcatの質問はこちらでOKですか……?
「tomcat」でスレタイ検索かけたのですが、専用スレがないみたいで。
サーブレットを動かしたいのですが、tomcatが立ち上がらないのです。

OKなら詳細書きます。
よりふさわしいスレがあるようでしたら誘導お願いします。
34nobodyさん:2005/06/07(火) 04:42:08 ID:???
ヒントでも書いとけば、回答あったのにね。
3533:2005/06/07(火) 07:22:09 ID:???
>34
私のことでしょうか……?
コンテキストの設定の問題だと思うのですが、
ソースとか載せたいので、
ここでいいのかわからない状態では書きにくいです。

過去スレでtomcatスレはあったんだけどなぁ。
36nobodyさん:2005/06/07(火) 08:58:18 ID:???
Tomcatが起動しないのにソースとか関係ないと思うが。
コンテキストの設定がまずい場合も、そのコンテキストが立ち上がらないだけでTomcat自体は立ち上がるはず。
37nobodyさん:2005/06/07(火) 09:21:29 ID:???
環境ぐらい書けよ
3833:2005/06/07(火) 11:03:13 ID:WvJdcIR8
>>36
そうなんですか……?
インストール直後の状態だときちんと立ち上がり、
<context>〜</context>を追加すると、エラーが出て立ち上がらず、
その部分をコメントアウトするとまた起動するので、
てっきりその問題だと思ったのですが……。

>>37
応えてくださる方がいらっしゃるようなので、改めて書きます。
スレ違いの質問になってしまうと思ったので、伏せておきました。
ご不快にさせてしまったのなら、ごめんなさい。



win2000、Tomcat4.1を使用しています。
インストール後、起動させて「localhost:8080」のテストをして、
きちんと画面が表示されることを確認しました。
そこで、自作のサーブレットを動かす為に、
server.xmlの</host>の直前に以下を追記した所、
エラーが出てTomcatが起動しなくなりました。
ただし、その部分をコメントアウトすると、また正しく起動します。

◆追加した記述◆
<Context path="/javaroad" docBase="webapps/javaroad" debug="0" reloadable="true">
</Context>

エラーログは次に貼ります。
3933:2005/06/07(火) 11:03:59 ID:WvJdcIR8
◆エラー◆
Catalina.start: LifecycleException: 以前のエラーのためにコンテキストの起動が失敗しました
LifecycleException: 以前のエラーのためにコンテキストの起動が失敗しました
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3578)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1141)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:707)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1141)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:316)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2143)
at org.apache.catalina.startup.Catalina.start(Catalina.java:463)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)
4033:2005/06/07(火) 11:04:13 ID:WvJdcIR8
サービス Tomcat-Standalone を停止します
Catalina.stop: LifecycleException: Coyoteコネクタは起動されていません
LifecycleException: Coyoteコネクタは起動されていません
at org.apache.coyote.tomcat4.CoyoteConnector.stop(CoyoteConnector.java:1296)
at org.apache.catalina.core.StandardService.stop(StandardService.java:499)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:2178)
at org.apache.catalina.startup.Catalina.start(Catalina.java:494)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)

長々とごめんなさい。
何かおわかりになる方がいらっしゃいましたら、
ご回答よろしくお願いいたします。
41nobodyさん:2005/06/07(火) 11:30:02 ID:???
docBase="webapps/javaroad"

docBase="javaroad"

※Tomcatインストールディレクトリ/webapps/javaroad があるという前提。
 Tomcatインストールディレクトリ/webapps/webapps/javaroad があるのならあなたの設定は正しい。
42nobodyさん:2005/06/07(火) 18:03:08 ID:JFan3jc8
再度お世話になります。

SUN Java App Server 8を利用しています。ファイルREALMではない認証方式を
りようしたいと考えています。LDAPに興味があるのですが、どなたか
SUN Java App Server 8でLDAPを利用していらっしゃいませんか?

参考になるサイトをご紹介頂ければ大変嬉しいです。

公式マニュアルにはSSHとファイルREALMの方法しか書かれていません。
BEAのサーバーにはLDAP付属しているそうですので、SUNのサーバーでも
できるはずだと思うのですが。

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

>>33
SUN Java App Server 8のご利用をお奨めします。インストール大変簡単です。
43nobodyさん:2005/06/07(火) 22:01:13 ID:???
>>38
Tomcat4.1で、server.xmlに<context>を追加するな、と。
44nobodyさん:2005/06/07(火) 23:11:13 ID:51Ax6C6R
web開発で質問ですが
よく画像ファイルを挿入する場合たいていgifファイルを使ってますよね?
あれって例えば他の画像用の拡張子であるたとえばJPGじゃ駄目というか
gifを使ったほうがいいという何か理由ってあるのでしょうか?
45nobodyさん:2005/06/07(火) 23:29:37 ID:???
>>44
見た目の画質の割にファイルサイズを小さくできるからだろ。
jpegで同じファイルサイズにするともっと荒く見えたりする。
46nobodyさん:2005/06/08(水) 15:09:56 ID:nLK15AOn
簡単なJSPを作ってセッションの変化を確認するテストをするために
<p><%=request.getSession(true).getId()%></p>
を<body>タグの中に書いてリロードさせているんだけど
IEとネスケでそれぞれクッキーを無効に設定して
やってみたところネスケはリロードするたびにSessionIDが変化して
IEは変化しなかった。
動きとしてはネスケの方が正しいと思うんだけど
なぜIEだとクッキーを送信しているような動きに?

SERVER Windows2000 SP4 + Tomcat5.0.28
CLIANT WindowsXP Home SP2 + IE6.0
47nobodyさん:2005/06/08(水) 15:32:58 ID:nLK15AOn
46だけど
ひょっとしてIEの仕様でイントラの
クッキーは受け取るということかな
つまり、イントラにはクッキーを制御する設定がない?
指揮者のだれかおせーて。
48nobodyさん:2005/06/08(水) 15:42:49 ID:???
>イントラにはクッキーを制御する設定がない?
そういうこと。
localhostじゃなくて127.0.0.1を使ってみれ。
49nobodyさん:2005/06/08(水) 16:09:44 ID:nLK15AOn
>>48
>localhostじゃなくて127.0.0.1を使ってみれ。
たしかに・・・
直IPだとIEはインターネットとして扱うんですね。
プライベートIPであっても。

どーもでした。
50nobodyさん:2005/06/08(水) 22:38:31 ID:???
現行のEJB2.0の使用用途がまるっきり見えて来ないんですが
どこいうところで使うもんなんですか?

シリアライズしまくりで、サーバにも優しく無い上に
リモートルックアップするのにコストかかり過ぎです。

ローカルルックアップするぐらいなら、
普通のBeanで組んだ方が速いですよね。

EJBって実用段階に来てない気がしてならないんですが。
罠じゃないんですかEJBって。
51nobodyさん:2005/06/08(水) 23:42:31 ID:???
EJB2に不満ならSpring+Hibernateでも使えばいいし、EJB3のプレビューも出てき始めてる中、なにをいまさら・・・
52nobodyさん:2005/06/08(水) 23:43:39 ID:???
>>51
ごもっともです
53nobodyさん:2005/06/09(木) 00:36:26 ID:???
Spring、Hibernate 結構興味深いなぁ。
BeanからSQL流すのと、どっちが速いか検証してみる価値は十分ありそう。
54nobodyさん:2005/06/09(木) 01:40:45 ID:???
実行の速さを競うもんじゃないからなぁ。
「Hibernateの場合はCGLIBを使ってるので10%くらいしか遅くならない」というのが売り文句だったりするわけだし。
開発の早さを競うもんだ。クリティカルな部分だけSQL直で。
55nobodyさん:2005/06/09(木) 13:36:57 ID:0Vlq/rvk
サーブレットコンテナの管理用 GUI からウェブアプリの環境変数を設定することってできないんでしょうか?

たとえば、サーブレットが管理者のメールアドレスを表示するようなケースで、メールアドレスを GUI から設定したいのです。

web.xml の init-param は、管理者が手で編集しないといけないし、データベースに格納する場合は、メールアドレスを書き込むための GUI を別途用意しなければいけませんよね?

tomcat と JRun 4 を使っています。
56nobodyさん:2005/06/10(金) 17:43:47 ID:utqCHAzS
auでフォームに入力した値をサーブレットで取りたいのですが、
POSTとGETで取得するときのエンコードを変えないと文字化けするのですが
そういうものなのでしょうか?

auでPOSTの場合
byte[] arrBytes = sText.getBytes("WINDOWS-31J");
String sResult = new String(arrBytes, "WINDOWS-31J");

auでGETの場合
byte[] arrBytes = sText.getBytes("ISO-8859-1");
String sResult = new String(arrBytes, "WINDOWS-31J");

ちなみにPC(IE)やドコモ、ボーダフォンはGETとPOSTともに
getBytes("ISO-8859-1")でいけました。
57nobodyさん:2005/06/10(金) 19:56:15 ID:???
>>55
サーバにCSVかXMLにして保存。
じゃだめなの?
58nobodyさん:2005/06/10(金) 22:22:55 ID:???
MVCモデルについて質問なんですが
C→M→VとM→C→Vはどちらが正しい、
または能率がいいのでしょうか?
59nobodyさん:2005/06/10(金) 22:26:27 ID:???
>>58
何を聞きたいのかさっぱりわからん
60nobodyさん:2005/06/10(金) 23:41:23 ID:???
>>59
JavaBeanから直にJSPがデータを受け取るのと、
Servletを経由してからJSPで表示するののどちらがいいのか?
ということなのですが・・・
61nobodyさん:2005/06/11(土) 00:56:49 ID:???
>>56
そういうものです。URIEncodingを設定してください。
それよりsetBodyEncodingForURIを設定してsetCharacterEncodingするのが楽だと思うけど。
62nobodyさん:2005/06/11(土) 00:58:18 ID:???
>>60
で、Servletが受け取った値はどうやってJSPが受け取るのだ?
WebではMVCにするよりレイヤーパターンにしたほうがいいと思うけど。
63nobodyさん:2005/06/11(土) 09:53:02 ID:???
>>58
理想を言えば、MVCはそれぞれ独立していて、どれも同じレベルであるものです。
(三権分立みたいな感じ?)

MもVもCもそれぞれが独立したパーツで、Mを別のMに切り替えようとVもCも全く関係なく、Vを別のVに切り替えようとMもCもまったく関係ないというものです。
64nobodyさん:2005/06/11(土) 10:32:20 ID:???
>>62
解説してるサイトではどこも微妙に説明が違ってて悩んでました
図なんかではModelがControllerとだけ繋がってたりするので・・・
明確に分離するにはそっちの方がいいのかと思ってました
レイヤーパターンというのも調べてみたいと思います

>>63
それぞれ独立していればMVCモデルの利点は保たれるということでしょうか?
65nobodyさん:2005/06/11(土) 10:34:11 ID:???
>>57

シェルがどうとか ftp がどうとか、面倒になるので、ユーザーにコンソールを使わせたくないのです。
すべてをウェブブラウザで操作できるようにしておきたい。
66nobodyさん:2005/06/11(土) 14:17:44 ID:???
>>64
独立したらMVCモデルじゃない。MVCは三角形の関連ができてこそMVCなんだけど、VとMが関連すべきではないということでレイヤースタイルになる。
だから、最近の「MVCモデル」の説明は全然「MVCモデル」になってない。
67nobodyさん:2005/06/11(土) 17:46:58 ID:???
mvc model2のことかーーーー
68nobodyさん:2005/06/11(土) 21:51:51 ID:???
それ以外のMVCだと、ぶっちゃけUI系とデータ系と処理系の3部分に別れてたらとりあえずMVCって感じで、設計の基準にならない。
69nobodyさん:2005/06/12(日) 02:22:28 ID:qiQ42OR2
MVCやるなら、Struts使おう。
70nobodyさん:2005/06/12(日) 11:19:57 ID:LhGlNmPa
JSPの検索画面で値を入力

その入力値を元にDBを取得

JSPでDB結果を表示

ググったのですが該当しそうなサイトって
以下のものぐらいしか無かったので
これだと検索部分が抜け落ちているので、もしいいやり方などあれば教えてください

ttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_2.html
71nobodyさん:2005/06/12(日) 11:26:48 ID:LhGlNmPa
70はstrutsでの話です
72nobodyさん:2005/06/12(日) 14:40:40 ID:???
で、まあ、ここに書いてあるような、データ格納用のJavaBeanにデータ操作メソッドを書くというのは、やめたほうがいいわけだ。
73nobodyさん:2005/06/12(日) 15:08:28 ID:LhGlNmPa
>>72
ということは
例えば他にどういうやり方があるのでしょうか?
74nobodyさん:2005/06/12(日) 15:29:51 ID:???
>>70
StrutsでもJSFでもTapestoryでもSpringでもいいから、とりあえず入門書買え。
その方が早そうだ。
75nobodyさん:2005/06/12(日) 15:33:12 ID:???
JavaBeanは単純に値を格納するだけのsetter/getterだけを持つクラスにして、データ転送用のオブジェクトを用意する。
ValueObject(VO)とDataTransferObject(DTO)っていうパターン。
DTOは前はDataAccessObject(DAO)っていう名前だった。
でもデータアクセス自体はORマッピングが行うことも多いから、DAOじゃなくてDTOに変わった。
「エンタープライズアプリケーションアーキテクチャパターン」だと「バリューオブジェクト」と「データ変換オブジェクト」
76nobodyさん:2005/06/12(日) 15:37:41 ID:???
>>75
こらこら。嘘書いちゃいかんよ。
77nobodyさん:2005/06/12(日) 15:44:46 ID:???
正解キボンヌ
78nobodyさん:2005/06/12(日) 15:47:36 ID:???
JavaBeanは単純に値を格納するだけのsetter/getterだけを持つクラスにして、データ転送用のオブジェクトを用意する。
 →これは一つのやり方としてはあり。

ValueObject(VO)とDataTransferObject(DTO)っていうパターン。
 →DAOとDTOだ。

DTOは前はDataAccessObject(DAO)っていう名前だった。
 →大嘘。ValueObject(VO)がDataAccessObject(DAO)になった。
79nobodyさん:2005/06/12(日) 15:48:02 ID:???
まちがえた。
ValueObject(VO)がDataTransferObject(DTO)になった。
8075:2005/06/12(日) 16:05:10 ID:???
sunのパターンだとVO+DAOで、マーチンファウラーのパターンだとDTO+DAOか。
ごっちゃになってた。

ところで、PofEAAの訳本、DTOは「データ変換オブジェクト」って訳されてるはずなのに「データ転送オブジェクト」も索引にのってて、そのページには両方の言葉が混じってるので激ワロス
81nobodyさん:2005/06/12(日) 16:17:04 ID:???
Sunも2年ぐらい前からはDTO+DAOだよ。
ちなみに、DTOは「データ転送オブジェクト」だ。
82nobodyさん:2005/06/12(日) 17:16:27 ID:zSMpRE9A
それじゃあ単純に値を格納するだけのsetter/getterだけを持つクラスは
DAOなの?DTOなの?
83nobodyさん:2005/06/12(日) 17:27:23 ID:???
>>82
DTO。(以前はValueObject)
DAOはEIS層からデータの出し入れ処理を実装するクラスだ。
84nobodyさん:2005/06/12(日) 17:53:11 ID:???
へぇ
85nobodyさん:2005/06/13(月) 10:56:35 ID:RXkwJR48
SunJavaSystem7ASでクラスパスを通すとき、server.policyでパーミッションを指定しないとだめでしょうか?
JDBCドライバなんかは無指定で見えてるのですが、自前のjarが見えません。
86nobodyさん:2005/06/13(月) 22:49:24 ID:???
Tomcat上でJSPを動かしてるのですが、
JSPからみて ../WEB-INF/classes にあるclassファイルの
メソッドを呼び出せないのでしょうか?
87nobodyさん:2005/06/13(月) 22:55:56 ID:???
呼べるよ
8886:2005/06/13(月) 23:09:22 ID:???
どのように呼ぶのでしょうか?
servletと同じように宣言したらシンボルエラーが出てしまいます。
89nobodyさん:2005/06/13(月) 23:19:50 ID:???
> servletと同じように宣言したら
おまえがServletでどう宣言しているのかもわからないし

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

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

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

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

それともアクションクラスでビジネスロジックを呼び出して、
そのビジネスロジック内からDB取得メソッドを
呼び出すのが普通のやり方なんでしょうか?
96nobodyさん:2005/06/18(土) 07:13:21 ID:tWCSnidS
>>95
後者
97nobodyさん:2005/06/18(土) 12:28:17 ID:???
>>95
普通は規模によって使い分ける。
98nobodyさん:2005/06/19(日) 22:56:21 ID:???
セッションの情報って各クライアントのブラウザに格納されるのでしょうか?
99nobodyさん:2005/06/19(日) 23:11:37 ID:nbw7nWZR
100nobodyさん:2005/06/19(日) 23:35:47 ID:???
d
101nobodyさん:2005/06/20(月) 02:05:42 ID:???
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
102nobodyさん:2005/06/20(月) 02:17:33 ID:???
JSFはTomcat4で動いたっけ?
103nobodyさん:2005/06/20(月) 02:30:36 ID:???
common/libにライブラリ入れるな、とか思うけどな。
104nobodyさん:2005/06/20(月) 02:36:12 ID:???
myfacesならTomcat4で動くみたいなので、JSFが対応してないわけじゃないと思う。
105nobodyさん:2005/06/20(月) 02:37:37 ID:???
>>103
同意。

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

>>105最近バグも減ってきたんじゃない? bug発見したらその
機能を使うのを我慢する、というスタンスでもそこそこ行けそうな
気がするけど。
108nobodyさん:2005/06/21(火) 00:18:27 ID:???
>>105
ブラウザのリロードで画面遷移してしまう(しかも行ったり来たり)とか、
セッションタイムアウトでも何食わぬ顔でもう一度同じ画面を返してくるとか、
「その機能を使わなければいい」では済まないバグが多々ある。
commnadLinkもおかしかった。(すべてバージョン1.0.9)
RI(1.1_01)に入れ替えてみたら普通に動くのも確認済み。
109nobodyさん:2005/06/21(火) 01:06:51 ID:???
皆さんありがとうございます。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を構築したいのですが
何か代替するものはあるのでしょうか?

110nobodyさん:2005/06/21(火) 04:00:53 ID:???
こんなのも出ちまうぜ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????????????
111nobodyさん:2005/06/21(火) 14:19:50 ID:Ld99PUeC
知恵を貸してください。
Tomcat 5.5系(+Eclipse)を使っています。

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

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



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


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

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

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

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

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

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

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

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

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

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

MVCというよりLayerを理解してから出直してね。
121107:2005/06/22(水) 11:58:42 ID:???
>>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にすれば?
122113 (MVCとSQL直書き):2005/06/22(水) 17:18:58 ID: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を実現できるフレームワークはどれでしょうか。
123120:2005/06/22(水) 19:22:32 ID:???
経験あるならJSFの道を進めばいいじゃん。
あれ自身DI機能があるから、君が興味を持って
いるというSpringとの相性も良いよ。

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

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

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

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

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」の出力を
増やしていく方法分かる方いませんでしょうか?

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

>AOPってなに?

AOPのAはAspectのA。

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

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

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

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

合ってる。

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

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

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

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

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

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

iBatisもDB接続フレームワークだし、ListやMapもコレクションフレームワークで、なにかフレームワークであることが原因で問題が起こるとしたら何もできなくなるな。
HibernateのXMLがいやなら、Hibernate Annotations使えば?
140123:2005/06/23(木) 22:27:43 ID:???
>>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ソースはスッキリスッキリ。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lazy Lodingしなければ、最初の取得時にとってくる
"from Shain s join ShainGroup g join ShainKubun k"
とか書けば、条件はマッピング定義から勝手に判断してくれる。
162nobodyさん:2005/06/26(日) 16:06:06 ID:???
ちょっと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.
──────────────────────
といったメッセージが出て、表示されません。
かれこれ二日立ち止まっています。
いったい何が原因でしょうか?私の足りない頭でしょうか?
どうかお願いします。
163nobodyさん:2005/06/26(日) 17:06:11 ID:icQN5iRw
EJBを使わずとも、ある程度のWeb開発はできると言われますが
それだとEJBを使うメリットって何なのでしょうか?

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

DBだとオラクルやDB2が人気だと思いますが…
168nobodyさん:2005/06/26(日) 21:55:23 ID:???
>>167
JBOSS?
WebSphere?
169nobodyさん:2005/06/26(日) 23:01:13 ID:???
商用ではWebLogic/WebSphereが2topだね。
次点でOracle。
意外にInterstageも多い気がする。
開発者人気ではTomcat/WebLogic/JBossなんじゃね?
170nobodyさん:2005/06/27(月) 00:36:18 ID:???
>>169
世の中のWeb開発の8割はWebLogic/WebSphereだったっけ?
171nobodyさん:2005/06/27(月) 12:10:54 ID:nRBU1AZe
perlのexit()みたいなのってどうやんの
172nobodyさん:2005/06/27(月) 13:17:03 ID:???
>>171
System#exit
173nobodyさん:2005/06/28(火) 02:39:08 ID:???
tomcat5.0.30が文字化けで使い物にならねぇたじけてくれぇ
Eclipse、server.xml、web.xmlにもUTF-8で文字コード指定しているが
?????ばかっりだ
174nobodyさん:2005/06/28(火) 04:07:15 ID:???
>>173
質問内容が使い物にならないんで助けてくれ。
175nobodyさん:2005/06/28(火) 07:33:24 ID:lqYGe2ED
ヒント:UTF-16
176nobodyさん:2005/06/28(火) 14:33:38 ID: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をお奨めします。
アンインストールも優しいですので、試してみる価値あります。
177nobodyさん:2005/06/28(火) 20:34:32 ID:???
>>176
PostgreSQLが使える環境で、わざわざHSQLDBを使う必要はないと思うね。
方言?dialectでぐぐれ。
178nobodyさん:2005/06/28(火) 21:37:26 ID:???
ここで聞く事じゃないと思うのですけど、他にスレが見つからないので…
ttp://www.jboss.org/ が一日中繋がらないんだけど、漏れだけ? それとも何かメンテ中...?
179178:2005/06/28(火) 21:41:25 ID:???
ぬあ、自己解決。散々待たされた後マンテ中です、と出てきますた…すんません。
180nobodyさん:2005/06/29(水) 04:38:18 ID:???
>>176
Hotonndono Hougen Ni Taiou Dekiteru Yo!
181nobodyさん:2005/06/29(水) 10:30:02 ID:???
>176
あれこれ分かりようもないことを考える前に手を動かせ。
やって見てから書き込め。
>Hibernateを使うということは、この方言を隠蔽できるということでしょうか
どういう情報収集すればこんなことすら分からないのかが理解できんな。
それっぽい単語を繰り返し言って満足感を得たいだけならチラシの裏に、な。
182nobodyさん:2005/06/29(水) 11:01:44 ID:???
>>176
そのへんを透過的に扱えないとフレームワークの意味がないでしょ。
183nobodyさん:2005/06/29(水) 12:02:37 ID:???
興味があるといいながら、まるで試した気配がないな。
184nobodyさん:2005/07/01(金) 14:23:15 ID:yr5B0l2Q
みなさん、いつも、どうもありがとうございます。
>>140
で問題になっていることは、例えば

DBに登録された
従業員のうちで4月に登録された従業員だけ抽出する
といったとき、SQLでは SELECT * FROM employee WHERE reg = 4
とすればいいだけなのに、Hibernateだと
いったん全ての従業員のJavaBeanをメモリの中に作ってしまって、
それから reg = 4 だけを抽出する。

といった問題を指摘されているのでしょうか。

>>182
透過的とは上手な表現ですね。なるほど。
185nobodyさん:2005/07/01(金) 14:30:46 ID:???
>184
市ね
186nobodyさん:2005/07/01(金) 14:54:31 ID:???
>>184
そんな問題はないし、指摘していない
187nobodyさん:2005/07/01(金) 16:19:42 ID:???
>>184
too Muchi!
188nobodyさん:2005/07/01(金) 17:02:15 ID:???
日本語訳:ムヒ塗りすぎ
189nobodyさん:2005/07/03(日) 20:12:43 ID:???
セッションが切れたときにログイン画面まで戻したいんだけど
フィルター使って毎回チェックするのが普通?
それともすべてのJSPにインクルードしたJSP(〜さん。こんにちは見たいなのが
表示されてる画面上のヘッダー)でしょりしたりする?
190nobodyさん:2005/07/03(日) 22:28:55 ID:???
好きなように。
191nobodyさん:2005/07/05(火) 21:24:29 ID:cSKKDHID
JSF の <h:form> によって生成される HTML の <form> タグを、
method="post" じゃなく、 method="get" にしたいのですが。
なんか方法ありまつか?
192nobodyさん:2005/07/06(水) 11:45:25 ID:???
http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/tlddocs/h/form.html
> The value of the "method" attribute must be "post".

post じゃなきゃ駄目と明記されてるけど。

俺は使ったことないから分からんが、taglib 弄って
何とかなったりならなかったりするかも知れないな。
193nobodyさん:2005/07/06(水) 14:02:24 ID:???
>>189
うちはフィルタでやってるよ。
セッションって勝手に作られるときがあるんで特定のタグを
ログイン時にセッションに書き込んでフィルタで毎回チェックしてる。
(ログイン画面なんかのチェック除外のURLはweb.xmlのInitParameterに設定してる)
194nobodyさん:2005/07/06(水) 14:05:54 ID:???
>>189
> それともすべてのJSPにインクルードしたJSPでしょりしたりする?
あらゆる JSP で include が行われるわけじゃないし filter のほうが汎用性が高いと思う。
195nobodyさん:2005/07/07(木) 10:36:02 ID:???
JSPではログインに限らず、処理をしない。
196nobodyさん:2005/07/07(木) 16:29:38 ID:???
失礼します。

昨日とあるサイトを見せられ、改造しろといわれて中を見て、
一日経ってどうやらこれは「XML+jsp/Servlet+JavaBeans」で作られているらしい
ということが分かってきたような段階です。

aspの経験はあり、似たような感じのjspはなんとか動かせたのですが、
実際に作る際にはロジック部分はServlet、JavaBeansに切り分けて書いているようです。
そこでとりあえずjspからBeansを呼んでみようとしたのですが、うまくいきません。

----------------------
ROOT/WEB-INF/classes/test1.class 作成
>public class test1 {
      ↓
ROOT/test.jsp 作成
><jsp:useBean id="obj_test" class="test1" scope="session" />
      ↓
>C:\Tomcat4.1\work\Standalone\localhost\_\test_jsp.java:77: シンボルを解決できません。
>シンボル: クラス test1
>場所  : org.apache.jsp.test_jsp の クラス
>      test1 obj_test = null;
----------------------

そこで質問なのですが、
jspからJavaBeansを使用する際に必要な事は、以下に挙げる以外にありますでしょうか?
●WEB-INFの下にclassesフォルダを掘る。(どこかの設定でpathを通す必要あり?現状何もしてません)
●classesフォルダの下に任意の名前のコンパイルしたclassファイルを置く。
●jsp固有のタグを使用してインスタンスを生成する。

以上、ご教授宜しくお願いします。.
197nobodyさん:2005/07/07(木) 16:43:47 ID:???
どこかの設定でpathを通す必要あり?
→不要。

JavaBeansは、デフォルトパッケージ(パッケージ指定無し)で作ってはいけない。
必ずパッケージ宣言をし、/WEB-INF/classes の下にパッケージツリー構造のフォルダを作成して
そこにコンパイル済みクラスファイルを配置する。
あと、クラス名は大文字から始めるべし。言語仕様上は小文字から始まる名前でも動作するが
Sunでは推奨していないし、業界全体でもクラス名は大文字から始める習慣が浸透している。
コード中で変数名なのかクラス/インタフェース名なのか区別しやすいからね。
198nobodyさん:2005/07/07(木) 22:35:07 ID:???
>>196
いまから使うならTomcat4.1じゃなくTomcat5.5を使ったほうがいいよ。
まだ日本語版でてないけど、NetBeans4.1使えばweb.xmlエディタもついてるので、作業しやすい。
199nobodyさん:2005/07/08(金) 09:27:12 ID:???
>198

>昨日とあるサイトを見せられ、改造しろといわれて中を見て、
と書いてあるが。
5.5だとJDKまで入れ替えろってことか。きびしいな。
200nobodyさん:2005/07/08(金) 09:39:15 ID:???
>>199
JDKも最新つかっときゃいいんじゃねぇの?
あぁ、「とあるサイト」を改造して別のサイト作るわけじゃないのね。
201nobodyさん:2005/07/08(金) 10:36:39 ID:???
>>197
教えて頂いた通り、classesの下に任意のフォルダを作成し、
その名称をパッケージ名とすることで問題なく動きました。
名称の約束事等も、大変参考になりました。
ありがとうございます!

>>198-200
仰るとおり既にある環境がtomcat4.1なんですが、開発(作業)環境の問題はたしかにあるんですよね。。
私の偏見かもしれないんですが、オブジェクト指向系の開発環境って
エディタが勝手に各種設定をやってくれるってイメージがあるので(結構な数のBeansをコンパイルする時等)、
そこら辺も調べてます。
202nobodyさん:2005/07/08(金) 11:54:27 ID:???
オブジェクト指向系ではない開発環境はほとんどないと思うが・・・
203nobodyさん:2005/07/08(金) 20:13:04 ID:4YhNblk4
Tomcat 5.0.18 を使用していますが、開発中のコードで、
内部サーバーエラー 500 と出るのは解りますが、
肝心のメッセージ内容が、 "org.apache.jasper.JasperException: ???????"
って表示されるので、原因を知ろうにも、何が悪いのか解りません。

何をどうすれば、 ??????? の部分がちゃんと読めるようになりますか?
204nobodyさん:2005/07/08(金) 20:15:50 ID:???
5.0.28以降を使う
205nobodyさん:2005/07/08(金) 20:41:43 ID:4YhNblk4
>> 204
Tomcat のバージョンを 5.0.28 にしたら治った。。
ありがとうございます。

あー、疲れました。
206nobodyさん:2005/07/09(土) 04:52:09 ID:???
どうして最新版を使わずに悩むのか、謎だな。
207nobodyさん:2005/07/10(日) 16:40:51 ID:???
謎という程でもない
208nobodyさん:2005/07/12(火) 14:49:27 ID:???
>>33と同様に
Tomcat4.1でContextを追加して別のプロジェクト(?)を追加したいのですが
追加すると
Tomcatが勝手に終了してしまいます。
>>43にContextを追加するなとありますが
4.1で追加すると何か問題があるのでしょうか?
209nobodyさん:2005/07/12(火) 14:56:46 ID:???
>>33 への回答は >>41

>>43 が何を言いたかったのかは >>43 にきいとくれ。
210nobodyさん:2005/07/12(火) 14:59:37 ID:???
>>43ではないが・・・
server.xml を直接編集せずに
コンテキスト設定ファイルを作ってそれをデプロイしろってことでしょ?
211nobodyさん:2005/07/14(木) 00:32:21 ID:???
TomcatでFTP通信したいんですが上手くいきません・・・
誰か簡単に手順を教えてください( ´Д`)
212nobodyさん:2005/07/14(木) 01:04:30 ID:???
・FTPサーバーに接続する
・コマンドなげる
・ファイルやりとり
・接続閉じる
213nobodyさん:2005/07/14(木) 21:59:43 ID:ruRs12+o
>>211
http://www.amazon.co.jp/exec/obidos/ASIN/4774121681/ を買う
・読む
・理解する
・プログラムを作る
・実行する
・(゚Д゚)ウマー
214nobodyさん:2005/07/15(金) 05:13:24 ID:???

jakarta-tomcat-5.5.9をlinuxサーバにインストールし、

http://host:8080/servlets-examples/servlet/HelloWorldExample
とりあえずこれがブラウザから実行できるようになったので、
では自作プログラムをと思ったのですが、

HTTPステータス 404 -
The requested resource (/TEST/servlet/test) is not available.

このエラーです。

javac -classpath /usr/jakarta-tomcat-5.5.9/common/lib/servlet-api.jar test.java
これでコンパイルは出来ていて、web.xmlの中でservlet-name,servlet-classの指定もしたのに、
ブラウザで実行できません。

また、web.xmlはそのままで、
HelloWorldExampleの方を同じ方法でコンパイルすると、やはりコンパイルは出来るのですが、同じエラー(HTTPステータス 404 )です。

オリジナルの容量が  2056 HelloWorldExample.class
上のコンパイルでは  1721 HelloWorldExample.class
となっているので何かコンパイル時に足りないことがあるのかと思うのですが、
どのような指定が正しいのでしょうか?
215nobodyさん:2005/07/15(金) 06:52:29 ID:???
>>214
web.xmlに指定した内容をはりつけてみろ
216nobodyさん:2005/07/16(土) 08:05:51 ID:???

/servlet-examples 以下を /testに全てコピーして、
/test/WEB-INF/web.xmlにこれを追加

<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
....
</servlet>

<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>


でも
HelloWorldExampleの部分は触れていないのですが
HelloWorldExampleをコンパイルすると
オリジナルと容量が変わって実行できなくなるというのはどういうわけなんでしょう?

HelloWorldExampleをコンパイルする前(オリジナルのファイル)を実行する
( host:8080/test/servlet/HelloWorldExample をブラウザから開く)と
ちゃんと実行できるのですが、
このサンプルファイルをコンパイルし直して,/test/WEB-INF/classes(オリジナルに上書き)コピーしても実行できていないということは
やはりコンパイル方法
javac -classpath /usr/jakarta-tomcat-5.5.9/common/lib/servlet-api.jar ...java
これがおかしいと思うのですが
web.xmlの設定の問題なのでしょうか?

217nobodyさん:2005/07/16(土) 09:16:30 ID:6Cm0TSY1
server.xml
218nobodyさん:2005/07/16(土) 09:43:22 ID:???
/test きってないんだねぇ
219nobodyさん:2005/07/16(土) 10:13:17 ID:???
そんなところで悩むなら、おとなしくNetBeansでも使って勉強しろと思うのはおれだけか。
220nobodyさん:2005/07/16(土) 12:01:49 ID:???
>>219
うん、おまいだけ。
肝心なところをわからないままで進めてどうする。
221nobodyさん:2005/07/16(土) 12:14:25 ID:???
HTTPステータス 404 -
The requested resource (/TEST/servlet/test) is not available.

このエラーを見る限り、ブラウザからは
http://localhost:8080/Test/servlet/test をリクエストしているように見える。
web.xmlをそのように設定しているのなら
http://localhost:8080/test/servlet/HelloWorld だろ。
222nobodyさん:2005/07/16(土) 12:16:18 ID:???
コンパイル後のサイズなんて気にするな。
コンパイラによっても変わるし、コンパイル時のオプションによっても変わるから。
223214:2005/07/16(土) 13:31:53 ID:???
ありがとうございます
>>221

はい、こちらを見ています。
http://host:8080/test/servlet/HelloWorld
http://host:8080/test/servlet/HelloWorldExample
こちら側の実際の名前と説明時の名前が一致していなくてすみません


>>220
どうしてもわからないのは
インストール時にサンプルとしてついているHelloWorldExample.java をコンパイルしても
web.xml等設定を全く変えていないのに

HTTPステータス 404 - /test/servlet/HelloWorldExample
type ステータスレポート
メッセージ /test/servlet/HelloWorldExample
説明 The requested resource (/test/servlet/HelloWorldExample) is not available.

もちろん/test/WEB-INF/classes/HelloWorldExample.class は存在しています。
これが、
オリジナルのファイルであるとちゃんと実行できているのに、HelloWorldExample.javaをコンパイルして
HelloWorldExample.class と置き換えると上のエラーが出るのです。
224nobodyさん:2005/07/16(土) 13:42:21 ID:???
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
....
</servlet>

クラス名がHelloWorldExampleなのに、なんで設定はHelloWorldなんだ?
225nobodyさん:2005/07/16(土) 16:48:31 ID:???
ツールで勝手にやってくれるようなところで悩むより、プログラムの部分で悩んだほうがいいと思うが。
226214:2005/07/16(土) 17:35:59 ID:???
もちろんweb.xml中には
<servlet>
<servlet-name>HelloWorldExample</servlet-name>
<servlet-class>HelloWorldExample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldExample</servlet-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern>
</servlet-mapping>
この記述もあります。

>>216 >>223
オリジナルのweb.xml,HelloWorldExample.classのままだとちゃんと実行できているのに、
オリジナルのweb.xmlのままでHelloWorldExample.javaをコンパイルしてHelloWorldExample.class
を作ると、
HTTPステータス 404 -
のエラーなのです。

現在、web.xmlはオリジナルのままです。
そのままだとちゃんと実行できているのに、
HelloWorldExample.javaをコンパイルしてHelloWorldExample.classを作り、オリジナルの上に上書きすると、実行できなくなるのです。

要するに、自前コンパイルのファイルは全く実行できていないのです。

下記、ソースコードです。
これを、 javac -classpath /usr/jakarta-tomcat-5.5.9/common/lib/servlet-api.jar HelloWorldExample.java
とやってコンパイルします。
コンパイル時にエラーは全く出ません。

227214:2005/07/16(土) 17:36:53 ID:???
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
ResourceBundle rb =
ResourceBundle.getBundle("LocalStrings",request.getLocale());
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
String title = rb.getString("helloworld.title");
out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<a href=\"../helloworld.html\">");
out.println("<img src=\"../images/code.gif\" height=24 " +
"width=24 align=right border=0 alt=\"view code\"></a>");
out.println("<a href=\"../index.html\">");
out.println("<img src=\"../images/return.gif\" height=24 " +
"width=24 align=right border=0 alt=\"return\"></a>");
out.println("<h1>" + title + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
228nobodyさん:2005/07/16(土) 23:52:16 ID:???
>>226
jakarta-tomcat-5.5.9/logs/catalina.out にエラーメッセージが出ているだろう?

jakarta-tomcat-5.5.9/webapps/servlets-examples/WEB-INF/classes から
LocalStrings.properties を /WEB-INF/classes にコピーしてみろ。
229214:2005/07/17(日) 11:43:16 ID:???
LocalStrings*はすべてコピー済みです。
念のためもう一度コピーしましたが何も変わりません。


jakarta-tomcat-5.5.9/bin/startup.sh
jakarta-tomcat-5.5.9/bin/shutdown.sh
Using CATALINA_BASE: /usr/java/jakarta-tomcat-5.5.9
Using CATALINA_HOME: /usr/java/jakarta-tomcat-5.5.9
Using CATALINA_TMPDIR: /usr/java/jakarta-tomcat-5.5.9/temp
Using JRE_HOME: /usr/java/j2sdk1.4.2_04

catalina.outに追加された部分は、

This release of Apache Tomcat was packaged to run on J2SE 5.0
or later. It can be run on earlier JVMs by downloading and
installing a compatibility package from the Apache Tomcat
binary download page.

230nobodyさん:2005/07/17(日) 12:06:15 ID:???
>>229
書いてあるとおりだ!ボケ!!!

Tomcat5.5の動作環境を調べてみろ。
ちゃんと必要条件を満たしているのか???
まあ、パッチを当てればその環境でも動くのだが。
231214:2005/07/17(日) 13:45:57 ID:???
コンパイルしない
最初からサンプルとしてついているclassファイルはこの環境のままでちゃんと実行できているのですが
なぜなんでしょうか?
232nobodyさん:2005/07/17(日) 13:59:20 ID:???
そんなことで3日悩むなら、NetBeans使ってサーブレットの勉強を3日間進めたほうが有意義だと思うが。
それで動かしなれたら、設定とかで3日悩んだりもしないだろうし。
233nobodyさん:2005/07/17(日) 14:07:11 ID:???
>>232
「Servletの作成」だけにスコープを絞るのならそうだろうね。
Servletの動かし方を知りたいのなら、その方法はダメ。
「よくわからないけど、動いてしまっている」ままの状態で進んじゃってもね・・・
234nobodyさん:2005/07/17(日) 14:11:34 ID:???
>>231
想定外のことが実行できちゃってるだけ。
235214:2005/07/17(日) 14:15:06 ID:???
設定の問題なのでしょうか?

サーブレットは現在、ブラウザから問題なく実行できています。(サンプルとして最初からついているclassファイルは)

web.xmlの設定で、別のURLを対応付けさせるということも出来ています。


ただ一点、
自分でコンパイルしたclassファイルだけが実行できないのです。
(サンプルファイルとして最初からついているソールファイルに対しても)




これはコンパイル(に関する設定)の問題だと思うのですが違うのでしょうか?


javac -classpath /usr/jakarta-tomcat-5.5.9/common/lib/servlet-api.jar HelloWorldExample.java
このようにしてコンパイルします。
コンパイルエラーは出ません。

javacの変わりに、
 /jdk1.5.0_04/bin/javac と指定してみても同じです。(コンパイルエラーは出ず、classファイルが生成されます)
236nobodyさん:2005/07/17(日) 14:32:21 ID:???
>>235
コンパイルはjdk1.5で行って、実行はjdk1.4.2で行われてるからじゃないのか?
237nobodyさん:2005/07/17(日) 17:32:18 ID:???
>>233
なにも動かないよりまし。
動かせば理解しやすくなる。というか、動かないことには何も理解できない。
238nobodyさん:2005/07/17(日) 19:44:24 ID:???
そもそも、NetBeansなんていうマイナーな開発環境はおすすめしかねる。
この業界、デファクトスタンダードに乗っておくのが吉。
239nobodyさん:2005/07/17(日) 23:53:37 ID:???
最初の勉強だけNetBeans使ってもいいと思うが。
Webアプリの入門とSwingの入門にはいいと思うよ。
実際の開発に使えないほどヘボくはないし。
240& ◆8tF2xoknq. :2005/07/20(水) 13:54:27 ID:vT0JkkZS

ねぇ、はっきり言ってさ、JAVAってWEBアプリでもさ、
VBにかなわないと思わない?

もう、JAVAって、お先真っ暗なんじゃないかなぁ。
EJB最高なんてみんな言ってたよね、みんな騙されて、時間無駄に
したよねぇ。

まだ、SWINGなんて言っている連中いるし。あんなもん、業務用に
使えないって、まじで。
241:2005/07/20(水) 14:02:41 ID:???
言語宗教厨
242nobodyさん:2005/07/20(水) 14:18:20 ID:???
>>240
VBは事実上、鯖がWindows限定だからいろいろな意味でダメ。
243& ◆tNtHsziLno :2005/07/20(水) 14:21:56 ID:vT0JkkZS
>>242
でもね、WINDOWS2003サーバーって、はっきり言って他のどれよりも
よくできている。

保守は簡単で、性能も良いし、かねかけて作ってあるなぁというのが
実感だよ。結局安くつくしね。マジで。

TURBOLINUXのサーバーなんて、もう使う気にもなれん。
レッドハッとも同じ。
244nobodyさん:2005/07/20(水) 14:37:56 ID:???
>>243
保守が簡単かどうかは運用の問題。Windowsは簡単なので素人がヘタにいじってしまい、
かえって穴を作ったりすることも多いし、UNIX/Linuxの方が歴史が長い分、実績やノウハウは多い。
保守やコストはどちらも一長一短だね。
Winの方が安くつくかは疑問。保守にかかるコストは人件費が大半。
ちゃんとスキルを持った技術者のコストはそう変わらない。
UNIXに強い管理者にWindowsを管理させたら余分にコストはかかるだろうし
その逆もしかり。

ただし、WindowsはMicrosoftにベンダロックされる、という時点でNG。
性能は・・・64CPUのクラスタリング構成なんてできたっけ?
Google程度のトラフィックのあるサイトの構築実績はある?
245nobodyさん:2005/07/20(水) 18:34:44 ID:???
>Google程度のトラフィックのあるサイトの構築実績はある?
246nobodyさん:2005/07/21(木) 00:19:02 ID:???
つれた つれた
247nobodyさん:2005/07/21(木) 00:25:01 ID:???
Windowsサーバ・・・重い
Unix系サーバ・・・軽い

今のPCスペックじゃそんなことは微々たることなのか・・・
おじさんプログラマーの独り言(´・ω・`)
248nobodyさん:2005/07/21(木) 01:59:13 ID:???
設定次第だし、アプリ次第だし、ハード次第。
249nobodyさん:2005/07/22(金) 00:15:06 ID:???
>設定次第だし、アプリ次第だし、ハード次第。

それは前提条件に決まってるだろ
250nobodyさん:2005/07/22(金) 00:30:27 ID:/rKubrMS
JSP2.0の式言語で dev っていうプロパティをアクセスするには
どうすればいいっすか?

${ data.dev } とかかくとTomcat5.0でエラーになるっす。

つーか予約語とプロパティ名がかぶったとき
予約語をどうやってエスケープすればいいの?
251nobodyさん:2005/07/22(金) 01:11:06 ID:???
>>249
PCスペックのせいでビビたることだと思ってるのがイタイと思ってね。
252nobodyさん:2005/07/22(金) 01:11:59 ID:???
>>250
${data["dev"]}
253nobodyさん:2005/07/22(金) 01:19:59 ID:???
>>251
>PCスペックのせいでビビたることだと思ってる

まずは日本語の勉強をしてくるように
254nobodyさん:2005/07/22(金) 01:44:08 ID:???
読む力がない人にもわかる日本語って難しいからねぇ。
255nobodyさん:2005/07/22(金) 02:28:45 ID:???
>>252

すばやい回答ありがとう
今日はもう寝るけど
明日さっそく試してみるよ。
256nobodyさん:2005/07/22(金) 02:35:25 ID:???
試してから寝ろ。あほ。
257nobodyさん:2005/07/22(金) 10:32:21 ID:???
>>252 うそつきめ!

>>256 環境がその場になかったんだよ
258257:2005/07/22(金) 10:34:55 ID:???
> >>252 うそつきめ!
は前言撤回
ちゃんと動いたよありがとう!
259nobodyさん:2005/07/22(金) 11:30:45 ID:???
>258
小魚食え
260nobodyさん:2005/07/22(金) 11:35:32 ID:???
>>257-258
豹変ぶりにワロタ
261nobodyさん:2005/07/23(土) 22:22:15 ID:???
BBSを作っているんですが、フォームから送信された文字列の文字コードを
チェックするには、どのような方法がありますか?
getBytesメソッドで取得してみたのですが、"a"と入力すると1バイトで返ってくるのに、
"あ"と入力すると8バイト帰ってきてしまい、混乱しています。
助言お願いします。
262nobodyさん:2005/07/23(土) 22:23:24 ID:???
馬鹿が無理して背伸びする必要はないと思いますよ。
入門書買ってきて読みましょう。
263nobodyさん:2005/07/23(土) 23:14:07 ID:???
分かりました。ありがとうございます。
264nobodyさん:2005/07/24(日) 00:06:48 ID:???
>>262
おいおい。そりゃああんまりだろ。

>>263
文字コードはおまいさんがファームのページを表示させる時に
<meta http-equiv="Content-Type" content="text/html; charset=SJIS">

としているならばファームに入力された文字もSJISになる。
つまり調べずしても文字コードはわかるってこった。
265nobodyさん:2005/07/24(日) 00:24:56 ID:???
どーせ次は文字コードの違いについて質問してくるさ。
266nobodyさん:2005/07/24(日) 18:54:44 ID:ZtNWNig0
pdfファイル表示させるサーブレットがさ、こんなエラー吐くんだけど、
同じ症状に悩んでいる人います?

ソースコードの何行目がおかしいのかな、と思ってログみてもね、(Unknown Source)って
なってるの。

ClientAbortException: java.io.IOException: An existing connection was forcibly closed by the remote host

コンテナーの設定直さなきゃいけないのかなぁ。それとも、セッションの有効期限
無限大にしているからいけないのかなぁ。
267nobodyさん:2005/07/24(日) 19:09:07 ID:???
> ソースコードの何行目がおかしいのかな、と思ってログみてもね、(Unknown Source)って
> なってるの。
debugオプションをonにして再コンパイル汁。
268nobodyさん:2005/07/24(日) 22:17:25 ID:ZtNWNig0
>>267
謝謝。

試してみます。いまビルドファイルみたらOFFでしたから、これは
期待できそうです。

どうもありがとうございます。解決できたらご報告します。
269266:2005/07/25(月) 14:47:24 ID:JzwVgnfr
>>267
本当にどうもありがとう。何行目がおかしいのか手がかりが掴めました。
長い間、どこがおかしいのかわからなかったから、これだけでも、
本当に嬉しい。重ねて感謝します。謝謝。

でも、デバッグモードってOFFにすると何にも分からないんですね。
みなさんどういうときにOFFにするんですか?

リリース後だって、エラーは出ますし、リリース後のエラーこそ
なんとしてでもトレースしなければならないんだし。

デバッグモードって何のためにあるのか分かりません。
これからはずっとONのまま(リリース後でさえ)にします。
270nobodyさん:2005/07/26(火) 09:28:15 ID:???
スタックトレースに頼らんでも障害個所が特定できる作りにしやがれ
271nobodyさん:2005/07/26(火) 19:45:57 ID:???
WEBアプリは誰でも簡単に作れちゃうからな。

ただし、出来上がった物の質は人によって大きく異なる
272nobodyさん:2005/07/31(日) 01:59:22 ID:TYElhtKN
フォーム受取時、request.getParameter(name)でパラメータ値が得られなかった時に
flgを1にしたいのですが、パラメータ値が無いにもかかわらず1になってくれません。
(初期化時の0のまま・・・)

request.getParameter(name)でnameに対応する値が無いときはnullが返るはずですよねぇ。
どこが誤っているのかわかりません。助けてくださいまし。
環境はJ2SE5.0(1.5.0_04-b05)です。

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
request.setCharacterEncoding("Windows-31J");
response.setContentType("text/html;charset=Windows-31J");
PrintWriter write = response.getWriter();
Enumeration enum = request.getParameterNames();
write.println("<html><head><title>パラメータの取得</title></head>");
write.println("<body><table border=1>");
HashMap<String,String> hm = new HashMap<String,String>();
int flg = 0;
while (enum.hasMoreElements()){
String name = (String)(enum.nextElement());
String value=request.getParameter(name);
if (value == null){flg = 1;}        //←ココ
hm.put(name,value);
write.println("<tr><th>" + name + "</th>");
write.println("<td>");
write.println(hm.get(name) + " ");
write.println("</td></tr>");}
write.println(flg);             //←パラメータ値が取れていなくても、0のまま。
write.println("</table></body></html>");}
273nobodyさん:2005/07/31(日) 02:18:14 ID:???
その名前のパラメータが本当に存在しないのか?
パラメータ値の文字列長が0なだけで、パラメータそのものは飛んできているというオチじゃないだろうな。まさか。
274272:2005/07/31(日) 02:22:21 ID:???
スマン、null判定のトコ、equalsを使わにゃならんことを忘れてた。。。
逝ってきます。
275nobodyさん:2005/07/31(日) 02:26:49 ID:???
もしかして、パラメータは空文字で返ってきてないか?

String value=request.getParameter(name);の後を
if (value.equals(""))
に変えてみ。

関係ないけどPrintWriterの変数名は「out」にしておくのが常識。
276275:2005/07/31(日) 02:27:42 ID:???
ってもう解決したんかい
277nobodyさん:2005/07/31(日) 02:40:31 ID:???
nullは==で判定してOKなのだが。
278272:2005/07/31(日) 02:48:14 ID:TYElhtKN
>>273,275
ご回答、ありがとうございます。
参照型ってことをすっかり忘れて半日無駄にしてしまいました。

PrintWriterの変数名は適当につけてました。
気をつけておきます。
279nobodyさん:2005/07/31(日) 10:11:35 ID:???
つーか、テンプレートとかつかわんの?
280nobodyさん:2005/07/31(日) 12:23:22 ID:???
request.getParameter(name);
って引数Stringじゃないやつもあるんだ
281nobodyさん:2005/07/31(日) 13:54:21 ID:???
mimeMultipartはどうやってはいってくると思ってるんだ
282nobodyさん:2005/07/31(日) 13:55:37 ID:???
ていうか返り血だろソレ 釣られて俺が馬鹿みたいじゃないか
283nobodyさん:2005/07/31(日) 14:13:07 ID:???
物騒なメソッドだな。>返り血
284nobodyさん:2005/08/02(火) 17:58:12 ID:???
>>275
> PrintWriterの変数名は「out」にしておくのが常識。

そうか?
285nobodyさん:2005/08/02(火) 17:59:51 ID:???
どこのローカル常識やら。
286nobodyさん:2005/08/02(火) 23:22:41 ID:???
〜〜Writerはwriter
〜〜OutputStreamはoutにしてる
わかりやすけりゃなんでもいい
287nobodyさん:2005/08/02(火) 23:56:33 ID:???
>>284
JSPではWriterオブジェクトはoutという暗黙オブジェクトだからな。
「PrintWriterの変数名は「out」にしておくのが常識。 」というより、
「Servlet/JSPにおけるPrintWriterの変数名は「out」にしておくのが常識。 」とは言えると思う。
288nobodyさん:2005/08/03(水) 01:29:41 ID:???
response.getWriterの戻り値を格納する変数はoutだな。

それ以外のPrintWriterはpwとか、適当。
そしてout以外にする。
289nobodyさん:2005/08/03(水) 09:22:50 ID:???
>287
普通はそういうシステム上意味のある名前を外すがな。
290nobodyさん:2005/08/03(水) 10:55:52 ID:???
同じ役割のものは同じ名前
291nobodyさん:2005/08/03(水) 11:20:32 ID:???
kokohamugoituriboridesune...
292nobodyさん:2005/08/03(水) 12:11:34 ID:???
>>289
outを使わないってことは、Serveletのコードの中で
"request","session","response"等も使わないのか?
使わないとかえってわかりにくそうだが・・・
293nobodyさん:2005/08/03(水) 12:12:28 ID:???
間違えた。Servletだ。
294nobodyさん:2005/08/03(水) 12:48:29 ID:???
>>291
tairyoudayo
295nobodyさん:2005/08/03(水) 12:55:27 ID:YdrttGbW
Tomcatに配備したアプリについて、
アプリ内の特定のフォルダ内をすべてclasspathに認識させるには、
どう設定すれば良いでしょうか?

/usr/local/tomcat/webapps/myapp/
にアプリを置き、
/usr/local/tomcat/webapps/myapp/conf
に、設定ファイルを置いてます。
ここで、設定ファイルだけ読み込めないのです。
アプリ自体にはアクセスできています。
296nobodyさん:2005/08/03(水) 12:59:36 ID:???
なぜそんなことしたいのか理由がわからん。
297295:2005/08/03(水) 13:12:30 ID:???
何故かというと、confディレクトリがclasspathに認識されてないからなのですが、
何か根本的な勘違いしてますか?
298nobodyさん:2005/08/03(水) 13:25:12 ID:???
なぜconfディレクトリをclasspathに認識したいのか理由が思いつかん。
299nobodyさん:2005/08/03(水) 13:29:46 ID:YdrttGbW
では、ある設定ファイル群を、まとめてclasspathに認識させておきたい場合、
どのような方法があるのでしょうか?

300nobodyさん:2005/08/03(水) 14:41:00 ID:???
おとなしくclassesの下の置く。
301nobodyさん:2005/08/03(水) 14:41:42 ID:???
Webが前提ならわざわざクラスパスに置く必要もないしね。
302299:2005/08/03(水) 15:50:50 ID:???
おとなしくclassesの下に置きました。
ありがとうございます。
303nobodyさん:2005/08/11(木) 13:47:13 ID:???
サーブレットで携帯の絵文字使うときって、どういうロジック組んでる?
304nobodyさん:2005/08/11(木) 19:25:55 ID:???
キニシナイ。
305nobodyさん:2005/08/13(土) 13:24:24 ID:???
FilterのdoFilterの引数のServletRequestはHttpServletRequestにキャストして使用できるでしょうか。
Filterの中でSessionからログイン情報を取得し、
ログインしていないならログインページにforwardさせたいです。↓
if ( ((HttpServletRequest)req).getSession().getAttribute("user") == null) {
req.getRequestDispatcher("/login.jsp").forward(req, res);
}
306nobodyさん:2005/08/13(土) 16:29:11 ID:???
できる。
逆にできない場合って今あるのかな?
GenericServletのためにServletRequestなのかな
307nobodyさん:2005/08/29(月) 00:53:53 ID:???
JavaScriptで増やしたテキストボックスの値を、Javaのサーバサイドに渡す方法はありますでしょうか?

nameが固定じゃないとだめですか?
308nobodyさん:2005/08/29(月) 01:49:34 ID:???
>>307
> JavaScriptで増やしたテキストボックスの値を、Javaのサーバサイドに渡す方法はありますでしょうか?
ある。

> nameが固定じゃないとだめですか?
自由にどうぞ。
309nobodyさん:2005/08/30(火) 21:51:46 ID:???
JSPでセションIDをクッキーじゃなくformのhidden
項目で持ちまわって管理したいんですが。
具体的な方法がわかりません。
FORMのPOSTより取得したセションIDでセション
情報を呼び出すのかなと勝手に思い込んでいる
のですが、該当するメソッドが見つけられないし。

詳細が出ている本やサイトがあったら教えてください。
310nobodyさん:2005/08/31(水) 01:16:57 ID:A271il+B
よっこらせ!
311nobodyさん:2005/09/10(土) 10:58:38 ID:???
マルチスレドを意識する場合は、Serializableを実装しないといけないのでしょうか?
直列化の意味がよくわからないです。
これはオブジェクトをファイルに書き出すために必要なもので、
スレッドの同期化と関連があるのでしょうか?
312nobodyさん:2005/09/10(土) 11:10:36 ID:???
ファイルに書き出すというより、バイトデータ化するのに必要。
マルチスレッドとは直接の関連はない。
313nobodyさん:2005/09/10(土) 12:39:36 ID:???
>>311
ちなみに直接マルチスレッドと関係ないが
このスレにひきつけて言うと

サーブレットエンジンによっては
セッションを一時的にファイルに退避したり
ロードバランスで動いてる別のエンジンに転送したりする
機能が実装されていることがある。

そのばあいセッション変数に設定するオブジェクトは全部Serializable可能
でないとその機能が使えない。

あとマルチスレッド等の用語で排他制御のことを
直列化ということがある

これは排他しなければ同時に実行できる処理を1度に1つづつしか
実行を許さないから、並列処理->直列化という言葉が宛てられた

Serializableも日本語訳で「直列化」というが
これはオブジェクトをファイルや通信のために
バイト列に変換することだから
同じ直列化でもまったく意味が違う。
314名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:27:52 ID:???
>>313
ありがとうございます。
似た意味があって混乱してましたがすっきりしました。
sessionで直列化は「なるほど」って感じです。
315nobodyさん:2005/09/12(月) 19:44:15 ID:???
JIS コード 第二水準チェックってどうやってますか?
316nobodyさん:2005/09/12(月) 23:31:40 ID:???
俺だったらJISでgetByteしてコードの範囲チェックするかな?
効率悪そうだけど
画面の入力チェック程度には十分なきがする。
317nobodyさん:2005/09/16(金) 16:47:19 ID:???
ちょこっとJSPを変更してその確認をするとき、weblogicにデプロイしてる時間がかかりすぎて・・・。
earファイルを作成してそれをデプロイするのではなく、
どこか直接JSPを上書いて、それがちゃんと反映されて確認が取れる。みたいな事出来ませんか?
318nobodyさん:2005/09/16(金) 19:07:01 ID:???
>>317
ふつうはそうしないか?
319nobodyさん:2005/09/16(金) 23:35:41 ID:???
>>317
weblogicはしらんが
ふつうJSPってエディットしたら自動的にJava変換&コンパイルしてくれないか?
weblogicにもそういう設定あるだろ
320nobodyさん:2005/09/18(日) 18:20:49 ID:???
質問お願いします。
MyDefaultServletを定義して
<url-pattern>/<url-pattern>
としている場合、全てのリクエストがMyDefaultServletに渡りますよね。
それで、自分の必要な処理だけして、それ以外はTomcatのDefaultServletに
処理を任せたいのですが、これは可能ですか。
イメージ的にはWin32SDKのDefaultWndProcみたいな感じです。
わかりにくい文章ですみません。
321nobodyさん:2005/09/19(月) 04:08:44 ID:???
FilterかValve使うべきなんじゃない?

Servletでやりたいんだったら、、、RequestDispatcherかな。。。
RequestDispatcherってservletにはつなげないんだっけ?
322nobodyさん:2005/09/19(月) 12:41:22 ID:???
>>321
レスありがとうございます。おかげさまでできました。
getNamedDispatcher("default");
に転送すればいいみたいです。自分のServlet名もdefaultとしていたので競合していたみたいです。
おさわがせしました。
323nobodyさん:2005/09/24(土) 17:58:35 ID:???
JSPについて質問させてください.

web.xmlファイルに、jsp-property-groupでエンコードやヘッダの設定をして、
url-petternを / として、サーブレットからフォワードした
JSPを処理しようとすると404になってしまいます。
(このサーブレットはあらゆるURLに対して処理を振り分けてます)
jsp-property-groupを使うにはurl-patternを *.jsp として
サーブレット無しでJSPを直に呼ぶしかないのでしょうか?
324nobodyさん:2005/09/24(土) 21:53:35 ID:???
>>323
いみがわからん。

とりあえずjsp-property-groupはサーブレット経由で使える。
325nobodyさん:2005/09/25(日) 22:02:45 ID:???
>>324
説明が足りず申し訳ありません。
jsp-property-groupタグ内にurl-petternを指定する部分があるのですが
ここを*.jspにするとフォワードしたjspに対してjsp-property-groupタグ内の
設定が有効にならず、サーブレットのURLパターンを指定すると
404NOTFOUNDとなってしまう、という現象に悩まされていたのですが
Eclipseを再起動して試した所、無事*.jspで設定が反映されました。
Eclipse側の不具合だったようです。
お騒がせしました。
326nobodyさん:2005/09/26(月) 13:43:50 ID:ntOUMxKj
Tomcat5.5でのWEB開発について、分かりやすい
テキスト書はありませんでしょうか?
327nobodyさん:2005/09/26(月) 15:28:29 ID:???
328326:2005/09/26(月) 16:09:06 ID:ntOUMxKj
>>327
すみません。
古いバージョンでのTomcatでの開発経験はあるんですよ。。
Tomcat5.5にバージョンアップして増えた機能やJDBC接続の変更について
詳しい本は無いかなと思って質問させて頂きました。
329nobodyさん:2005/09/26(月) 16:21:14 ID:???
>>328
情報小出しかよ・・・orz
「古いバージョン」がどのバージョンだが知らないけど、
差分で理解できるのなら公式ドキュメントでいいじゃん。
330326:2005/09/26(月) 17:38:24 ID:ntOUMxKj
>>329
情報小出しですみません。
公式ドキュメントはまだ日本語略されてないんで読めないんですよ。
英語が分からなくてすみません。。
友達もいないので他に聞く人がいないんです。
生まれてきてすみません。。。
331nobodyさん:2005/09/26(月) 20:17:17 ID:???
JSPの式言語とJSTLまわりかな。
あとはcontext.xmlの書き方が変わってることか。

大きいとこだと。
332nobodyさん:2005/10/01(土) 00:05:37 ID:???
web.xmlのurlパターンで、
*.html,*.jspと書いたらエラーになりました。
ワイルドカードを複数指定することはできないのでしょうか。
333nobodyさん:2005/10/01(土) 08:01:36 ID:???
>>332
Servlet Specification セクション11.2には
? A string beginning with a ‘/’ character and ending with a ‘/*’ postfix is used for path mapping.
? A string beginning with a ‘*.’ prefix is used as an extension mapping.
? A string containing only the ’/’ character indicates the "default" servlet of the application. In this case the servlet path is the request URI minus the contextpath and the path info is null.
? All other strings are used for exact matches only.
とある
334nobodyさん:2005/10/01(土) 13:43:27 ID:???
>>332
URLパターンは、すごく不自由。
335nobodyさん:2005/10/02(日) 11:45:57 ID:???
servlet 2.3なので、filterで、dispatcherタグが使用できません。
doFilterの中で、リクエストがforward、include、requestなのか
判断できるでしょうか。
336nobodyさん:2005/10/02(日) 11:47:29 ID:???
>>334
不自由ですね。
しょうがないので、doFilterの中で正規表現を使用して判断してます。
337nobodyさん:2005/10/03(月) 19:15:49 ID:bbf4TJMn
なんかTomcat 4.xでセキュリティーホールだってよ
ttp://www.ipa.go.jp/security/vuln/documents/2005/JVN_79314822_Tomcat.html

5.xへの移行って簡単なのか?
338nobodyさん:2005/10/03(月) 21:36:59 ID:???
基本的にはそのまま移行できると思うんだけど。
339nobodyさん:2005/10/04(火) 12:17:08 ID:P6Wy62g1
JBossとVelocityを使ってWebアプリケーションを作成しようと思うのですが、
最適な開発環境ってどうなるでしょうか?
Eclipse + Lomboz で問題ないですか?
JBossのページを見るとJBoss Eclipse IDEというのもありますが、
何を使えば良いのか分かりません。
340nobodyさん:2005/10/04(火) 13:10:35 ID:???
好きなの使え
3412重クリック:2005/10/05(水) 17:09:17 ID:QaUei0J7

お世話になります。2重クリックの現象について質問させてください。

毎朝サーバーの管理をしているのですが、どう考えても
2重クリック(短時間に同じボタンまたはリンクを2度クリック)して
いないはずなのに、GETリクエストが2度記録されていて
エラーが吐き出されていることがあります。

Windows98のIE6.0だけの現象かな、と思っていたのですが、
最新のWindowsとIEの組合わせでも起きています。

頻繁には起きないのですが、気がついた
ユーザー(クライアント)はIEから
Firefoxへ乗り換えて、この問題を解決していました。

ちゃんと、
response.setDateHeader("Last-Modified", 1L);
response.setDateHeader("Expires", 0L);
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
でキャッシュは残らないようにしているのですが・・・・

どなたか同じ現象に悩ませれている方、原因に心当りがございましたら
おしらせください。よろしくおねがいします。
342nobodyさん:2005/10/05(水) 23:37:28 ID:???
getが連続でくるとエラーになるようなページなの?
あとどこでログとってんの?valve? filter? servlet?
3432重クリック:2005/10/06(木) 15:16:10 ID:KDmoObkK
>>342
どうもありがとうございます。

エラーが起きるのは、セッションが開始されたら1度しか訪れることが
できないようにプログラムしてあるからです。

それで、2重クリックが起きてしまうと、2度目のアクセスで500番の
HTTPエラーが出ます。

ログはSUNのアプリケーションサーバーのデフォルトserver.logとaccessフォルダ
の中にたまったファイルです。

リクエストがきたらログが記録されるようになっています。
344超初歩的な質問でごめんなさい:2005/10/07(金) 19:16:43 ID:nTvAUwnG
ここのサーバーで、JSPって使えるんですか?

WWWサーバについて
サーバのハードウェア、ソフトウェアは以下のものを利用しています。
Intel PentiumIII 750MHz Memory:128MB
OS:FreeBSD 4.4-Release
WWW server:apache 1.3.22
345nobodyさん:2005/10/07(金) 19:19:20 ID:???
>>344
ゼミの教官か鯖の管理をしている職員または鯖のお守をしているゼミ生に聞け
346nobodyさん:2005/10/07(金) 22:18:47 ID:???
weblogicでearをデプロイすると、earの中のweb.xmlやクラス・設定ファイルなどは、どこかに展開されるのでしょうか。
jspの修正毎にデプロイするのはつらいので、展開されたところにコピーしたいです。
347nobodyさん:2005/10/07(金) 23:04:02 ID:???
>>346
それなら展開してからデプロイすればいいよ
348nobodyさん:2005/10/07(金) 23:31:10 ID:???
>>347
jbossなら出来るって聞いたけど、weblogic8.1はできなかった。
起動はしたけど、jsp更新しても無反応・・・
349nobodyさん:2005/10/08(土) 00:24:00 ID:???
tomcatみたいに、eclipceプロジェクトを見るようにさせればいいじゃん
350nobodyさん:2005/10/08(土) 11:15:28 ID:???
それじゃ駄目だ
351nobodyさん:2005/10/08(土) 16:17:35 ID:???
以下のようなpageディレクティブを記述したJSPに、日本語に対応していないブラウザから
アクセスされた場合、charset="ISO-8859-1" のように動的に設定するような事は可能でしょうか?

<%@ page contentType="text/html; charset=Windows-31J" %>
352nobodyさん:2005/10/08(土) 23:53:11 ID:???
@pageディレクティブ使わずにサーブレットと同じように書けばいいんじゃない?
353fromG:2005/10/10(月) 16:37:36 ID:daavjQBv
初めまして。
JavaServletでちょっと特殊な会員制投稿サイトを作りたいと検討中なのですが、サーバ周りの知識が不足しています。
まずは家庭内LANを組んでコツコツ開発していきたいと考えているのですが、まだ漠然としたイメージしかありません。
どんな環境を構築すればよいでしょうか。類似例やキーワードだけでも結構ですのでご指導ください。
漠然とした質問で恐縮なのですが、よろしくお願いします。
354nobodyさん:2005/10/10(月) 17:04:44 ID:???
別にLANは必要ない。
アプリケーションの作成だけならすべて一台のマシンで事足りる。
最低限必要なのは↓
・OS(Windows/Linuxなど)
・Java SE SDK (Sun の Java2 SDK など)
・Servletコンテナ(Apache Tomcat など)
・Webブラウザ
355fromG:2005/10/10(月) 17:47:49 ID:daavjQBv
LANは必要ないんですね、ありがとうございます!
そう言えば誰かも昔、そんなことを言ってたような・・。
他にもお気付きの点がございましたらお願いします。
356fromG:2005/10/10(月) 18:03:17 ID:???
ageて失礼しました!
357nobodyさん:2005/10/10(月) 19:01:49 ID:???
コンパイルエラー!!!!!
358nobodyさん:2005/10/10(月) 19:04:27 ID:???
分かったよ…分かったから…
359nobodyさん:2005/10/10(月) 21:04:20 ID:???
>>356
JDK5.0+NetBeans4.1をダウンロードして、NetBeans起動してWebプロジェクト作成して適当にやってれば、とりあえず動かすところまではすぐできる。
その場合、ダウンロードする必要があるのはそのひとつのファイルだけ。
360nobodyさん:2005/10/11(火) 16:58:56 ID:F6jZH3tC
velocity-tools-1.1/examples
のsimple.warファイルを
jboss-3.2.6RC1/server/default/deploy
に入れて、
http://localhost:8080/simple/
にアクセスすると、
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/index.vm'
というエラーメッセージが出ます。
何か設定などが必要なのでしょうか?
(warファイルを展開すると、index.vmは存在しています)

javaはJAVA_HOME=/usr/local/j2sdk1.4.2_09です。
Linux上で動作させています。
361347:2005/10/12(水) 00:24:55 ID:???
>>348
展開形式でも普通にデプロイできるし
よほど設定しなければデフォルトでJSPや
サーブレットの更新が検出されるけど、
何かエラー出てるの?
362nobodyさん:2005/10/12(水) 01:14:19 ID:???
現在Tomcat/4.1.18を使用して、勉強している最中なのですが、
ブラウザからプロジェクト(Test)内に存在しないクラスファイル(test)を指定した場合、
毎回以下のような長いエラー文が表示されるのですが、
例えばURLを間違えた人が居たら毎回このようなエラーをログファイルに吐いてしまうものなんでしょうか?
これを出さない方法はありますでしょうか?
2005-10-12 01:05:11 StandardWrapper[/Test:org.apache.catalina.INVOKER.test]: サーブレット org.apache.catalina.INVOKER.test を利用不可能にマークします
2005-10-12 01:05:11 invoker: パス /Test/servlet/test にサーブレットインスタンスを割り当てることができません
javax.servlet.ServletException: ラッパがサーブレットクラス test またはそれが依存するクラスを見つけることができません
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:890)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:666)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:416)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
-----------------略------------------------------------------------------
363nobodyさん:2005/10/12(水) 01:23:44 ID:???
>>362
とりあえず、invokerは使うな。
話しはそれからだ。
364nobodyさん:2005/10/12(水) 07:20:42 ID:???
>>362
関係ないが、勉強なら最新版の5.5.12でやれ。
4.xはJSP1.2だけど5.xはJSP2.0だ。
365nobodyさん:2005/10/12(水) 23:18:29 ID:???
newInstance()とかで呼ばれるのではなくて、
普通にnewしてインスタンスを生成しているクラスで、
javaVMが最初にクラスをロードした後に
classファイルをコンパイルして更新しなおすと、
次にnewするときは、更新したクラスが生成されるのでしょうか。
366nobodyさん:2005/10/13(木) 00:10:39 ID:???
>>365
マルチ乙。
367nobodyさん:2005/10/13(木) 05:30:46 ID:???
>>365
クラスローダーによる。
368nobodyさん:2005/10/13(木) 09:27:45 ID:???
というか試せばすぐ分かることだろうが。
369nobodyさん:2005/10/13(木) 14:09:53 ID:???
>>367
クラスローダー?javaVMじゃないの?
370nobodyさん:2005/10/13(木) 23:49:35 ID:A0tUEpfe
質問があります。
現在パスワード入力後のログイン管理にクッキーを実装しようとしています。
index.jspでパスを入力させ、index.jspに引数でパスを与えて正しければログイン状態にします。
ログイン状態の表示として、パスワードボックスの代わりに「ログオフする」と記述しています。
その文字列をクリックすると、またパスワードボックスが表示される仕組みです。

しかし、現状ではログイン後に一度更新しなければならず、
ログオフ後も一度更新しなおさないと正しく表示されません。
アドバイスしてくださる方いらっしゃればぜひお願いします。
371nobodyさん:2005/10/13(木) 23:57:02 ID:???
>>370
これだけの書き込みでわかるわけがない。
ソース晒せ。
372370:2005/10/14(金) 00:02:00 ID:A0tUEpfe
<%
//渡されたデータの取得
request.setCharacterEncoding("Shift_JIS");
String password=request.getParameter("password");
String kijiNo=request.getParameter("kijiNo");
if(kijiNo==null) kijiNo="0";

%>

<%
boolean login = false;

try{
String sql="select password from 管理者;";
ResultSet rs = st.executeQuery(sql);
String str;
String logoff = "logoff";
373370:2005/10/14(金) 00:03:42 ID:Ouyhurru

rs.next();
str = rs.getString(1);
if(str.equals(password)){//パスが正しければ
String value = URLEncoder.encode(password);// クッキーに格納する文字列を作成
Cookie cookie = new Cookie("mblog",value);// 名前が"mblog"、値がpasswordであるクッキーを作成
cookie.setMaxAge(7 * 24 * 60 * 60); //有効期間を7日に設定
response.addCookie(cookie);// クッキーを発行
login=true;
}else if(logoff.equals(password)){//ログオフした場合
// クッキーを削除
Cookie cookie = new Cookie("mblog","");
cookie.setMaxAge(0);
response.addCookie(cookie);
login=false;
}
}catch(Exception ex) {
out.println("ERROR:DB Output");
out.println(ex);
}
%>
374370:2005/10/14(金) 00:04:40 ID:Ouyhurru
<%//クッキーの取得

Cookie cookies[] = request.getCookies();// クッキーの配列を取得
Cookie mblogCookie = null;// 目的のクッキーを格納する変数

// それぞれのクッキーに対して名前を確認
if(cookies != null) {
for(int i = 0; i < cookies.length; i++) {
// 名前が "mblog" であるかチェック
if(cookies[i].getName().equals("mblog")) {
mblogCookie = cookies[i];// 該当するクッキーを取得
}
}
}
%>

<!--初期設定ここまで-->

<body bgcolor="#FFFFFF" topmargin="0"
bottommargin="0"
leftmargin="0"
rightmargin="0"
marginwidth="0"
marginheight="0">
375370:2005/10/14(金) 00:07:14 ID:Ouyhurru
<div align="center"><img src="spacer.gif" alt="" width="1" height="15" align="top"><br>
<table width="722" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" class="color2"><img src="spacer.gif" width="1" height="1"></td>
</tr>
<tr>
<td class="color4" align="center" width="140"><div style="margin:4px" class="lin2"><a href="delete.jsp">削除
</a></div></td>
<td class="color4" align="center" width="140"><div style="margin:4px" class="lin2">

<%

// 該当するクッキーがみつからなかった場合
if(mblogCookie == null) {
login=false;
} else { // クッキーがみつかった場合login
login=true; //login
}

if(login==true){
out.println("<a href=\"index.jsp?password=logoff\">ログオフする</a>");
}else{
out.println("<form action=\"index.jsp\" name=\"password\"><input size=\"8\" type=\"password\" name=\"password\"><input type=\"submit\" value=ログイン></form>");
}
%>
</div></td>


長いので、テーブル構造を少し省略しました。
汚いソースですいません、大体ここらあたりの問題だと思います。
376nobodyさん:2005/10/14(金) 07:51:50 ID:???
> 汚いソースですいません

多少の自覚はあるようだw
ビューとロジックをまったく切り離していない、最悪なソースだな。
つっこみどころも満載だし。

あとで時間があったらゆっくり見ておく。
377nobodyさん:2005/10/14(金) 08:12:24 ID:???
解読に時間がかかるソースは回答が得られないわな。
もうちょっと整理したら?
整理したら解決策が自分でわかることも多いし。
378nobodyさん:2005/10/14(金) 20:27:45 ID:???
requestで取得できるのは前ページから渡されるパラメータだけじゃないの。
379nobodyさん:2005/10/16(日) 22:18:47 ID:???
私は千葉&市川都市に住んでいる。
JSP (Java Server Pages) を知ってる人と会いたい
です。
380nobodyさん:2005/10/16(日) 23:22:58 ID:???
>>379
11/8からのJavaOne行きゃたくさんいるよ。
381nobodyさん:2005/10/18(火) 13:04:29 ID:???
>>380
それは何ですか? Conferance? Or Meeting?
私は深刻です。私はまだ日本で少しだけ住んでいます。
だから何も知らない。だからJSP をすきひととあいたいです。
すみませ、私の日本語はまだまだじょずない。
382nobodyさん:2005/10/18(火) 14:15:34 ID:???
>>381
機械翻訳調にすれば、少しは釣れるかもしれないけど。
1点。
383nobodyさん:2005/10/18(火) 16:05:42 ID:???
>>381
だいじょうぶ。JavaOneで話する人はガイジンが多い。
384nobodyさん:2005/10/19(水) 15:35:54 ID:???
log4jのLogクラスで行番号が出せるけど、行番号なんてどうやって出しているのだろうか
Cのプリプロセッサだけの芸当かと思ってた
385nobodyさん:2005/10/19(水) 15:40:20 ID:???
>>384
>>Cのプリプロセッサだけの芸当
java の stack trace にも普通に行番号が出ているわけだが・・・。
386nobodyさん:2005/10/19(水) 16:06:00 ID:???
>>384
コンパイル時のオブションでバイトコードに行番号情報を埋め込める
387nobodyさん:2005/10/19(水) 16:10:19 ID:???
>>386
じゃあlog4jではその仕組みを使っていて
log4jでなくても行番号は使用できるのですね。
出し方は何か特別なことがあるのでしょうか。
388nobodyさん:2005/10/19(水) 16:42:40 ID:???
>>387
マルチに答える義理はない
389nobodyさん:2005/10/19(水) 17:12:52 ID:???
>>387
Log4JLoggerへんみてみぃ
390nobodyさん:2005/10/19(水) 17:33:31 ID:???
つーか、javaのロギングIF気に入らないんだけど
何でLoggerのstaticインスタンスをクラス毎にもたにゃいけないの。
だせ
391nobodyさん:2005/10/19(水) 20:01:20 ID:???
サーブレットでホスト名を取得する方法はあるでしょうか
392nobodyさん:2005/10/19(水) 20:58:41 ID:???
>>391
InetAddress.getLocalHost().getHostName()
393nobodyさん:2005/10/19(水) 21:05:33 ID:???
>>392
ありがとうございます。
weblogicでアプリケーションのドメイン名を取得する方法はありますか。
394nobodyさん:2005/10/19(水) 21:17:12 ID:???
めんどくせー
エクセプション処理まじめんどくせー
新しいエクセプション追加したら呼び出し元全部修正じゃん
めんどくせー
もうこれからどんなメソッドでもthrows Exceptionだな
395nobodyさん:2005/10/19(水) 21:23:09 ID:???
まあドトネトはそれで上手くいってる(?)わけだし
396nobodyさん:2005/10/20(木) 10:31:42 ID:???
>>394
新しい例外はRuntimeExceptionで。
397nobodyさん:2005/10/20(木) 20:05:44 ID:???
>>396
それって割と聞きますが結構みんなやってるんですかね。
基本的な考えではNGなんですよね。
398nobodyさん:2005/10/20(木) 21:31:44 ID:3nFaUhN4
JSPでDBへの接続ポートを複数開くのはセオリーから外れていますか?
6つの接続をもつファイルがあるんですけど
399nobodyさん:2005/10/20(木) 22:23:12 ID:???
>>397
throws Exceptionやるよりマシ。
というか、最近はRuntimeExceptionの方が主流になってきてる。
例外のせいでメソッドが特定のライブラリに依存するのは本末転倒だから。
例えばHibernateなんかでは例外がRuntimeExceptionになってきてる。
400nobodyさん:2005/10/20(木) 22:24:16 ID:???
>>398
ムダな処理を行うことは、セオリーからはずれる。
ムダではないなら、セオリーからはずれない。
401398:2005/10/20(木) 22:37:46 ID:3nFaUhN4
>>400
そりゃそうですね、失礼
しかし、ロジカルな部分を全てヘッダに持って来たいためだけに
複数の接続を作って、複数同時に開いてるのだが・・・
処理が重くなるのは当然だろうが、弊害はないだろうか。
402398:2005/10/20(木) 23:04:16 ID:3nFaUhN4
あ、違う質問なんですけど。
jspでDB(postgresql)にString型で「〜」を入れて、
取り出して表示したら「?」や空白文字になるんだけど・・・
なんでだろ?誰か教えて〜
403nobodyさん:2005/10/20(木) 23:34:11 ID:???
>>398
JSPでDBアクセスしている時点でセオリーからはずれまくり。
コンテナ管理のDataSourceを使わない、という点でもセオリーからはずれまくり。

文字化けは、
・JSPのソースの保存文字エンコーディング
・出力時のコンテントタイプと文字エンコーディングの指定
・DBのテーブルの文字エンコーディング
・DBMSの製品とバージョン
・JDBCドライバの製品とバージョン
・JVMのバージョン
これぐらいの情報があって初めて正確な回答が得られる。
何も書いてないと言うことは、何も気にしないで実装している?
そんなんじゃ文字化けするのも頷ける話しだ・・・

404nobodyさん:2005/10/21(金) 09:36:38 ID:???
>>398
スレッド作ってクエリ投げてんの?
そういうプログラミングって注意しないとトラブルになることが多いよ。
ちょっと遅くなるくらいならごくごく普通にコーディングしておくのが吉。
パフォーマンスの問題はキャッシュ使うとか普通の方法で解決するよろし。
405404:2005/10/21(金) 09:39:31 ID:???
〜の問題は Shift JIS のマッピングの問題の可能性大。
たぶん丸付き数字とか(株)なんかもだめじゃなかろうか。
このへん参照で
ttp://www.ingrid.org/java/i18n/encoding/ja-conv.html
406nobodyさん:2005/10/21(金) 11:06:55 ID:???
>>399
じゃぁ主流なんで問題ないってことで。
本当にexceptionごときの追加でソース修正したくないです。
407nobodyさん:2005/10/21(金) 11:57:12 ID:???
tokenでアクセス制御してるけど
そのマッピングでinput指定してるとき
tokenの処理が走る前に
validateがかかりinputのfowardされる。
この仕組みは明らかに設計ミス!
408nobodyさん:2005/10/21(金) 12:24:53 ID:???
>>407
半分以上の人には何の話かわからない、わけのわからない書き込みやめれ。
"token"も"validate"も"input"も"forward"も、どうにでも取れる一般用語でもあるし。
409nobodyさん:2005/10/21(金) 12:25:40 ID:???
その場合同じトークンが再利用されるだけじゃないの?
410nobodyさん:2005/10/21(金) 12:38:45 ID:???
>>407
ほら見たことか。>>409のようなトンチンカンなレスがつくだろ?
411nobodyさん:2005/10/21(金) 12:44:06 ID:???
まったくだ。
412nobodyさん:2005/10/21(金) 16:59:18 ID:???
>>408
Strutsだろ、とは思うけど、それならそれでスレ違いかな
413nobodyさん:2005/10/22(土) 00:52:38 ID:???
>>383 どうもありがとうお座います。JavaOne のばしょうはどこですか?
じゅうしょはどこですか?それで方と知り合いでしょうか?トルコ人でも英語後ぢじょうぶ
日本語もちょっとだけぢじょうぶ。ここで書いてあるかんじはむずかしときどきわからない。
でもJSPはほんとうにすきです。今 http://sourceforge.net/project/showfiles.php?group_id=61326 iBATIS Database べんきょうしています。
でもひとりでほんとうにむじかしとおまいます。
414nobodyさん:2005/10/22(土) 07:59:56 ID:???
>JavaOne のばしょうはどこですか?
検索すらできない奴は来てもムダだ。
415nobodyさん:2005/10/24(月) 10:50:52 ID:6FV9pavP
EJB使わないのにJBOSS使う意味ってなにかありますか?
DIコンテナを使ったWebアプリケーションを作る予定なのですが。
416nobodyさん:2005/10/24(月) 14:37:15 ID:???
たら、Springでいいんじゃないの?
417415:2005/10/24(月) 19:43:09 ID:???
>>416
springとtomcatですか?
spring + jboss という組み合わせはナンセンスですか?
418nobodyさん:2005/10/25(火) 11:47:36 ID:???
入力チェックでJIS第1(0x8890〜0x97FF、0x9840〜0x9872)チェックだどうすればよいでしょうか。
string.matches("[0x8890〜0x97FF")してもだめでした。
正規表現は文字コード指定できないのでしょうか。
419nobodyさん:2005/10/25(火) 16:01:06 ID:???
サーブレットの中で、サーバーの404 not found のエラーを出させることはできるでしょうか。
あるユーザーには、ページなしを見せたいのですが。
420nobodyさん:2005/10/25(火) 16:15:10 ID:???
>>419
HTTP のステータスコード404を返せばいいじゃない。
421nobodyさん:2005/10/25(火) 17:56:29 ID:???
>>420
responceのsendError()でできました。
ありがとうございます。
ちなみに、requestが他のサーブレットからforwardされてきたかの情報は取得できるでしょうか。
直接URLのリクエストでアクセスが来たのか
他のサーブレットからforwardされたか判定したいです。
422nobodyさん:2005/10/25(火) 22:12:38 ID:???
>>421
URLで判定すれば?
423nobodyさん:2005/10/26(水) 22:10:19 ID:???
>>422
WEB-INF以下はforwardしかないので大丈夫ですが、
WEB-INFと同階層のjspは、urlでは判断できないです。
勘違いしてますか?
424nobodyさん:2005/10/26(水) 22:14:02 ID:???
>>421
サーブレットのメソッドをあさってみたが、おそらくそんな情報は持っていないだろう・・
425nobodyさん:2005/10/26(水) 22:26:17 ID:???
strutsで、アクション別のsaveTokenは生成できないのでしょうか。
426nobodyさん:2005/10/26(水) 22:37:32 ID:???
>>425
自作するしかない。
427nobodyさん:2005/10/26(水) 22:45:43 ID:???
>>426
ですよね。
もしくは、sessionにページ識別IDでも入れておいて、savetokenと一緒に評価するとか
428nobodyさん:2005/10/26(水) 22:49:14 ID:???
>>407
validateオーバーライドして、super.validate()する前に、
tokenチェックをすればようにでは。
ただactionないではないので、tokenは取得できない?
429nobodyさん:2005/10/26(水) 23:14:46 ID:???
クラスパスってロジックの中で追加することってできないですか
430nobodyさん:2005/10/26(水) 23:23:09 ID:???
>>429
URLClassLoader
431nobodyさん:2005/10/27(木) 23:38:07 ID:???
strutsでactionFormの中でforwardしたいのですが、
responceがないとforwardできなく、ActionFormにはresponceが見当たりません。
何か方法はあるでしょうか。
432nobodyさん:2005/10/27(木) 23:54:30 ID:???
>>431
ActionFormというコンポーネントの役割を考えたら、なぜそんなことをしたいのかが理解できない。

で、"responce"ってなんだ?

reset()メソッドやvalidate()メソッドで無理矢理RequestDispatcherのforward()を呼ぶ記述が
できないこともない。しかしそれをやると、Strutsというフレームワークの構造上と
Servlet APIの仕様上の理由で、実行時例外が出るのはほぼ間違いない。
433nobodyさん:2005/10/28(金) 09:47:32 ID:???
>>432
まじっすか。407にも書いてありましたが、
どうしてもvalidateの前に、画面遷移が正しいかのチェックをしたくなりまして。
つまり、遷移がおかしいときに、inputへforwardさせたくありません。
ちょっと考えてまたのですが、行き詰まってしまい、
サーブレットのfilterでチェックをかけて、redirectしようかと考えています。
434nobodyさん:2005/10/28(金) 14:23:59 ID:???
適切じゃない設計は適切じゃない実装になる、どんどん複雑になる、といういい例だな。
435nobodyさん:2005/10/28(金) 19:21:59 ID:???
>>417
遅レスだが、

>spring + jboss という組み合わせはナンセンスですか?

オレは勧めない。動くだろうけど旨みなし。面倒くさいだけと思う。
つーか、こいつら喧嘩の真っ最中だね。

http://houseofhaug.net/blog/archives/2005/08/12/hibernate-hates-spring/

jbossだったらejb3じゃないの?
@InjectionでDIやる手もあるし。

SpringならJTA持ってるサーバーと組み合わせるのが吉じゃないかな。
Tomcat+JOTM+Springでもいいけど(ただしJOTMがバギーという噂あるね)

Tomcat+Seasar2でもいいよ。
436nobodyさん:2005/11/03(木) 01:02:10 ID:???
webアプリでクラス更新して再ロードされるのは、newしてるラスだけでした。
Actionは初回しかnewされないので、1度ロードされるとクラスを更新しても読込まれないようです。
437nobodyさん:2005/11/03(木) 14:21:35 ID:???
>>436
reloadble="true"で再ロードならその通り。
TomcatManagerの再ロードやAntのreloadタスクで再ロードするなら、すべてのクラスがロードし直される。
438nobodyさん:2005/11/04(金) 20:38:35 ID:???
>>437
antのreloadタスクってすべてのEJBコンテナで有効なのでしょうか。
439nobodyさん:2005/11/04(金) 21:50:26 ID:???
>>438
少しでも調べたのならそんな質問はできないはずなのだがね。
コンテナがAntタスクを提供しているかいないかによる。
「すべての」なんて現実にあり得るわけがない。
440nobodyさん:2005/11/05(土) 02:07:00 ID:???
現実で答えれば?
reloadタスクがtomcatのタスクだってこと。
441nobodyさん:2005/11/06(日) 15:50:13 ID:???
getParameterで取得した値が空の場合、
str.equals("")で比較するとtrueになるのですが、
str.equalsIgnoreCase("")とするとfalseになってしまうのは何故でしょうか。
442441:2005/11/06(日) 16:17:01 ID:???
なりませんでした。
どうぞののしってください。
443nobodyさん:2005/11/07(月) 11:31:55 ID:???
>>442
イ`
444nobodyさん:2005/11/11(金) 18:50:26 ID:???
すみません。tomcatなんですが
シングルスレッドモデルで動作させるためには
どこを設定すればいいでしょうか?
445nobodyさん:2005/11/11(金) 19:01:39 ID:???
事故解決しました。
446nobodyさん:2005/11/14(月) 13:58:23 ID:???
おすすめの書籍って何?
ASPとPHPは開発経験あり。ApacheとTomcatの環境作りは得意分野。
この程度のスキルなんだけど。
447nobodyさん:2005/11/14(月) 18:21:03 ID:???
>>446
いったい何を学習したいのか判らんぞ。
ま、スレタイ的にはこのあたりかな。

http://www.amazon.co.jp/exec/obidos/ASIN/4798105538/
http://www.amazon.co.jp/exec/obidos/ASIN/4822282287/

難しいっていうならJava本体のお勉強を進めることだね。
「EffectiveJava」あたりが定番本かな。Tiger出現で古くなって
しまった内容を含むけど。
448nobodyさん:2005/11/14(月) 18:21:26 ID:???
449nobodyさん:2005/11/14(月) 18:23:03 ID:???
450nobodyさん:2005/11/15(火) 20:44:59 ID:???
セッション追加リスナー内でセッション追加したら無限ループですよね・・
451nobodyさん:2005/11/24(木) 01:48:49 ID:???
JSP使うとき、皆さんスクリプトレスにどれだけ気い使ってます?
452nobodyさん:2005/11/24(木) 03:17:41 ID:???
どんだけJSPの中でJavaコード書かないかってこと?
気い使うも何も、書くことなんてありえんでしょ。
453nobodyさん:2005/11/29(火) 16:06:28 ID:Jc3QczRr
Tomcatのサーブレットの中で、Rhinoを使おうとしています。

URLClassLoader loader = new URLClassLoader(URL[0]);
Class c = loader.findClass("org.mozilla.javascript.Context");

というコードで、ClassNotFoundException が発生します。
しかしデバッガで追っていると、前の部分にある
Context cx = Context.enter();
というコードは実行できるているので、Context クラスが見つからないというのが腑に落ちないです。

環境は、J2SDK1.4 / Tomcat 4.1 / Rhino 1.5 を使用しています。

ちなみにstatic void mainメソッドを追加して、単なるコンソールアプリとしてJREで動かすと例外は発生しません。

ひょっとしてURLClassLoaderの使い方を間違っているのでしょうか?
454nobodyさん:2005/11/29(火) 16:39:47 ID:???
> Context cx = Context.enter();
そのContextクラスは、javax.naming.Context というオチじゃないだろうね?
455nobodyさん:2005/11/29(火) 18:18:14 ID:???
>>454
レスありがとうございます。

javax系はimportしてません。
import部分は↓な感じです。

----
import org.mozilla.javascript.*;
import org.mozilla.javascript.debug.Debugger;
import org.mozilla.javascript.debug.DebugFrame;
import org.mozilla.javascript.debug.DebuggableScript;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.LinkedList;
456nobodyさん:2005/11/29(火) 18:27:05 ID:???
>>455
じゃあ、コンパイル時のクラスパスには含まれていて
実行時には無いってことじゃないの?
457nobodyさん:2005/11/29(火) 19:00:36 ID:???
そもそも>>453見ても何が言いたいのかよくわからん。

URL[0]の文字列は何?
ClassNotFoundExceptionが何処で発生しているのか?
つーか、外部jarファイルはWEB-INF/libに配置するはずなのに、わざわざURLClassLoader使っている意図は?
「前の部分にある Context cx = Context.enter(); 」って何?
458nobodyさん:2005/12/02(金) 16:17:41 ID:???
webコンテナ再起動時にセッション情報が破棄されますが、
リスナーでサーバ再起動時に、セッション情報をすべてシリアライズしてファイルに保存し
起動時にリスナーでセッションに保存したものを登録すれば
セッション情報は復活するでしょうか。
459nobodyさん:2005/12/02(金) 17:32:00 ID:???
>webコンテナ再起動時にセッション情報が破棄されますが、
この前提が正しくない。
やってみてから質問しろや
460nobodyさん:2005/12/02(金) 19:21:56 ID:???
やってる。weblogicの再デプロイですべてなくなる。
破棄されないことはないというwebコンテナの使用でもあるの?
461nobodyさん:2005/12/02(金) 21:21:12 ID:???
破棄されないというか、トムキャットだと自動でシリアライズ/デシリアライズしてくれるが
喪前は何を使ってる?
462nobodyさん:2005/12/02(金) 21:44:16 ID:???
なぬ。tomcatは自動でやってくれるのか。
下手な製品使うより、開発が盛んなフリーをつかうのががいいねぃ・・
463nobodyさん:2005/12/02(金) 21:46:23 ID:???
ちなみにtomcatの再デプロイ中にアクセスするとサーバーに接続できませんになります?
コネクションをプールして、再デプロイ後に処理を再開してくれるとか・・
464nobodyさん:2005/12/02(金) 21:50:02 ID:???
再デプロイはまた別だろ・・・
465nobodyさん:2005/12/03(土) 11:55:22 ID:???
WebLogicだとクラスタ組んでセッションをレプリケートさせるのが一般的。
セッション情報永続化機構もあるっぽいけど。
466nobodyさん:2005/12/11(日) 17:17:05 ID:???
イントラネット内で、servletやjspを使って動的にサーバで作成されたwebページを、クライアント側からブラウザの「名前を付けて保存」機能などを無効にして、
クライアントのPCに保存させないようにする方法はあるのでしょうか?
467nobodyさん:2005/12/11(日) 17:30:11 ID:???
>>466
IEなら可能かもね。
JavaScriptのスレで聞くほうがいいと思われ。
468nobodyさん:2005/12/11(日) 18:36:37 ID:???
>>467
ということは、JavaScriptを有効にしていないブラウザでは防ぎようがない、てことなんでしょうか
とりあえずはJavaScriptが無効になっているブラウザには表示させないようにして、スクリプトそのものはJavaScriptスレで聞いてみます
ありがとうございます
469nobodyさん:2005/12/11(日) 18:44:39 ID:???
>>468
ブラウザで表示されている→HTMLをダウンロードしているということだから。
470nobodyさん:2005/12/11(日) 18:59:25 ID:???
表示できるhtmlなら100%ソースを見ることができる。
471nobodyさん:2005/12/11(日) 19:51:04 ID:???
>>469-470
そうなんですよね・・・
ソースを暗号化してくれるソフトなんてのもあるようですが、動的に作成されたページまでは暗号化してくれないようで。
動的に暗号化してくれるようなソフトがあればいいんですが。


ただいまJavaScriptとservlet+FLUSHを使ってどうにかできないか模索中です
472nobodyさん:2005/12/11(日) 20:34:45 ID:???
無駄な模索。
ソースを保存させたくないと考えさせるような駄目な仕様だとなぜ気づかん。
473nobodyさん:2005/12/11(日) 21:42:03 ID:???
>>472
表示させたくないのはソースというか、表示されたページの数字なんです
社内のイントラネット内で帳票をweb化して見られるようにと考えているんですが、
印刷も保存もさせないように、社外にデータを持っていくのが困難なように作る必要がありまして、
ブラウザで保存をやられると簡単にデータとして大量に安易に社外に持ち出すことが簡単になるのでそこを防げたらと思いまして。
474nobodyさん:2005/12/11(日) 21:47:33 ID:???
>>473
そもそもそういう意図があるものを、暗号化や署名の仕組みがないHTMLでやるのが間違い。
しっかりしたソリューションを使うのを勧める。
Javaであれば、Java Web Start使って通常のアプリにするとか。
475nobodyさん:2005/12/11(日) 21:50:24 ID:???
仮にソースの表示を禁じられるとしても、
PCで画面表示している限り、イメージキャプチャなどの手段で
いくらでもデータを持ち出す方法などありそうだが。
たとえばWindowsならPrintScreenキーで現在のデスクトップ表示を丸ごと画像化できる。
476nobodyさん:2005/12/11(日) 22:07:00 ID:???
プライバシーマーク関連か。
だとしたら、今考えているシステムができたところで却下だぞ。
477nobodyさん:2005/12/11(日) 22:10:35 ID:???
>>474
Java Web Startですか・・・
amazonでも教本は無いんですね・・・

>>475
完全ではないと思いますが、ページを表示している限りjavascriptでキャッシュを0.1秒ごとに消去するスクリプトを使いました
478nobodyさん:2005/12/11(日) 22:12:30 ID:???
>>477
そんなん、普通にJavaのアプリ作ってJNLPファイル作るだけだ。
「java JNLP」でぐぐれば資料はみつかる
479nobodyさん:2005/12/11(日) 22:13:47 ID:???
>>477
完全ではないどころか、まったく意味がないと思われ。
480nobodyさん:2005/12/11(日) 22:33:11 ID:???
>>476
いやそんな大それたものでも無いんですが・・・
情報は各店舗の売り上げ状況とか倉庫の在庫状況とかです。
今の状態ではプリントアウトして担当者に渡しっきりなので、そこから情報が漏れるかもしれないから何とか出来ないか、とのことでして。
まあエクセルとかにその情報をタイピングして入力されたら終わりなんですけどね・・・
というかそこまで重要な情報かと・・・


>>478
アプレットは作ろうと思ったことも無かったのでページみてもよくわかりませんでしたが、挑戦はしてみます

>>479
意味ないですかorz
ソフトを使われたら防げないということなんでしょうか
481nobodyさん:2005/12/11(日) 22:39:52 ID:???
アプレットとは違うって。
482nobodyさん:2005/12/11(日) 22:57:06 ID:???
>>481
お恥ずかしいです
JNLPってxmlをJavaで解釈して表示させるんですね
xmlもやったことありませんが勉強だと思ってチャレンジしてみます
483nobodyさん:2005/12/11(日) 22:58:47 ID:???
どこからそんな解釈が・・・
484nobodyさん:2005/12/11(日) 23:13:39 ID:???
>>483
どうも馬鹿を晒しているだけのようなのでそろそろ消えますが、最後に一つ質問をお願いします
JNLPのアプリから、servletを連携させてデータベース内の情報を読み取りまた元のJNLPのアプリに表示させる、ということは可能なのでしょうか
またそれは速度、セキュリティ面の問題など、社内web照会システムとして運用に耐えうる現実的なシステムとなり得るのでしょうか。お願いします。
485nobodyさん:2005/12/11(日) 23:20:03 ID:???
>ソフトを使われたら防げないということなんでしょうか
お前アホだろ?
486nobodyさん:2005/12/11(日) 23:31:37 ID:???
>>484
JNLPはファイル形式。
データをHTTPでDLして表示させるアプリケーションを組めばいい。
そのアプリのjarとクラス名書いたJNLPファイル用意すれば、Java Web Startで起動できる。
社内システムなら、速度的には問題ないだろ。
セキュリティも、>>484が浅い考えでHTMLに工夫するよりはマシ。
データのやり取りはサーブレット使う場合はXMLでということになるんだろうが、それならWebサービスを使う方が楽かもしれない。
487nobodyさん:2005/12/12(月) 01:41:18 ID:???
>>485
正直なんで駄目なのかわかってません

>>486
ありがとうございます
それでやってみます
ただ社内には未だPen2_400Mhzとか使ってる部署もあるのでそこでどう動くか不安ではありますが
488nobodyさん:2005/12/13(火) 22:28:39 ID:???
今までWebLogicばかり使ってたんだが、WebSphereのデプロイがめどい。
ANTなりなんなりで自動化できんものか。
漏れがやり方知らんだけかもしれんが。
489nobodyさん:2005/12/14(水) 00:34:25 ID:MpsaGRgL
他のJSPにパラメータとしてURLを渡したいのですがうまくいきません。

------------------------------------------------------------------
TEST1.jsp

String url = "http○○?name=" + name + "&birthday=" + birthday;
sendRedirect("TEST2.jsp?url=" + url);

------------------------------------------------------------------

------------------------------------------------------------------
TEST2.jsp

String returnURL = request.getParameter("url");
sendRedirect(returnURL);
------------------------------------------------------------------

ここで期待するreturnURLの値は
"http○○?name=太郎&birthday=12月14日"
なのですが
"http○○?name=太郎"
となってしまいます。

&の部分を&などにしてみましたがだめでした。
一体どうすればええのでしょう?
490nobodyさん:2005/12/14(水) 01:18:46 ID:???
で、そこに書いてないけど、どうやって特殊文字のエスケープしてるの?
491nobodyさん:2005/12/14(水) 01:29:58 ID:???
もちろんそんな事はしないし、URLエンコードもしないよ?
なにか問題でも?
492nobodyさん:2005/12/14(水) 01:37:16 ID:???
ヒント:java.net.URLEncoder.encode(url, charset)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/net/URLEncoder.html#encode(java.lang.String,%20java.lang.String)
493:2005/12/16(金) 11:14:36 ID:fac/AGgi
jspからExeを起動する方法はありますか?
494& ◆zBxSVSF1yI :2005/12/16(金) 11:16:20 ID:fac/AGgi
JSPからリンク文字列をクリックしたときに自作クラスを呼べるようにしたいのですが、
何か方法はないのでしょうか?

---------JAVAソース---------

package test.ExeOpen;

import java.io.IOException;

public class ExeOpenClass{
public static String OpenPro(){
try{
Runtime myRuntime = Runtime.getRuntime();
myRuntime.exec ("c:/test.exe");
}catch( IOException e){
e.printStackTrace();
}
}
}
495nobodyさん:2005/12/16(金) 13:37:13 ID:???
>>493
あります。
というか、JSPだろうがサーブレットだろうが、書き方は変わりません。

>>494
そのクラスを呼び出すサーブレットなりJSPなりにリンクを貼ってください。
496& ◆OSEgLzbrzg :2005/12/16(金) 13:52:57 ID:fac/AGgi
>>494
リンクの方法がわかりせん。。。
無知ですいません・・・
497nobodyさん:2005/12/16(金) 14:58:38 ID:???
>>496
<a>タグもしらねぇの?
498494:2005/12/16(金) 15:55:43 ID:fac/AGgi
>>497

<a href = " ??? " >リンク</a>
???への指定文字がわかりません

例えば
package test.ExeOpen;
なら、
<a href = "test.ExeOpen" >リンク</a> ですか?
<a href = "test.ExeOpen.ExeOpenClass" >リンク</a> ですか?

499nobodyさん:2005/12/17(土) 04:07:49 ID:???
>>498
「そのクラスを呼び出すサーブレットなりJSPなりに」リンクを貼ってください
500498:2005/12/17(土) 08:26:16 ID:US7vhErb
クラスを呼ぶ→ウィンドウを閉じる
の処理をするためだけのJSPを作って
リンクすればよいですか?

その場合、ターゲット指定を行っても
一瞬ウィンドウが開くので見た目的にダメということでした。。。

他にはないようですか?・・・
501nobodyさん:2005/12/17(土) 12:16:12 ID:???
マッピングしてそのURLにリンクさせればいいんじゃないの?
502498:2005/12/17(土) 14:16:28 ID:US7vhErb
マッピング?
503nobodyさん:2005/12/18(日) 00:31:27 ID:???
>>500
あとはJavaScriptとかHTMLの話。
504nobodyさん:2005/12/22(木) 03:10:39 ID:???
2つのリストボックスを連携させて、片方のリストボックスを選択すると
もう一方のリストボックスの内容が動的に変わる、というものを作りたいのですが、
jspとjavascriptの連携がよく理解できず困ってます。

例えば listbox1に 巨人、阪神、中日 というものが入ってて巨人を選択すると
listbox2の内容が 高橋、清原、松井、長島、王 という感じに変化して、選択できるようになるというものです。

このとき、listbox2に入るデータは、listbox1が選択されるたびにDBから引っ張ってきます。
javascriptでonchengeを使って飛ばした関数内でJSPを呼び出してDBにアクセスするというのは可能でしょうか、、
505nobodyさん:2005/12/22(木) 03:59:15 ID:???
可能です。
506nobodyさん:2005/12/23(金) 00:05:20 ID:???
なぜjspで処理したいのか。
普通にやるなら、onchangeでsubmitしてやってservletでDbアクセス。
同じ画面に遷移させてやって、変数をrequestからget
変数をリストボックス2にセット。

でいいんちゃうか、と。

ちなみにjavascriptの関数からjspの処理呼び出しはムリだろ
507nobodyさん:2005/12/28(水) 18:48:06 ID:???
javaAPIの質問なのですが、Readerをclose()しないと、
ファイルリソースは永久に残ってしまうのでしょうか。
508nobodyさん:2005/12/28(水) 19:18:59 ID:???
GCされれば解放されます。
509nobodyさん:2006/01/06(金) 13:28:20 ID:???
>>508
ありがとうございます。
これは、finalizeメソッドに実装されているということなのでしょうか?
510nobodyさん:2006/01/10(火) 10:20:10 ID:???
staticメソッドをオブジェクトから呼ぶと、予期しないエラーが発生するかもと
参考書に書いてあるのですが、実際にどのような不都合があるのでしょうか。
現在velocityテンプレートを使用していて、commonsのStringUtilsなどのメソッドを使用したいと考えています。
そうなると、Utilsクラスをnewしないといけないので・・・
実際はnewしてオブジェクトから呼んでいますが、
すぐに止めたほうがいいのでしょうか。
511nobodyさん:2006/01/10(火) 10:36:15 ID:???
>>510
Integer.parseIntなんか、オブジェクトから呼び出せなかったら困るが。
なんて参考書?
512nobodyさん:2006/01/10(火) 10:55:26 ID:???
>>511
超図解javaルールブックです。
513nobodyさん:2006/01/10(火) 11:01:26 ID:???
>>511
下記のコードを書くと、eclipceで警告も出てしまいます。
Integer i = new Integer(1);
i.parseInt("2");
514nobodyさん:2006/01/10(火) 13:42:22 ID:???
>>513
Integer.parseInt("2");
515nobodyさん:2006/01/10(火) 15:06:31 ID:???
>>512
まともな本で勉強しなおせ。
516nobodyさん:2006/01/10(火) 15:40:32 ID:???
>>515
いろいろありがとうございます。
まとめると、ststicメソドは特にインスタンスから呼んでも正しく動作する
で大丈夫でしょうか。
517nobodyさん:2006/01/10(火) 18:20:20 ID:???
ここはひどいマジでインターネットですな・・・突っ込む気にもならん。
518nobodyさん:2006/01/11(水) 01:17:48 ID:???
>>516
おけ。
staticメソッドは「クラス名.メソッド名」で呼び出せ。
519nobodyさん:2006/01/12(木) 11:45:48 ID:???
スレッド番号を取得することは可能でしょうか。
520nobodyさん:2006/01/12(木) 12:08:42 ID:???
519です。
説明不足でした。
WEBコンテナがプール・または実行しているリクエストスレッドの識別番号のことです。
そんなのあるかどうか分からないのですが。
リクエスト毎にランダム情報(何かの識別情報として使いたいです)を取得したいのですが、
作りすぎたくはないので、
リクエストが発生するたびに、実行されているスレッドの識別情報を使用したいと思っています。
521nobodyさん:2006/01/12(木) 13:26:19 ID:???
スレッドが使いまわされる可能性があることもちゃんと考えてるんだよね?

おとなしくapplicationスコープに値を持たせて連番振ればいいと思うんだが。
522nobodyさん:2006/01/12(木) 14:07:08 ID:???
>>521
逆にスレッドが使いまわされるのが狙いです。
1リクエスト中のみに必要なのもで、
一つ言い忘れていたのですが、そのIDでファイルを作成する予定です。
例外などでファイルの削除消し忘れがあるといやなので、
スレッド識別名をそのまま使用できれば
単純にファイルの削除はしなくても、MAXスレッド数以上は作成されないので便利かなと思いました。
523nobodyさん:2006/01/12(木) 14:20:54 ID:???
そういうファイルが必要な理由がまずわからんが・・・
524nobodyさん:2006/01/12(木) 14:46:25 ID:???
リスナーのイベントにあるセッション自体の破棄で、
サーブレットでセッションの破棄はできるのでしょうか。
セッションオブジェクトには破棄メソッドのようなものはなかったです。
525nobodyさん:2006/01/12(木) 15:04:50 ID:???
リスナーとかイベントの意味わかってる?
526nobodyさん:2006/01/12(木) 15:09:12 ID:???
>>524
>セッションオブジェクトには破棄メソッドのようなものはなかったです。
よく探せ。
527nobodyさん:2006/01/12(木) 15:37:57 ID:???
>>526
invalidated・・ありました。
ありがとうございます。
removeだと思っていました。
528nobodyさん:2006/01/12(木) 19:18:09 ID:???
StringWriterのStream版ってあるのでしょうか?
529nobodyさん:2006/01/12(木) 23:04:54 ID:???
使い道があるとは思えんが
530nobodyさん:2006/01/13(金) 12:06:53 ID:???
ByteArrayInputStream()を見つけました。
同じ意味合いそうです。
531nobodyさん:2006/01/13(金) 12:22:12 ID:???
WriterとInputStreamが同じ意味合いって・・・
532nobodyさん:2006/01/13(金) 18:04:21 ID:???
>>520
自己解決です。
Thread.currentThread().getName()
533nobodyさん:2006/01/16(月) 13:17:21 ID:???
IPアドレスで指定したサーバにアクセスして通信する、みたいなことはjspでできますか?
ブラウザ上で動く通信プログラムを書きたいんです。
jspで普通のソケット通信ができればいいんですが。
534nobodyさん:2006/01/16(月) 13:29:26 ID:???
>>533
ブラウザ上で動かすのに、なぜサーバサイドで動くJSPを使おうと思うんだ?
535nobodyさん:2006/01/16(月) 13:51:44 ID:???
>>533
JSPはJavaでできることならなんでもできるが、ブラウザ上で動くプログラムをJavaで作るならアプレットだ。
536nobodyさん:2006/01/16(月) 13:54:42 ID:???
サーバサイドなら、httpさえ使えればどんな通信でもできるなって思いまして。
537nobodyさん:2006/01/16(月) 13:58:59 ID:???
クライアントサイドこそ、どんな通信もできる気がするが。
538533:2006/01/16(月) 14:08:06 ID:???
>>535
Javaアプレットでは、自分が呼び出されたサーバ以外との通信はできなかったと記憶しています。

>>537
「外部へは80番への接続のみ許可する」とかいう環境がありますし、
自分のPCでない場合ダウンロードやインストールをせずに使用できるというのは強みだと思います。
539nobodyさん:2006/01/16(月) 15:34:32 ID:???
JSPはブラウザ上で動作しないってわかってる?
540533:2006/01/16(月) 15:57:07 ID:???
>>539
そりゃ無論。

説明不足でしたね。
私はjspの知識はほとんどありません。
javaの知識だけでjsp+tomcat+postgresのシステムいじってた時に、
どんなことまでできるのかなって思ったんですよ。
例えば、「ブラウザからサーバのjspで他のサーバにtelnetで接続するんだけど、
処理はサーバですべて行ってブラウザでは結果だけ表示」みたいなのをイメージしてました。

けどjspだと、サーバの動きに合わせて表示内容を随時更新するというのはできないんですかね?
541nobodyさん:2006/01/16(月) 21:12:26 ID:???
http://oxygen.sakura.ne.jp/uploader/tbbs.cgi
↑こちらにソースをアップしました(画面下の「test77」です。上から14行目の所から、

String[] list={"aaa","bbb","ccc"};
for(int i=0;i<3;i++){
String url="http://www.hoge="+list[i];

とあります。http://www.hoge=aaahttp://www.hoge=bbb
http://www.hoge=cccの三つのページからスクレーピングしたいのですが
一番最初のhttp://www.hoge=aaaしかスクレーピングできません。どなたか
ご教示願えませんか。
542nobodyさん:2006/01/16(月) 23:13:49 ID:???
>>540
JavaScript使えよ
543nobodyさん:2006/01/20(金) 02:22:10 ID:Km1ruKpb
【実現したいこと】
Web上のリンクをクリックすると、
ExceLファイルが開いて(IE内でなくてもよい)
修正して、Web上に(Excelのツールバーの上書き保存ボタン等で)保存するには
どうすればいいのでしょうか?

環境はApache+TomcatでWebdavは設定しました。
(VBScriptではWeb上のExcelファイルを、
Fileオブジェクトを生成し、Excelファイルを開き
上書き保存ボタンでWebに上書きできることを確認しました。)

しかし、現状JSPで作成したHPがあり、ファイルへのリンク機能のみだったのですが、
今回、ファイルの更新もできるようにしたいと思いました。
ご教授のほどよろしくお願いいたします。
544543:2006/01/20(金) 02:23:40 ID:???
>>543の環境は、OS:XPでoffice2000です。
545nobodyさん:2006/01/20(金) 13:23:28 ID:yXtCuLJZ
PHPとJavaScriptの組み合わせしかないと思い込んでるのかもしれないけど、以下の問題についてご教授願います。

「Submit前」のFormの値をPHPで取り出す方法を思案中。
pseudoでもちろん動かないけど、やりたいことはこんな感じ

+++++++++++
...
<form name="aaa"><input type"text" name="bbb" value="" onChange="register_value()"></form>
...
<script>
function register_value() {
<? $ccc ?> = document.aaa.bbb.value;
}
</script>
+++++++++++

他にメインのFORMがあっていろいろやってるので、ここではどうしてもSubmit前に処理する必要がある(と考えてください..)。

結局的にやりたいことは、FORM上の値を、SUBMITする前に(つまり $_POST['bbb'] ではなく)その場で(この場合はonChangeの度に)PHPの値$cccに渡したい。
JavaScriptの「document.aaa.bbb.value」ではなく、PHP独自で現document上のFormの値を取り出すことは可能なのでしょうか?
546545:2006/01/20(金) 13:24:34 ID:yXtCuLJZ
誤爆...。
失敬
547nobodyさん:2006/01/23(月) 16:36:58 ID:???
jspでタグリブをコメント(<!-- タグリブ -->)にしても実行されてしまいます。
タグリブを動作させないためには、削除するしかないのでしょうか。
548nobodyさん:2006/01/23(月) 17:03:50 ID:???
ルーク、<%-- コレを使え --%>
549nobodyさん:2006/01/23(月) 21:17:10 ID:???
>>547
なぜ<!-- -->でカスタムタグが動作しなくなると思うのか不思議で仕方ない。
ブラウザが見た目に表示しないというだけじゃないか。
550nobodyさん:2006/01/26(木) 15:06:23 ID:???
sendRedirectした場合は、このメソッドからリターンされるのでしょうか
551nobodyさん:2006/01/26(木) 20:58:10 ID:???
Javaの文法わかってますか?
552nobodyさん:2006/01/27(金) 10:29:26 ID:???
いえ、メソッド内でスレッドを終了しているのかなと思いまして。
exit()てきなことですかね。
553nobodyさん:2006/01/27(金) 10:51:35 ID:???
その下にSystem.outにでも出力してみればすぐ分かることだろうが。
アホ
554nobodyさん:2006/01/27(金) 16:46:30 ID:???
>>552
もしそうだったらレスポンス返らないだろ。
555nobodyさん:2006/01/27(金) 20:57:35 ID:???
>>554
その認識もちょっと変かも
556nobodyさん:2006/01/27(金) 21:28:55 ID:???
>>555
なぜ?
exit()したらServletコンテナが終了するよ。
557nobodyさん:2006/01/28(土) 00:19:27 ID:???
>>556
多くのサーブレットコンテナの実装はsendRedirect()の内部で
レスポンスを返すようにしていると思う。
そうするとsendRedirectの中でexitしててもレスポンス返せる。
550の勘違いの上で議論してもあんまり意味ないね、
細かい指摘でスマン
558nobodyさん:2006/01/28(土) 16:09:19 ID:???
>>557
どうみてもTomcatのソースはsendRedirect()の内部でレスポンスを返すようなコードになってません。
本当にありがとうございました。
559nobodyさん:2006/01/28(土) 16:15:57 ID:???
>>557
細かい指摘であることは謝る必要ないが、間違った指摘であることは謝ったほうがいいと思われ。
557の勘違いの上で議論してもあんまり意味ないね。
560557:2006/01/28(土) 19:54:24 ID:???
気に障ったみたいでごめんなさい。
Tomcatを意図してたわけではないんだけど、
Tomcatのソースを確認してみたら558さんの言うとおり
sendRedirect()を抜けてからレスポンスを返し(=ストリームをフラッシュ)てますね。
561nobodyさん:2006/01/29(日) 17:18:37 ID:gKzYFANK
jspをやろうと思ってソースコードを読んでみたのですが
どこにも public static void main() が無いです。
不良品でしょうか?
562nobodyさん:2006/01/29(日) 17:20:24 ID:???
どういう釣りだ、それは
563nobodyさん:2006/02/01(水) 00:03:55 ID:???
HellowWorld.javaを継承しています。
564nobodyさん:2006/02/02(木) 13:37:24 ID:???
HashMap、Propertyクラスで、keyをiteratoerで取得できますが、
putした順番または、設定ファイルに書いた順番で取り出すことは可能でしょうか
565nobodyさん:2006/02/02(木) 20:58:26 ID:???
>564
LinkedHashMap 使え
566nobodyさん:2006/02/03(金) 10:10:20 ID:???
>>565
ありがとうございます。
apiをみてみたのですが、PropertiesクラスにはLinkedはなかったのですが、
Propertiesにはないのでしょうか。
BufferedReaderで読込んで、LinkedHashMapに登録しかないでしょうか。
その時、unicodeのデコードの仕方がわかりません。
567nobodyさん:2006/02/03(金) 18:00:26 ID:???
>>566
Properties って結局 String だけを出し入れすると決めて作られている HashMap だ。

イテレータの取り出す順番が入れた順番通りになる
……というのが保証された Properties は無いから
public class LinkedProperties extends Properties とでもして
put/putProperty と get/getProperty あたりをオーバーライドして自作しれ。
568nobodyさん:2006/02/06(月) 12:04:59 ID:???
Class(各クラス)の振るパスを取得することは可能でしょうか。
getResourceAsStreamで読込んでいるテキストに、
更新したデータを書き込めなんていわれたので、
こいつのOutputStreamのパスがほしいでやす
569nobodyさん:2006/02/06(月) 12:34:19 ID:???
>>568
ClassLoader#findResource
570nobodyさん:2006/02/06(月) 12:35:10 ID:???
しかし、サーブレットなんだからgetRealPath使ったほうがいいな。
571nobodyさん:2006/02/07(火) 13:06:19 ID:???
solarisやHPで、javaアプリが動いている最中に、ロード済みのファイルを上書き更新すると、
更新したクラスの処理に遷移した瞬間に、メモリエラー?のような、わけのわからないエラーになります。
同じ現象に悩まされた人はいるでしょうか?
572nobodyさん:2006/02/07(火) 13:29:32 ID:???
>>567
ありがとうございます。
Properties のソース見たら、データ読込んで自身のputを読んでいたので
内部にLinkedHashMap持たせ、そこにプットします。
HashTableを継承じゃなくて、委譲だったら、持っているHashTableを変更するだけでよかったのですが・・
573nobodyさん:2006/02/10(金) 11:21:41 ID:???
GET、POSTで同じパラメータを渡した場合、request.getParameter()でGETの値が取れました。
この動きは仕様なのでしょうか?
「postとgetの違いは、postがサーバに接続した後にデータを送信するのに対し、
getがサーバ接続とデータ送信を同時に行うとどこかのサイトで書いてありました。
先に接続されるので、クエリの値が優先されるということでしょうか
↓参考
ttp://www.itmedia.co.jp/enterprise/0303/31/epn22_3.html
ttp://dell2401.u-shizuoka-ken.ac.jp/~prostyle/network/PHP/web.html

574nobodyさん:2006/02/10(金) 14:03:57 ID:???
>>573
public java.lang.String getParameter(java.lang.String name)

要求パラメータの値を String として返します。
パラメータが存在しない場合は、null を返します。
要求パラメータは、要求とともに送信される追加情報です。
HTTP サーブレットの場合、クエリー文字列内または
POST された形式のデータ内にパラメータが格納されています。

パラメータに 1 つの値のみが含まれていることが確実な場合にのみ、
このメソッドを使用してください。パラメータに複数の値が含まれている
可能性がある場合は、getParameterValues(java.lang.String) を使用します。



……という事で仕様。
575nobodyさん:2006/02/10(金) 14:20:00 ID:???
>>574
ありがとうございます。
GETが先に呼ばれるので、サーブレットの仕様としては
パラメータ配列の1番目はGETのパラメータということですね。
576nobodyさん:2006/02/10(金) 14:24:49 ID:???
どーしてもリクエストをシリアライズしたかったので、↓なクラスを作りました。邪道ですか?
public class CompactRequest implements Serializable {
private String characterEncoding;
private Map attributeMap = new HashMap();
public CompactRequest(HttpServletRequest request) {
Enumeration enumeration = null;
String key = null;
this.characterEncoding = request.getCharacterEncoding();
enumeration = request.getAttributeNames();
while (enumeration.hasMoreElements()) {
key = (String)enumeration.nextElement();
this.attributeMap.put(key, request.getAttribute(key));
}
}
public String getCharacterEncoding() {
return this.characterEncoding;
}
public Object getAttribute(String name) {
return this.attributeMap.get(name);
}
}
577nobodyさん:2006/02/10(金) 16:11:14 ID:???
そんなコート書いた同僚が居たら
そいつの席の周りを画鋲だらけにしたくなるほど邪道。

まずクラス名がおかしくないか。
あとパラメータ等を全部そのまま渡したら層を分ける意味がないし。
578nobodyさん:2006/02/10(金) 18:29:10 ID:???
>>577
そーですか。
ちなみに私は、入力フォームビーンを
BLのデータマッピングビーンとしても使用してます。
超邪道でしょうか。
579nobodyさん:2006/02/11(土) 00:30:15 ID:???
どんなフレームワーク使ってるかもわからんのに、入力フォームビーンとかいわれても知ったことではない。
バカの誇示ってとこか。
580nobodyさん:2006/02/12(日) 17:57:56 ID:yYs6F7tU
はじめましてこんにちは。
Tomcatの質問になってしまうかもしれないのですが、
URLに.jspというような拡張子を表示したくないのですが、
エイリアスを設定することってできるんでしょうか?
たとえば、http://hoge.com/aaa.jsp というようなアドレスにアクセスするときに、
http://hoge.com/aaa でアクセスできるようにしたいのです。
OSはWindowsなので、UNIXのシンボリックリンクのようなことはできないんです。
それから、ファイル名を全部index.jspにして、それぞれディレクトリを作るということも
ディレクトリが多くなってしまのでしたくありません。
Tomcatの設定で何かありませんでしょうか。
581nobodyさん:2006/02/12(日) 18:10:15 ID:???
web.xmlでurlパターンをマッピングすれば?
582nobodyさん:2006/02/12(日) 18:17:29 ID:yYs6F7tU
>>581
もう少し詳しく教えてください
583nobodyさん:2006/02/12(日) 21:17:42 ID:???
584nobodyさん:2006/02/13(月) 14:12:00 ID:+1PT7SHK
すいません、教えてください。

今開発中のWebアプリをIFRAME内で動かしたいと言う案件が来まして
その調査中なんですが、
どうもIFRAME内でリンクすると、sessionが初期化されてしまうようなんです。
これってばどうしようもないことなんでしょうか?
通常ブラウザで動いているときはそんなこと無いんですが・・・。
585nobodyさん:2006/02/13(月) 17:12:24 ID:eySr8YL8
JDBCで、SQL文でinsert文を発行する場合Resultsetオブジェクトは必要になるのでしょうか?
もし必要ないなら、そのままstatementオブジェクトをクローズしてOracleを
切断してしまっても構いませんか?
586584:2006/02/13(月) 17:32:35 ID:???
すいません、事故解決したっぽいです。
587nobodyさん:2006/02/13(月) 21:48:23 ID:???
>>585
すれ違いだが、そもそもJDBCでinsert文を発行する方法わかってる?
588nobodyさん:2006/02/14(火) 12:54:17 ID:z6Mrtg3V
サーブレットの方からインサートでOracleの表に2バイト文字のデータを
送信すると、Oracleの表の方で格納した文字データがどうしても文字化けしてしまいます。
何が原因なのでしょうか?また、解決方法はありますでしょうか?
589nobodyさん:2006/02/14(火) 23:36:47 ID:???
原因特定を 『Oracle とサーブレットを使っている』
だけでやれというのか。文字コード設定がわかるエスパーきぼんぬ
590nobodyさん:2006/02/15(水) 14:51:15 ID:???
まあ文字コードを統一すればいいと思うよ
591nobodyさん:2006/02/15(水) 14:53:56 ID:???
まあ何事もそうだが、まずは問題の切り分けをしようぜ。
insertの直前にsystem.outに問題の文字列を出力してみることからはじめよう
592nobodyさん:2006/02/15(水) 19:09:39 ID:???
>>591
System.outなんかすすめるんじゃねえよ。
デバッガ使えよ。

>>588
どの時点で化けているのか?から切り分けよう
リクエストパラメータを受け取った時点で化けているのか?
Javaアプリ内では化けていないが、DBに入れると化けるのか?
593nobodyさん:2006/02/16(木) 17:44:53 ID:M8Q43SeU
こんにちは、tomcatの問題なんですが、jspを実行しよとしたら、以下のエラーが出てしまうんで、なんか解決方法ありませんか?
自分の理解では、「コンパイラが存在しない」らしいけど
type 例外レポート

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

org.apache.jasper.JasperException: No Java compiler available
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

原因

java.lang.IllegalStateException: No Java compiler available
org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:224)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:559)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
594nobodyさん:2006/02/16(木) 17:52:10 ID:???
>>593
「コンパイラが存在しない」
そのものズバリです。JSPの実行にはコンパイラが必要です。
JDKじゃなくてJREがインストールされているとか、
JDKがインストールされていても、環境変数JAVA_HOMEがJDKをちゃんと指してないとか。
もしEclipseだったら「インストール済みのJRE」を見て
C:\Program Files\〜・・・じゃなくてちゃんとJDKインストールディレクトリが
指定されているかどうかをチェック。
595nobody& ◆vGPd8m6uvw :2006/02/16(木) 17:55:50 ID:M8Q43SeU
一応自分の環境変数は以下になっていますが、いろんなサイドにも同じもの書いてありますが、、、
export JAVA_HOME=/opt/java
export CATALINA_HOME=/opt/tomcat5
export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:
export CLASSPATH=.:$CATALINA_HOME/common/lib/servlet-api.jar:
export CLASSPATH=.:$CATALINA_HOME/common/lib/jsp-api.jar:
export CLASSPATH=.:$CATALINA_HOME/common/lib/mysql-connector-java-3.1.11-bin.jar:
596nobody& ◆QWv3R1XL8M :2006/02/16(木) 17:58:23 ID:M8Q43SeU
javaもjdkインストールさているし、、、
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
597nobodyさん:2006/02/16(木) 17:58:46 ID:???
/opt/java にはJREじゃなくてJDKがインストールされているか?
598nobody& ◆QWv3R1XL8M :2006/02/16(木) 18:08:22 ID:M8Q43SeU
JDKです。普通のjavaもちゃんとコンパイルできるから
599nobodyさん:2006/02/16(木) 18:26:31 ID:???
Tomcatの起動時にはその環境変数は有効?
600nobody:2006/02/16(木) 18:54:44 ID:M8Q43SeU
ルートに環境変数をいれたので、有効と思いますけど、なんか確認方法がありませんか?
すみません、問題が複雑化してる。。。
601nobodyさん:2006/02/16(木) 20:44:58 ID:???
関連する重要な環境変数は
CATALINA_HOME/bin/shutdown.sh 又は
startup.sh の実行時に出力されるから
それで確認するといい。

それから、この問題には関係無いけど CLASSPATH の設定のやり方がおかしいぞ。
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib/servlet-api.jar:
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib/jsp-api.jar:
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib/mysql-connector-java-3.1.11-bin.jar:
こうしないと最後の設定しか有効にならんぞ
602nobodyさん:2006/02/17(金) 22:09:38 ID:???
すみません。JBoss4に非常に興味があるんですが、
日本語の解説でテルページとか書籍とかありますか?

書籍とかだと出版予定はいつ頃になるでしょうか。

#なきゃ自分でサイト起こせ?
603nobodyさん:2006/02/18(土) 12:42:51 ID:???
>>602
neverbirdでググれ
604nobodyさん :2006/02/19(日) 16:28:59 ID:???
よろしくお願いします
RedHatLinux9を使ってApacheとTomcatの連携をしたいのですが
コネクターのコンパイルがうまくいきません

ぐぐっていろいろなやり方を試したのですがどうしても連携することができません
使用しているソフトは

httpd-2.0.46
Tomcat4
コネクターは
jakarta-tomcat-connectors-jk2-src-current
javaはj2sdk-1_4_2_10-linux-i586
を使用しています。
605nobodyさん:2006/02/19(日) 19:00:23 ID:???
「うまくいきません」
「連携することができません」
でわかったらネ申だな・・・
606nobodyさん:2006/02/19(日) 19:11:45 ID:???
>>604
エラー文でググレ まずはそれからだ
607nobodyさん:2006/02/19(日) 19:22:30 ID:???
そもそも、現在非推奨になっているJK2をなぜ使うのかが激しく疑問
608nobodyさん:2006/02/19(日) 21:52:30 ID:/BUf/kK5
すいません、うちの会社(IT系ベンチャー)は、
パソにソフトをインストールするのに
許可が必要なのですが、
(管理者権限がないので自由にインストールできない)
JAVAのインストールを希望したところ、
個人の勉強になってしまうという理由で入れさせてくれません。
どうすればいいでしょうか?
609nobodyさん:2006/02/19(日) 22:03:50 ID:???
>>608
しるかはげ
610nobodyさん:2006/02/19(日) 22:13:40 ID:???
それは、「おまいはもっと他に勉強することがあるだろ?」ってことではあるまいか?
611nobodyさん:2006/02/19(日) 23:21:59 ID:???
JSPとPHPとどっちがWEBプログラミング開発しやすいでしょうか?

開発するWEBプログラミングはネットショップです。
よろしくお願いします。
612nobodyさん:2006/02/20(月) 03:24:31 ID:???
>>608
転職
613nobodyさん:2006/02/20(月) 07:29:25 ID:???
>>611
比較対象が間違っている
614nobodyさん:2006/02/20(月) 10:54:06 ID:???
>611
「開発しやすい」じゃ抽象しすぎて答えようがない。
どのアイドルで一番チンコ勃つ?って聞くのと同じ。
というか、そんな質問する人が手を出していいものじゃない>ネットショップ
615nobodyさん:2006/02/21(火) 04:20:47 ID:???
>>611
表はPHP、裏はJava。
616nobodyさん:2006/02/21(火) 14:05:29 ID:x/bdHv1B
端末の情報をJSPを使ってブラウザに表示する方法があるという
話を聞いたのですが本当でしょうか?
httpサーバが無ければブラウザに表示することはできないと
思うのですが、JSPを直接Javaで実行すれば良いという話なのですが、
とても信じられないのですが、真偽のほどをよろしくお願いいたします。
617nobodyさん:2006/02/21(火) 14:23:38 ID:???
何が言いたいの
618nobodyさん:2006/02/21(火) 14:24:28 ID:???
でんぱー
619602:2006/02/22(水) 20:00:04 ID:???
3はそれなりに解説出てますけど。

4はまだのようですねぇ。
ううむ。

とりあえずJBoss4.0.3SP1落としてきていじってみてます。
おもしろいね。
620nobodyさん:2006/02/23(木) 07:42:03 ID:???
>>619
「開発者ノートシリーズJBoss」は4対応らしい
621nobodyさん:2006/02/23(木) 09:17:32 ID:???
かなり前にちょっとだけJSPとか勉強していたのですが、
sqlと繋ぐためのデータソース(っていうんでしたっけ)を
ブラウザから設定できるマネージャみたいなツールが
Tomcatについていたような記憶がおぼろげながらあるんですが、
何処からどうやってアクセスするんでしたっけ?

たしか、JSPなどからデータベースへアクセスするためには
そのデータベース名とパスワードとかを
Tomcatの設定ファイルに手書きで追加する方法もあったと思いますが、
その辺の事をブラウザで追加できるようなツールだったと思うのですが…
Tomcatは5.5が入ってます。教えてください。お願いします。
622nobodyさん:2006/02/23(木) 09:37:33 ID:???
普通にjdbcでパラメタ設定してつなぐところまではできたのか?
623nobodyさん:2006/02/23(木) 09:42:23 ID:???
サーブレットでresponse.sendRedirectした後にreturn文を書くべきでしょうか?
624nobodyさん:2006/02/23(木) 09:47:56 ID:???
>>621
配布元で提供しているドキュメントぐらい読んでから質問しろよな。
625621:2006/02/23(木) 10:07:24 ID:???
>>624
いえ見たのですが、その、テキストでの設定方法しか見当たらないもので
質問させて頂いてる次第です。ほかの解説サイトなどの覗いてみたのですが
どこもテキストでの設定方法を掲載している所しか見当たらなくて・・・
626nobodyさん:2006/02/23(木) 10:14:55 ID:???
tomcat admin managerでググれば出てくる。
その程度のことなら手で設定したほうが早い。
627621:2006/02/23(木) 10:23:56 ID:???
>>626
ありました!まさに探していた物です。
ありがとうございました。
628nobodyさん:2006/02/23(木) 11:27:03 ID:???
requestオブジェクトからservletContextを取得できないでしょうか。
629nobodyさん:2006/02/23(木) 11:39:59 ID:???
ServletContext application = request.getSession().getServletContext();
630nobodyさん:2006/02/23(木) 15:17:50 ID:???
>>629
できました。
ありがとうございます。
631nobodyさん:2006/02/24(金) 15:06:13 ID:???
jspから直前のservletのパスを取得することはできるのでしょうか?
632nobodyさん:2006/02/24(金) 16:45:29 ID:???
>>631
むり
633nobodyさん:2006/02/24(金) 17:02:15 ID:???
>>631
weblogicのrequestオブジェクトみたら、dispatchしたかとかサーブレットのパスとかあったので値が取れそうだが
インターフェーズにメソッドがない・・・。
結局むりかぁ・・・
634nobodyさん:2006/02/26(日) 08:43:51 ID:NPCAqJtB
JSPと関係ないんですが、Tomcatのスレがないのでここで質問させてください。
Tomcat5.0.28を使っていますが、CGIの出力が文字化けしてしまいます。
中身はこれだけです。

#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "<html><body>";
print "CGIテスト";
print "</body></html>"

ここで、"CGI"は出力されて、"テスト"の部分は??????になります。
解決方法が分かる方いましたら、教えてください。
635nobodyさん:2006/02/26(日) 10:27:38 ID:???
なんかすごいのが来たな
636nobodyさん:2006/02/26(日) 12:43:51 ID:???
>>634
>#!/usr/bin/perl

あの、このスレのタイトルは読めますか?
637nobodyさん:2006/02/26(日) 15:17:21 ID:???
>>634
優しい俺が教えてやろう、Apacheの設定部分を変えればいいと思うよ^^
638nobodyさん:2006/02/26(日) 23:25:15 ID:???
634はTomcatでCGIを実行しているということなんじゃないか。

ファイルの文字コードとLocaleが違うという可能性があるが、これだけではわかりませんね。
639nobodyさん:2006/02/27(月) 22:14:42 ID:YDzLn1vQ
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html
ここにはHttpRequestが載ってないんですけど、
他にドキュメントはあるんでしょうか?
640nobodyさん:2006/02/27(月) 22:27:58 ID:???
>>639
つっこみどころ満載だ
・J2SEにはそんな型はない
・J2EEにもそんな型はない
・そもそも、HttpRequestなんて型は聞いたことがない
641nobodyさん:2006/02/27(月) 22:29:04 ID:???
>>639
ググレば出てくるだろ。
642640:2006/02/27(月) 22:35:26 ID:???
>>641
>ググレば出てくるだろ。

うわ、ホントだ!
C#とかRubyにはHttpRequestってあるんだ!!!
643nobodyさん:2006/02/27(月) 22:40:50 ID:???
もはやネタなのか本気なのか判断に苦しむ質問ばかりだ
644639:2006/02/27(月) 22:43:26 ID:YDzLn1vQ
発見しました。
サンキュウ。
645nobodyさん:2006/02/27(月) 22:49:41 ID:???
639がなにを発見したのか、非常に気になる・・・
646639:2006/02/27(月) 22:59:12 ID:YDzLn1vQ
647nobodyさん:2006/02/27(月) 23:44:27 ID:???
質問はおろかどうして解決したのかすら分からんが、解決してめでたい
648nobodyさん:2006/02/28(火) 17:21:44 ID:qp0JmiBB
ここで質問すべきかどうか悩みましたが、Web系ということで。。。

JSP+Servletで作られているあるページがあります。
ここにJNLPへのリンクを追加してSwingのクライアントアプリをダウンロードさせます。
まぁJColorChooserなんですけど、Chooserで選択されたRGB値を元のJNLP
のリンクの張られたページで取得することは可能ですかね?

選択されたRGB値をまたリクエストに乗っけて業務ロジックまで持って行きたいので・・・
(JavaScriptで持てたりとか、hiddenで持てたりとかそれはなんでも良いんで)

649nobodyさん:2006/02/28(火) 23:06:50 ID:???
普通にJWSアプリから送信すればいいじゃん。
色が拾いたいだけならJWSじゃなくてJavaScriptで作ればいいし、Javaでやりたいならアプレットでいいんじゃないの?
650nobodyさん:2006/03/03(金) 13:44:31 ID:EyNjjtcX
ファイルのダウンローダを作りたいのですが、
サーバ内でのファイル名は12345.datのような管理用のファイル名になっています。
これをユーザーがダウンロードする時はprogram.zipのように変更したいのですが、
何かよい方法はないでしょうか。
651nobodyさん:2006/03/03(金) 13:52:17 ID:???
>>650
そのファイル名をヘッダにセットすればいいんじゃないの?
652650:2006/03/03(金) 13:54:12 ID:EyNjjtcX
詳しく教えてください!
ヘッダって、contentType=〜とかって部分ですか?
653nobodyさん:2006/03/03(金) 14:05:04 ID:???
>>652
そう。そのヘッダに、
Content-Dispositionを追加する。

Content-Disposition: attachment;
filename=hogehoge.jpg; modification-date="Fri, 3 Mar 2006 14:05:04 +0900"

とかね
654nobodyさん:2006/03/03(金) 14:05:43 ID:???
>652
つーか、ファイル名をセットしてないのか?
655650:2006/03/03(金) 14:18:41 ID:EyNjjtcX
はい。していません。
主任が知らないことを勝手にやると怒られるので
656nobodyさん:2006/03/03(金) 14:22:02 ID:???
>>655
それでよくまともにダウンロードできるな。

・・・イヤな予感がするのだが、
もしかしてファイルをストリームに書き込むのではなく、
ダウンロードしたいファイルに直リンしてるとか???
657nobodyさん:2006/03/03(金) 15:43:24 ID:???
別にそれでもいい場合はそれでいいじゃん
658nobodyさん:2006/03/03(金) 22:01:21 ID:???
前回アクセスパスのリファラーは、どんなタイミングでも、IEなら必ず取れるのでしょうか?
659nobodyさん:2006/03/03(金) 22:37:04 ID:???
>>658
結論を先に言うと、必ず取れるわけではない。

ノートンなどがリファラ送信を妨害したりするので
パソコン初心者でもリファラを切ってる可能性は大いにある。

世界シェア 10% に登る Firefox を使う人なら尚更だし、
他にもオプション設定でリファラを切れる IE コンポーネントのタブブラウザは多い。

仮にリファラ送信があるとしても 内容を完全に信用してはいけない。
リファラ偽造なんてスパムの常套手段だしな。
660nobodyさん:2006/03/03(金) 22:55:34 ID:???
ForwardActionでリダイレクトってできないですか?
661nobodyさん:2006/03/06(月) 16:00:46 ID:ZdLLPcti
WebベースのシステムをJavaで開発することになったのですが、
分からないことがあるので教えてください。

【やりたいこと】
商品マスタを検索するシステムなのですが、パフォーマンス的な問題から
商品マスタの内容を初回呼び出し時に1回だけ全件読み込んで、メモリ上の
商品マスタから検索するようにし、2回目以降の呼び出しからはデータベースに
アクセスせずにメモリ上の商品マスタから検索するようにしたい。

環境:RedHut Linux
   Java
   Struts
   Apache2.0 + Tomcat5
   PostgreSQL

ググっても全然見あたらないので、どなたかヒントでも教えてくださいまし。

662nobodyさん:2006/03/06(月) 16:02:47 ID:???
ほんとにパフォーマンスの問題があるのか疑問。
主キーを設定してないだけとか、コネクションプーリングしてないだけとかじゃねぇの?
663661:2006/03/06(月) 19:12:02 ID:ZdLLPcti
本当にパフォーマンスの問題かどうかは検証してないのですが、
客がこの方式を必須としているので、どうしても外せません。
どなたか出来る方法をご存じないでしょうか。
664nobodyさん:2006/03/06(月) 19:20:38 ID:???
データキャッシュは、、製品では見たことあるが。
まあはっきりいってやめたほうがいいと思うが。

読んだデータをハッシュで保持して使いまわすんじゃだめかね。
665nobodyさん:2006/03/06(月) 19:23:57 ID:???
要件言ってないからよーわからんが・・・
ふつーにサーブレットコンテキストに入れれば終わりじゃねぇ?
あるかないか見に行ってなければ検索、同期処理も入れれば完了。
当然、鯖再起動するまでDBとデータ取れないがそれでよければ。
666nobodyさん:2006/03/06(月) 19:24:06 ID:???
商品マスタの内容を初回呼び出し時に1回だけ全件読み込んで、メモリ上の
商品マスタから検索するようにし、2回目以降の呼び出しからはデータベースに
アクセスせずにメモリ上の商品マスタから検索するようにすればいいじゃん。

特別な「やり方」なんてものはない。
そういうふうに実装すればいいだけじゃないのか?

シングルトンオブジェクトかstatic変数にデータを持たせるようにして、
そのデータが空っぽなら、DBを検索して取得。
空っぽじゃなかったらそのまま返す。

これじゃダメなの?
667nobodyさん:2006/03/06(月) 19:25:12 ID:???
>666
や ら な い か ?
668nobodyさん:2006/03/06(月) 23:09:41 ID:???
Hibernateの二次キャッシュ使う
プロジェクトでHibernate使えればの話だけど
669nobodyさん:2006/03/07(火) 03:43:27 ID:???
2003ServerでTomcatにPHP4を連携させると、NTサービスが落ちる・・・
素直にIISかApacheを上に使うべきなのかな・・・
670nobodyさん:2006/03/07(火) 13:19:18 ID:???
jspにフォワードすると、サーブレットアクセス時のリクエストパラメータはリセットされるのでしょうか?
671nobodyさん:2006/03/07(火) 16:39:42 ID:???
されません。
リダイレクトしたら消えます。
672nobodyさん:2006/03/07(火) 16:52:24 ID:???
>>670
request.getParameter("xxx")をしたら、jspでパラメータが取れませんでした。
ちなみに、フォワードのパスに、?value1=aaa のパラメータをつけて、
jspでrequest.getParameter("value1")したら、aaaが取れました。
そーゆーものでしょうか?
673nobodyさん:2006/03/09(木) 11:20:39 ID:???
データ重複を意味するエクセプションクラスはあるでしょうか?
674nobodyさん:2006/03/09(木) 11:38:25 ID:???
>>673
自作してください。
675nobodyさん:2006/03/12(日) 11:16:52 ID:OgFgeAfm
class DataTyohukuException implements Exception


676nobodyさん:2006/03/12(日) 14:02:12 ID:???
implementsするのっ?!!
677nobodyさん:2006/03/12(日) 14:43:47 ID:QZ63Zl7Z
jstl.jar と standard.jar を WEB-INF に配置して
以下 JSP を起動すると

<%@page contentType="text/html; charset=Windows-31J"%>
<%@taglib prefix="c" uri="http://java.com/jsp/jstl/core"%>
<html>
<body>
<c:out value="こんにちわ"/>
</body>
</html>

org.apache.jasper.JasperException: 絶対URI: http://java.com/jsp/jstl/core はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません

というようなエラーが出ます。
原因わかりますでしょうか?

ちなみにローカル PC で試してます。
678nobodyさん:2006/03/12(日) 15:04:39 ID:???
679nobodyさん:2006/03/12(日) 15:09:10 ID:???
java.sun.comだろ。
680677:2006/03/12(日) 15:38:44 ID:QZ63Zl7Z
>>678
1.1です。
どうもです。

>>679
うまくいきました。
どうもです。
681677:2006/03/12(日) 16:38:02 ID:QZ63Zl7Z
以下 JSP を起動すると

<%@ page contentType="text/html; charset=EUC-JP "%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" pageEncoding="EUC-JP" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
request.setAttribute("list", list);
%>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
</head>
<body bgcolor="#FFFFFF">
<c:forEach var="item" items="${list}">
${item}
</c:forEach>
</body>
</html>

${item}
と表示されてしまいます。
原因わかりますでしょうか?
682nobodyさん:2006/03/12(日) 17:06:27 ID:???
>>681
Web App 2.4 で作ってないとか。web.xmlは2.4で書いている?
683677:2006/03/12(日) 17:37:12 ID:QZ63Zl7Z
>>682
2.3でした。
2.4の書き方に変更したらうまく行きました。
どうもです。
684nobodyさん:2006/03/12(日) 20:03:41 ID:???
Tomcatの5.5.15使ってるんだけど
タグファイルの dynamic-attribute ってまだサポートされてないのかな?
タグファイルの中で

<%@ tag dynamic-attributes="attrs"
%><%
String name = (String)attrs.get("name");
・・・
%>

こんなコード書くとattrsが見つからないって怒られてしまう。
685684:2006/03/12(日) 20:35:46 ID:???
ごめん。勘違いでした。
タグファイル内でJSTL使ってるにも関わらずタグライブラリ宣言してなかった。
でもなんでそれで変数宣言のエラーがでるのやら・・
ともかく無事動作しました。Tomcatでもサポートされてます。
お騒がせしました。
686nobodyさん:2006/03/13(月) 09:42:04 ID:AXRgIRUk
JSP でのリクエストデータ取得にて

<%
String userName = request.getParameter("userName");
out.println(userName);
%>

だとうまく行くんですが

${requestScope.userName}

とすると何も表示されなくなってしまいます。
なぜかわかりますでしょうか?

ちなみに

<%
request.setAttribute("test", "test");
%>
${requestScope.test}

は test と表示されます。
687nobodyさん:2006/03/13(月) 10:26:20 ID:???
getParameterの戻り値の型は?
688nobodyさん:2006/03/13(月) 11:07:56 ID:???
>>687
根本的に使い方を間違ってるから。
${requestScope.userName} でリクエストパラメータ値を取れたらオカシイ。
689nobodyさん:2006/03/13(月) 22:05:44 ID:+jbYbRxP
>>688
そうなんだ?
じゃあリクエストパラメータをスマートに表示するのは
どうすればいいんだ?
690nobodyさん:2006/03/13(月) 22:07:38 ID:???
${param.userName}
691nobodyさん:2006/03/13(月) 22:25:41 ID:+jbYbRxP
おおお!!!
692nobodyさん:2006/03/14(火) 18:45:32 ID:???
助けてください!
今EJBのリモート呼び出しを使用しています。
環境は、呼び出し元がWEBで、先がDB処理用になっていて、
ネットワークは物理的に分かれており、その間にfirewallがあるため、
EJBのプロトコルしか利用できません。
その中で、WEBでCSVファイルをアップして、それをDBに登録しろといわれ、
CSVのサイズが2M以上有り、EJBでやる以上、2Mをメモリにロードしなければなりません。
今の環境上、2Mもロードすると、サービスができなくなります。
FTP、SCPなどは開通させてくれません。
何かよい手はないでしょうか?
693nobodyさん:2006/03/14(火) 21:35:42 ID:???
オブジェクトを分割しろよ
694nobodyさん:2006/03/15(水) 15:43:41 ID:???
EJB関連の質問です。
ハードコーディングを避けるため、各種設定をファイルに記述して、
その内容で挙動を変えたいと思っています。
しかし、単にjarの中にファイルを含めて、コード中で
new File(ファイル名) などとしてもアクセスできません。
どのようにすればファイルにアクセスできるでしょうか?
695nobodyさん:2006/03/15(水) 16:02:47 ID:???
>>694
java.util.ResourceBundleでも使えば?
696nobodyさん:2006/03/16(木) 00:46:54 ID:???
体よく、Javaでの納品を避けられてるのかもな(w
2MBのファイルのやり取りにDBは使いたくない。
毎日更新されるんだろ?

CSV生成のエクセル入力だかを、最初からウェブに切り替えさせるか、更新処理だけクライアント側で専用アプリケーションでDB更新させて最小限の更新に止めるべき。


ファイルの記述がおかしい場合の検証とか面倒だし、バッファオーバフローもおきやすくなるけどな。
697nobodyさん:2006/03/16(木) 00:58:54 ID:???
> その間にfirewallがあるため、
> EJBのプロトコルしか利用できません。
> その中で、WEBでCSVファイルをアップして、それをDBに登録しろといわれ、
> CSVのサイズが2M以上有り、EJBでやる以上、2Mをメモリにロードしなければなりません。

なんか、〜なので〜しないといけないというのが全然理由になってない気がする。
698nobodyさん:2006/03/16(木) 15:22:39 ID:???
>>697
EJB知ってるの!?
もっとよく考えてみよう
699nobodyさん:2006/03/16(木) 15:34:14 ID:???
>>697
ファイアウォールがあるとRMI/IIOPしか使えないのか?まったく理解に苦しむ理由だな。
700nobodyさん:2006/03/16(木) 15:35:07 ID:???
アンカー間違えた。>>692だった。
701nobodyさん:2006/03/16(木) 18:54:59 ID:???
同じ内容のwarをデプロイ名を変えて(ちがうWARアプリケーションとして)デプロイした場合、
つまり、同じ内容のクラスが、2つの区別されたWEBアプリケーションとして起動された場合、
同じ内容のクラスが共に存在しますが、それらは1つのものとしてWEBコンテナに管理されるのでしょうか?
つまり、A、B名でアプリケーションがある場合、Aのクラスを変えた場合、
Bはその修正されたクラスのコードで扱われることになるでしょうか。
クラスは共にパッケージ名も同じで、おのおののWEB-INF/classesに入っています。
702nobodyさん:2006/03/16(木) 19:08:22 ID:???
>>701
別ですよ。
703nobodyさん:2006/03/16(木) 20:15:55 ID:???
同じjarに詰め込んで起動してると共有してるけどな。
起動が別でjavavmが別なら別。
704nobodyさん:2006/03/16(木) 20:23:12 ID:???
>>703
いえ。weblogicを使用しているのですが、1つのweblogicで2つのWEBアプリケーションを動かすということです。
java vmは1つで動いていました。jarファイルは物理的に分かれています。
705nobodyさん:2006/03/16(木) 20:41:07 ID:???
>>704
同一JVM上でも、別アプリならクラスローダが違うからOKだよ
706nobodyさん:2006/03/16(木) 20:52:43 ID:???
>>705
ありがとうございます。
助かりました。
707nobodyさん:2006/03/17(金) 15:44:54 ID:???
jspのエラーページに、サーブレットを指定することは可能でしょうか?
708nobodyさん:2006/03/18(土) 14:28:13 ID:H2i35bVY
ソースの文字エンコーディングは何にしてる?
ISO-8859-1が一般的?
UTF-8?
709nobodyさん:2006/03/18(土) 14:52:56 ID:???
Windows-31J
710nobodyさん:2006/03/18(土) 15:16:24 ID:???
新規で作るなら、
全部UTF-8にしたほうがいろいろ幸せだよ
711nobodyさん:2006/03/18(土) 15:23:11 ID:???
全部をUTF8にすると…

IEだとUnicode用のフォントが割り当てられるから、お客さんからクレーム orz
またPostしたデータがUTF8で取れないケースがある
712nobodyさん:2006/03/18(土) 16:47:27 ID:???
>>711
UTF-8に変換すれば?>送信データ
713nobodyさん:2006/03/18(土) 16:48:57 ID:???
>>708
日本語使えない文字エンコーディングが一般的なわけないだろ
714nobodyさん:2006/03/19(日) 15:12:54 ID:R+Ibm8gi
一つのサーブレットに対して一つのインスタンスを作って
リクエスト分スレッドを立てて処理してる、であってる?
715nobodyさん:2006/03/19(日) 16:56:03 ID:???
>>714
スレッドプールという仕組みがあるので
リクエスト分のスレッドというのは正しくない。
もっと多くスレッドが用意されているかもしれないし、
足りなければ増やされるし。Servletコンテナの設定次第。
716nobodyさん:2006/03/19(日) 18:29:16 ID:R+Ibm8gi
一つのサーブレットに対して複数のインスタンスが作られることはない?
ないとすると
同じインスタンス変数を全てのスレッドが参照できる?
717nobodyさん:2006/03/19(日) 18:45:21 ID:???
>>716
その通り
718nobodyさん:2006/03/19(日) 18:52:03 ID:???
ソースに日本語埋め込むと保守性悪いよ。
まさかコメントに日本語使えないと困りますか?
719nobodyさん:2006/03/19(日) 21:29:17 ID:???
>>718
後に誰が見るかわからないし、客が見るかも知れないから
日本語でコメント書けた方がいいな。
720nobodyさん:2006/03/19(日) 22:07:11 ID:???
トラブル起こすくらいなら避けるだろ。
本末転倒。
721nobodyさん:2006/03/21(火) 00:10:02 ID:???
英語のコメントが読めない/書けないトラブルが発生します。
722nobodyさん:2006/03/21(火) 07:37:52 ID:???
読めないのは他の人に頼めるが、書けないのは致命的だな。
brokenでもいいんだけど、書けない=>書かないは絶望的
723nobodyさん:2006/03/21(火) 09:18:03 ID:wSge3oRZ
jspやhtmlからサーブレットにベクトル画像を渡して、
サーバ側でベクトル画像をビットマップ画像に変換するような事を
考えています。phpやperlではGDというグラフィックライブラリを使う
みたいなのですが、javaではそういったライブラリは無いのでしょうか??
724nobodyさん:2006/03/21(火) 09:42:31 ID:???
>>723
ベクトル画像というのがSVGならApache Batikというのがありますが。
725nobodyさん:2006/03/21(火) 10:02:21 ID:wSge3oRZ
>>724
ベクトル画像はvmlで描いたものです。
vmlではだめでしょうか??
726nobodyさん:2006/03/21(火) 14:14:47 ID:???
あんまり鯖側でやりたくない処理だな。
利用者が多くなるとスケールしなくなるよ。
727nobodyさん:2006/03/23(木) 10:06:58 ID:???
>>708
UTF-8。
それがJava標準。
XMLもUTF-8が標準、
最近のLinuxもUTF-8が標準、
あのM$ですらドトネトでShift_JIS(Windows-31J)ではなく
Unicodeを推奨している。
そして最近のデータベースサーバもUTF-8が標準になった。

よってUTF-8で統一。
さもないとエンコーディングの手間が省けない。


728nobodyさん:2006/03/23(木) 10:12:12 ID:???
>>718
日本語入りStringはすべてResourceBundleまたはJakarta Commons Configuration
または Spring Framework で外部ファイルに記述する。

コメントは
コンパイルオプションに-encodingを追加して
native2ascii.sh(.exe)またはApache Antの<native2ascii>タスクで
ASCIIコードに変換してからコンパイルなりJavadoc生成なりすれば
万事解決。
729nobodyさん:2006/03/23(木) 18:10:08 ID:???
でもメールはISO-2022-JPだからね。
UTF-8で処理するとどうしても化ける。
730nobodyさん:2006/03/23(木) 22:51:59 ID:mJKQp3xR
レベルの低いことをおたずねしてすみません。
今、jspのjavascript中に定義した変数を
submitによりサーバ側に渡して、処理を行うことを考えている
のですが、うまくサーブレットに渡りません。
教えていただけましたら大変助かります。
以下がそのプログラムです。
プログラム中のdocument.getElementById("l_x").value =
buf_x;
およびdocument.getElementById("l_y").value = buf_y;をサ
ーブレット側のrequest.getParameter()等で読み込めないので
しょうか??


<form name="fm" method="POST" action="../../Servlet">
<input type="submit" value="保存" OnClick="return
save();"/><br>
</form>
<script>
function save(){
var buf_x="";
var buf_y="";
buf_x += LogX[i] + "|"
buf_y += LogY[i] + "|"
document.getElementById("l_x").value = buf_x;
document.getElementById("l_y").value = buf_y;
document.fm.submit();
}
</script>
731nobodyさん:2006/03/24(金) 00:03:44 ID:???
これはまた色々とツッコミどころ満載ですね


とりあえずスレ違いな
732nobodyさん:2006/03/24(金) 12:50:30 ID:???
>>729
MIMEタイプで指定すれば問題なし
733nobodyさん:2006/03/24(金) 15:57:15 ID:xohjbFYV
>>732
730です。ご返答ありがとうございます。上のプログラムは多少間違っていました。
MIMEタイプの指定ですが、具体的にどのようにすればよいのでしょうか??

先ほど、一度試しましたが、どうしてもサーバ側でrequest.getParaを行うと
nullが出てしまいます。
JSP初心者なもので、大変困っております。
プログラムの詳細を言っていただけると大変助かります。
どうか、おたすけ下さい。
734nobodyさん:2006/03/24(金) 23:04:23 ID:???
MIMEで設定しても、メーラにその機能がなければ見れないし。残念。
utf-8対応メーラって少ないよ。RFCにないし。
735nobodyさん:2006/03/25(土) 09:27:55 ID:???
>>734
何かほかに対策はないのでしょうか??
736nobodyさん:2006/03/25(土) 12:27:10 ID:???
日本語メールはJISで送る。それがRFCだし、ほとんどのメーラの仕様。
737nobodyさん:2006/03/25(土) 21:07:16 ID:???
apacheとTomcatを連携させたのはいいのですが、その環境に
.htaccessを有効にすることはできないのでしょうか?
738nobodyさん:2006/03/25(土) 23:43:51 ID:???
>>737
できる。
もし、本題が.httaccessを有効にすることではなく
基本認証を有効にすることであるなら、Servletコンテナの認証機能を使えばよい。
739nobodyさん:2006/03/27(月) 14:00:29 ID:???
>>734
つHTMLメール
740nobodyさん:2006/03/27(月) 14:01:00 ID:???
>>737
つserver.xml, context.xml
741nobodyさん:2006/03/27(月) 16:57:09 ID:???
HTMLメールはゴミ。
メール鯖で捨てられる所も多いよ。
742nobodyさん:2006/03/27(月) 22:13:28 ID:???
MUAでも捨てられるな。うちがそう
743nobodyさん:2006/04/09(日) 16:53:39 ID:w+aWNdK3
携帯でショッピングサイトを製作していて困ったことになっているので質問させてください。

ショッピングカートはセッションで保持しています。
携帯ではクッキーが使えない?のでjsessionidをURLに付加してリクエストを送信しています。
ここまでは問題ないのですが、
カート情報を保持した状態でHTMLの静的ページからカートに商品を入れるようなことをしたいのです。
どういうことかというと、
商品を検索、一覧から選択→カートにいれる→買い物を続ける の流れの中で
"今週のおすすめ品"みたいなページ(客がつくるらしい)がHTMLでつくってあって
それを選ぶと先ほどまでと同じようにカートに追加されるようにしたいのです。
HTMLからsessionidは渡せないのでどうしたものかと・・・。

よい解決法がありましたらご教授ねがえないでしょうか?
744nobodyさん:2006/04/10(月) 02:42:39 ID:???
俺なら HTML を include して JSP で表示を行う。
これなら jsessionid は死なないで済む。
ブラウザの URL に拘る必要がある場合は交渉して不要にしてもらう
745nobodyさん:2006/04/10(月) 09:23:46 ID:???
URLにjsessionidがついてる時点であれだから、URLの問題はokな気がする
746743:2006/04/10(月) 14:22:44 ID:a6jXcl8b
url-patternで*.htmlだったらインクルード用のjspを呼び出すようにしてみました。

<jsp:include page="<%=request.getServletPath()%>"/>

するとincludeしたときにもurl-patternにマッチするらしく
1 〜〜.htmlを呼び出す
2 インクルードjspへ遷移する
3 インクルードで*.htmlにマッチ、1に戻る
で無限ループになってしまいました。(100週くらいすると勝手にエラーで落ちる)


ほかの方法として
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13526&forum=12&4
のようにhtmlに対してフィルターをかけることができないか模索中です。
レベルの低い質問で申し訳ありませんが引き続きおねがいいたします。
747nobodyさん:2006/04/12(水) 18:12:19 ID:???
Tomcat5.5について質問なのですが、
JSP+Beanで動かす場合のclassファイルの置き場所はどこでしょうか。
4系とは違うのですか?
748nobodyさん:2006/04/13(木) 04:39:25 ID:???
>>747
違いません。
749nobodyさん:2006/04/13(木) 07:42:43 ID:???
>>747
Tomcat5.5についての質問ではないし、マルチだし。
消えろ
750nobodyさん:2006/04/16(日) 16:36:24 ID:???
とぉーんまキャット
751nobodyさん:2006/04/29(土) 18:32:04 ID:kQOF8iLN
サーブレットのプログラム内でファイルを出力すると
環境によってファイルの位置が微妙に変わってしまいます。
例えばeclipseからコンテナを起動してファイルを出力するとeclipseのホームディレクトリに出力されます。
これをどのような場合でも
コンテキストルート/WEB-INF/file
に出力したいのです。
そのためにコンテキストルートまでの絶対パスを取得したいのですが方法がわかりません。
わかる方教えてもらえませんでしょうか。
752nobodyさん:2006/04/29(土) 19:57:46 ID:???
getRealPathかなんか。
753nobodyさん:2006/04/29(土) 21:55:14 ID:???
TomcatとEclipseでOKならいいけど、
「どのような場合でも」となるとコンテナによっては
アプリケーションのディレクトリには出力できないこともあるよ。
そういうときはデータ用としてどこか外部のディレクトリを使った方が
ポータビリティが高い。
754nobodyさん:2006/04/29(土) 22:41:54 ID:???
サーブレットからなら
getServletContext().getRealPath("");
でいいんでない?
755nobodyさん:2006/04/29(土) 22:55:56 ID:???
getServletContext().getRealPath("/");
じゃないの?
756nobodyさん:2006/04/30(日) 12:57:03 ID:???
getRealPathってサーバ上のディレクトリか。
もう一つURLを表すパスを返すメソッドもあったよな
757nobodyさん:2006/05/02(火) 14:46:43 ID:???
JSP2.0に対応していないとELは使えませんが、JSTLは使用できるのでしょうか
758nobodyさん:2006/05/02(火) 18:39:08 ID:???
> JSP2.0に対応していないとELは使えませんが、

JSP1.2でも使えます。ただし、JSPボディ部に直接書けるのは2.0からです。

> JSTLは使用できるのでしょうか

使えます。
759nobodyさん:2006/05/02(火) 19:32:13 ID:???
>>758
ありがとうございます。
現在weblogicを使用していますが、weblogicのjarファイルにjavax.servlet.jsp.elパッケージがありません。
この場合このバージョンのweblogicでは、elは使用できないのでしょうか。
760nobodyさん:2006/05/02(火) 19:43:10 ID:???
>>759
JSP仕様に含まれるのは2.0から。
JSP1.2まではデフォルトで追加ライブラリ無しで使えるわけではない。
761nobodyさん:2006/05/03(水) 01:48:24 ID:kMBht7v/
くだらない質問なんですけど、
Googleの検索エンジンの実装ってServlet使ってたりするんでしょうか
762nobodyさん:2006/05/05(金) 05:05:46 ID:???
>>761
聞いたタイミングがGWってこともあるのかもしれんが、まだ誰もレスしないってことは
中の人に聞くしかないってことかと。
763nobodyさん:2006/05/05(金) 09:54:55 ID:???
>>761
使ってません。
764nobodyさん:2006/05/05(金) 09:55:27 ID:???
なぜなら、Servletはエンジンを実装する技術じゃないからです。
765nobodyさん:2006/05/05(金) 12:12:04 ID:???
さすがに検索だけならPerlやCでやったほうがいいだろう。
株価や銀行預金、ネットワークストレージといった、
データをサーバに頻繁に間違いなく確実に保存するサービスを
行使するならServletのほうがうってつけだが。
766nobodyさん:2006/05/05(金) 12:19:41 ID:???
「やったほうがいい」とまでは思えない。
すごく単純な検索ならやってもまあいいか、ぐらいには思うこともないこともない。
767nobodyさん:2006/05/09(火) 10:11:18 ID:???
>>759
ありがとうございます。
設定の参考になるサイトとかはあるでしょうか。
768nobodyさん:2006/05/10(水) 10:01:08 ID:???
>>760
すいません。いまいちやり方がわからないのですが、
commons-elのjarをクラスパスに通すだけで使用できるのでしょうか。
web.xmlにも設定が必要なのかなと思い調べてみましたが、
jsp2.0のものばっかりだったので・・・
769nobodyさん:2006/05/10(水) 11:18:10 ID:???
768です。
758が言っていた、「JSPボディ部」とは、HTMLをべたで書いている場所ということですね。
勘違いしてました。
jsp1.2では、タグリブのアトリビュート内にしかかけないんですよね。
770nobodyさん:2006/05/14(日) 13:09:01 ID:???
<a href="ウェブアプリ自身のパス/hoge.jsp">
と出力したいんだけど、ウェブアプリのパスってどうやって得るのが良いでしょう?
771nobodyさん:2006/05/14(日) 17:03:02 ID:???
>>770
HttpServletRequest#getContextPath()。ServletAPIをもっと読もうよ
772770:2006/05/14(日) 21:44:46 ID:???
<%=request.getContextPath()%>/hoge.jsp
とか、いちいち書かないといけないわけがないと思ってたんだが・・・
標準のtaglibsでなんかないのかね。
773nobodyさん:2006/05/14(日) 21:51:00 ID:???
Strutsならhtml:linkタグを使うし
どちらかというと、Webフレームワークに頼る部分なのかも
774nobodyさん:2006/05/15(月) 16:34:07 ID:???
質問です。
レスポンスのHTMLをゆっくり出したいのですが、できますか?
775nobodyさん:2006/05/16(火) 02:31:23 ID:???
${request.contextPath}/hoge.jsp
776nobodyさん:2006/05/16(火) 02:32:28 ID:???
>>774
56kのモデムを使う
777nobodyさん:2006/05/16(火) 10:29:51 ID:???
>>774
JSPでは無理。JavaScriptでdocument.writeでhtml1行筒出力
数行ごとにウェイトいれるとか?
778nobodyさん:2006/05/16(火) 16:06:58 ID:???
ゆっくり出したいなんて要件、初めて見た。
簡易アニメとかパラパラマンガなのかな?
779nobodyさん:2006/05/16(火) 16:14:39 ID:???
そこでAjaxですよ。
780nobodyさん:2006/05/16(火) 23:31:45 ID:???
EJBやサーバーサイドJava技術を学習するのにお勧めの書籍ってどんなものがありますか?
781nobodyさん:2006/05/17(水) 00:20:25 ID:???
ない。仮に現時点での良書があっても、Java EE 5で上書きされちゃう。
ネットの情報探したほうがいいよ。SunのSDCとかIBMのdeveloperworkとか@ITとかさ。
782nobodyさん:2006/05/17(水) 00:33:15 ID:???
>>777
JSPで無理なら、サーブレットでやればいいじゃない


マジレスすれば、フィルター作って出力中にウェイト入れてやればいい。
783nobodyさん:2006/05/17(水) 21:21:53 ID:???
>>781
サンクス。
784nobodyさん:2006/05/21(日) 01:39:53 ID:yJz5Uytv
初めまして。Java初心者です。
ここで質問すべき内容では無いのかももしれませんが・・。
HTTPヘッダ(リクエストヘッダ)に値をセットするには
どうしたら良いのでしょうか?

JavaのServlet側では、req.getHeader("hoge")で値が取り出せるのは
分かりました。
が、送信側でどうやったら良いのか解りません。
他のHTTPヘッダ(user-Agentとか)と同じ感じでデータを取り出したいのですが・・。

METAタグを使用したらHTTPヘッダに値がセットできるというような事を見つけて、
<META name="hoge" content="abcde">
<META http-equiv="hoge" content="abcde">
とか試して見ましたが、もしかして全然見当違いな事をしてるんでしょうか・・?

試してみたのは以下のような環境です。
1.test.htmlに上記METAタグを記述してPOST
2.POST先にはローカルのTOMCAT上で動いているServletを指定
3.servletでreq.getHeader("hoge");としてみたが、値取り出せず(NULL)

どなたかご存知な方、ご教授いただけないでしょうか?
宜しく御願いします。
785nobodyさん:2006/05/21(日) 02:03:12 ID:???
response.setHeader
786nobodyさん:2006/05/21(日) 02:15:56 ID:???
ありがとうございます。
それはつまり、「次にリクエストを投げようとする画面」を出力する際の
レスポンスに、予めsetHeader()で値をセットしておけという事でしょうか?
787":2006/05/21(日) 02:37:14 ID:???
>>786
状況的には、自分がブラウザでアクセスしてるんでしょ?
そのブラウザが値を送ってないなら、サーバ(Servlet)側で値が取れるわけないよね。
LiveHttpHeadersとかIEHttpHeadersとかで、やり取りを観察してみたらいいと思う。

あとhtmlのmetaタグは関係ない。
788nobodyさん:2006/05/21(日) 03:00:35 ID:???
>>786
次のリクエスト時に値abcdeをリクエストヘッダhogeで送ってくれ、と
ブラウザに指示を出すにはどうしたら良いか?

ということかな。
で、それによって何をしたいんだ?

何をしたいのかによってはCookieが使えそうだが。
789nobodyさん:2006/05/21(日) 03:00:54 ID:???
Javaのプログラムからリクエストを発行するなら
URLConnection#setRequestProperty
790nobodyさん:2006/05/21(日) 03:09:07 ID:???
皆さんありがとうござます。
やりたい事というのは、認証のみのポータル画面(新規作成)があり、
既存のアプリへシングルサインオンを行いたいんです。
このポータルと各アプリへの情報引渡しにHTTPヘッダを使おうと思っていました。

なので、処理の順番を書くと、
1.ポータルでログイン
2.サーバ側で認証を行い、メニューを表示
3.メニューのリンククリックで、各アプリの処理へ遷移し、
  遷移先のサーブレットでユーザ情報を受け取り、
  今までのログイン処理を行わずに各アプリのメニューを出す
といった感じです。
で、まだポータルの方の処理が出来上がっておらず、とりあえず既存のアプリに
対してベタ書きのHTMLからリンクしてみて、HTTPヘッダに情報を渡せるかどうかを
試していたところです。
791nobodyさん:2006/05/21(日) 05:11:54 ID:???
なぁ、Javaのエンジニアってさぁ
「方法」が目的になってるよね。
いちど目を覚ましたほうがいいよ。
自分たちでどんどん面倒なことを増やしているだけの馬鹿です。
会社(顧客)から金をもらって、パズルを解くのが趣味の連中ですよ、お前らは。
792":2006/05/21(日) 06:08:52 ID:???
Javaのエンジニアと誰を比較してそう言ってるの?
793nobodyさん:2006/05/21(日) 07:13:22 ID:???
そういう傾向があるのは認めるがスレ違いなのでよそでやってくれ
794nobodyさん:2006/05/21(日) 09:44:44 ID:???
>>791
なぜJavaエンジニアに限定されていると思うのか
795nobodyさん:2006/05/21(日) 16:12:04 ID:???
>>794
方法が目的になっている(ことが多い)ってことじゃないのかと。
796nobodyさん:2006/05/21(日) 16:35:22 ID:???
素直に目的を達成しようと思えば、
当然のように出来てるからってのもあるな。
797nobodyさん:2006/05/21(日) 20:33:52 ID:???
>>795
VB屋もC++屋も同じ。
798nobodyさん:2006/05/21(日) 22:09:49 ID:???
>>797
おなじじゃねーよ。
799nobodyさん:2006/05/22(月) 03:28:39 ID:Oh8EsbuK
>>791
同感。
Javaでプログラミングすると、本来ちからを入れるべきのアルゴリズムの方に頭を使う余裕がなくなるんだよね。
昔のVBの時代は、アルゴリズムに集中できてよかったよ。
800nobodyさん:2006/05/22(月) 04:34:45 ID:???
>>799
本当にそれはJavaのせいか?
801nobodyさん:2006/05/22(月) 05:17:29 ID:???
Javaでは新しい開発手法がどんどん出てくるから
修得して効率が上がってくるころに陳腐化してしまう
というのはあると思う。
802nobodyさん:2006/05/22(月) 05:31:31 ID:???
JSF+EJB3でやっと落ち着いたけどね。
803nobodyさん:2006/05/22(月) 05:47:41 ID:???
EJBは糞。絶対流行らん
.netの方が10000倍マシ
804nobodyさん:2006/05/22(月) 06:27:19 ID:???
>>803
まあ、2.1までのEJBは糞だと思うけど
EJB3のどのあたりが糞?
805nobodyさん:2006/05/22(月) 07:03:56 ID:???
JSFで落ち着くかなぁ。
あれで皆満足するとは思えないよ。
806nobodyさん:2006/05/22(月) 08:26:45 ID:???
JSFもEJB3も、もうちょっと現場で鍛えられる必要がありそう
Servlet/JSPの初期バージョンの頃みたいに、標準仕様に加えて実装が提供する拡張機能を使うことになるのでは?
ただし、EJB2まではそもそも現場の実情とかけ離れたものだったから
ようやくJ2EE(JavaEE)が、使える統合環境になるきっかけにはなりそうな気がする
807nobodyさん:2006/05/22(月) 09:03:06 ID:???
単にVBだと制限多くてあるもの使うしか無いからアルゴリズムに専念するしか無いのと、
Javaではまともなフレームワーク使ってないから、面倒な所まで実装する手間が多くてアルゴリズムまでたどり着けずに疲れちゃうってだけでは?

まあVBが簡単にできるってのはそう言う製品だし当たり前。
VBだと制限多くて使いにくいと思わないほうが、スキルの低さを露呈している。

Cもまともなフレームワークが無いという点ではVBと同じだ。
JavaのEJBは結構いいとおもうけど。JSPはあんまりメリット無い。JSP使うくらいならPHPで十分だ。
808nobodyさん:2006/05/22(月) 09:30:08 ID:???
> JSPはあんまりメリット無い。JSP使うくらいならPHPで十分だ。

はぁ?
809nobodyさん:2006/05/24(水) 01:00:59 ID:???
さくっと作りたいならPHPでいいんじゃないか。
ただ堅いシステム作るなら、やっぱJavaだ。Javaのが軽いしね。
810nobodyさん:2006/05/24(水) 01:06:07 ID:???
さくっと作りたいなら、PHPなんか使わずJavaだろ。
Studio Creatorあたりで。
811nobodyさん:2006/05/24(水) 03:16:53 ID:???
動作環境までさくっとやりたいならPHP。
812nobodyさん:2006/05/24(水) 04:20:53 ID:???
Tomcatインストールがそんなに難しいか?
Javaでそこらへんのツール使えばほぼコーディングなしでできるようなシステムを、PHPなら面倒なコーディングしないといけない。
その時間にJDK+Tomcatのインストールは終わるだろ。
813nobodyさん:2006/05/24(水) 06:07:50 ID:???
さすが末端プログラマは自分が動作させることしか考えてないな。
運用コストがどれだけ違うと思ってるんだ。
今までショボイHPしか持っていなかった顧客が運用するのに
Javaの敷居がどれだけ高いと思ってるんだ。
814nobodyさん:2006/05/24(水) 06:53:13 ID:???
まああれだ。>>812は手段が目的になっているいい例だ。
815nobodyさん:2006/05/24(水) 10:45:35 ID:???
>>813
なんで条件あとづけしてんの?
816nobodyさん:2006/05/24(水) 10:51:34 ID:???
批判という手段が目的になってるからさ。
817nobodyさん:2006/05/24(水) 11:31:55 ID:???
はじめにSJISで取得して、状況に応じてUTF-8にしたいのですができません。
setCharacterEncodingは一度しか指定できないものなのでしょうか?

818nobodyさん:2006/05/24(水) 11:42:12 ID:???
javadoc位読んでくださーい
答えが書いてありますから
819nobodyさん:2006/05/24(水) 11:56:03 ID:???
書いてないですが??
820nobodyさん:2006/05/24(水) 11:58:00 ID:???
>>815
その発想が末端プログラマ。
技術の選定に運用コスト度外視などあり得ない。
821nobodyさん:2006/05/24(水) 11:59:33 ID:???
>>819 どこみてんだよ
822nobodyさん:2006/05/24(水) 12:08:25 ID:???
>820
>動作環境までさくっとやりたいならPHP。
に対してのレスでなに語りだしてんだ。狂犬かおまえはw
そもそも仕事で使う話だったか?運用コストの評価基準もケース次第だろう?
823nobodyさん:2006/05/24(水) 12:24:04 ID:???
質問する場所を間違えました。すいませんでした。
824nobodyさん:2006/05/24(水) 12:32:59 ID:???
どっちかつーと質問の方法がなって無いと思うがな
まあイッてらっしゃい
825nobodyさん:2006/05/24(水) 12:37:30 ID:???
>>822

仕事の話じゃないの?
素人の趣味の話なら好きなの使えばいいじゃん。

・・・

趣味でサーバサイドJavaも酔狂だと思うけどね。
自分のPC上で動かすだけならWebアプリという時点でばかげているし、
ネット上に公開するならそれこそ、運用コストがバカにならん。
Servletコンテナは事実上、自宅鯖しか選択肢が無い。

趣味でイントラでWebアプリとか言うなよw
826nobodyさん:2006/05/24(水) 14:35:47 ID:???
視野の狭い人だなぁ
827nobodyさん:2006/05/24(水) 14:39:30 ID:???
PHPが使われてるシステムってJavaより多いでしょ
828nobodyさん:2006/05/25(木) 00:06:35 ID:???
>>827
「システム」は多くなさげだ。
829nobodyさん:2006/05/25(木) 03:16:01 ID:QeGeWT1o
>>809
PHPより、Javaでプログラム書く方が動作が重くならないか?
変数1つ参照するのにset/getメソッドをワザワザ使ってアクセスしたり、
多段階の継承をしたら、どう考えたって処理が増えて重くなると思うが。
830nobodyさん:2006/05/25(木) 03:40:42 ID:???
>>829
どう考えても処理が増えて重くなる多段階の継承しか考えられないという、己の限界の吐露ですか?
831nobodyさん:2006/05/25(木) 06:31:37 ID:???
getter/setterくらいで遅くなると気にするのなら
Cとかアセンブラ使った方がいいと思うが
832nobodyさん:2006/05/25(木) 07:05:08 ID:???
継承やメソッド呼び出しのオーバーヘッドと
スクリプト言語であるPHPの実行速度を比べる方がどうかしている。
833nobodyさん:2006/05/25(木) 21:32:09 ID:???
お前らオブジェクトのメモリ上の使用バイト数を見ないでそんな事いってるんだろう。

PHPやCが文字列を生成するときのバイト数は
ほぼそのまま文字のバイト数を使用する。

一方、オブジェクト指向であるJavaは、
メソッドや変数をてんこ盛り含んだStringオブジェクトを生成している。

つまらない仕事をするために呼び出すオブジェクトが
他の言語に比べてメモリ馬鹿食いだし、newのコストも大きいのは明らか。

結局そういう言語仕様に原因のあるコストを、
ユーザープログラムの方で考慮しなくてはならなくなる。
便利なんだか不便なんだか。
834nobodyさん:2006/05/25(木) 22:23:59 ID:???
で?スクリプト言語であるPHPの実行の方が速いと言いたいの?
ネット証券のオンライントレードシステムのような、
大量のトランザクションの同時処理・高レスポンスが要求されるシステムをPHPで作ってみてから言えや。
835nobodyさん:2006/05/25(木) 22:37:08 ID:???
PHPの方が速いよ
836nobodyさん:2006/05/25(木) 23:45:25 ID:???
>>833
PHPの言語やらライブラリの前ぶれのない仕様変更にふりまわされるコストの方が高い。
837nobodyさん:2006/05/25(木) 23:46:05 ID:???
>>835
それにしちゃ、応答性能や多量のトランザクションの並列処理が要求されるシステムで使われないよね。
証券やチケットの販売サイト等は大抵、Javaか.NETだ。
838nobodyさん:2006/05/25(木) 23:46:57 ID:???
PHPのバージョン間の互換性のなさはJava以上に苦労させられるよな・・・
839nobodyさん:2006/05/26(金) 00:12:46 ID:???
>>833
ではJavaのStringオブジェクトの
メモリ上の使用バイト数はどれくらいなのでしょうか。
具体的に何バイトか教えて頂けないでしょうか。
もちろん「n文字の場合はmバイト」という形になるかと思います。

また後学のためにも、Javaのオブジェクトのメモリ使用量を
調べるor計測する方法もポインタだけで良いので教えて頂けると助かります。

ちなみに私は、オブジェクトの占有メモリにメソッドは関係ない
と認識していたのですが、こちらも参考になる資料などありましたら
教えて頂けないでしょうか。

なんだか教えてクンで申し訳ないのですが、よろしくお願いします。
840nobodyさん:2006/05/26(金) 04:57:09 ID:9JidkkLu
Tomcat5とActivePerlの連携をWindows2000で試しています。

web.xmlの設定を行って、WEB-INF/cgi配下に設置したcgiを動かす事には成功したのですが、
同じディレクトリに配置した非cgi(txt,html,画像ファイル)にアクセスできません。

ログを見るとrunCGI (stderr)が非cgiに対して出ていて、そりゃCGIとして解釈しちゃダメだろ、とは
思うのですが、この問題を打開して同一ディレクトリからCGI・非CGIを込みでアクセスさせる設定とか
ありますか?

server.xmlでcontextを同じところに割り振ってみたのですが、そうすると当然こちら優先で
肝心のPerlが解釈されなくなる状態。うーん。
841nobodyさん:2006/05/26(金) 05:12:36 ID:???
WEB-INF配下は普通見れないようにするんじゃないか?
842nobodyさん:2006/05/26(金) 06:29:29 ID:???
WEB-INF下って見れるようにできたっけ・・・
843nobodyさん:2006/05/26(金) 06:29:18 ID:???
見れないよ。
それ以前にCGIはApacheでやった方がいいよ。
844nobodyさん:2006/05/26(金) 06:58:32 ID:???
WEB-INF配下はクライアントから直接アクセスできない
845nobodyさん:2006/05/26(金) 09:48:59 ID:???
>>840
静的ドキュメントはWEB-INFの下に置く必要がない。
WEB-INFと同じ階層に置くか、Apacheと連携してるなら
ApacheのDocumentRootに置くべし。
846nobodyさん:2006/05/26(金) 09:50:39 ID:???
てか、そもそもcgiをWEB-INFの下に置くのもおかしいな。
やっぱApacheとTomcat連携させてApache側でCGI処理させるべし。
847nobodyさん:2006/05/26(金) 13:31:55 ID:???
>>841 - >>846
レスありがとうございます。

確かにWEB-INF配下は通常サーブレット等の置き場所なので、アクセスできないのはTomcatから見れば
当然でした。web.xmlではCGI関連がこの設定でデフォルトコメントアウトされている・・・

その後いじってみて、 param-valueにWEB-INF/..とかなり想定外の書き方をすればルートから見て
CGIを動作させることは可能。ここでurl-patternの中に*.cgiで拡張子指定ができれば、振り分けが
できそうなのですが。現状認識に失敗しています。

もちろんワイルドカード一個で指定すればPerlスクリプトは動作するのですが、これはあらゆるファイルが
マップされて肝心のJSPが動作しなくなる。
実用外ということで、IISかApacheでの構築になりますね・・・ちょっとCGI連携には期待してたんですけど。
848nobodyさん:2006/05/26(金) 13:40:12 ID:???
連投失礼します。

さっきのurl-patternの中に*.cgi設定ですが、書き方をミスってて正確に書き直したところ、
打開に成功しました。現在ルート上からCGIとJSPが同時にアクセスできる状態です。
サブディレクトリからもCGI呼び出しを行うことが出来ました。

あとは*.plや*.pmに同時にマッピングできるかどうか。
とりあえず実験終了ということで。回答してくださった方、ありがとうございました。

849nobodyさん:2006/05/26(金) 14:21:30 ID:???
いや、呼べたとしてもApacheでやった方がいいよ。マジで。
850nobodyさん:2006/05/26(金) 14:38:20 ID:???
やったほうがいいとかそういう議論の前に、持ち込む意味はあるのかと問いたい。
851nobodyさん:2006/05/26(金) 21:50:11 ID:???
ま、実験なんだから好きにしろとしか。

もちろん俺はやらないが。
852nobodyさん:2006/05/26(金) 22:01:45 ID:???
大量のトランザクションの同時処理・高レスポンスが要求されるシステムをPHPはおろかperlでがんばってる所も有るね。
ヒント:ミクシ
853840:2006/05/26(金) 22:46:14 ID:???
>>851
単にMTとかがTomcatだけで動いたら面白いじゃん、ってことですよw
なんらかの不具合が確認できたら、それはそれで今後のNGを説明する根拠になりますし。
後はバージョンアップのバグフィックス報告を楽しむネタだけでも。
854nobodyさん:2006/05/27(土) 00:55:05 ID:???
>>852
Mixiと、証券やチケット販売サイトの大量のトランザクションの同時処理なんて
比較にならんと思うが?
855nobodyさん:2006/05/27(土) 01:05:39 ID:???
>>852
ヒント:PHPよりはPerlの方が優れている
856nobodyさん:2006/05/27(土) 09:07:40 ID:???
一番裁けるのは.net
857nobodyさん:2006/05/27(土) 14:26:48 ID:???
むしろ分散もStarfire導入も可能なjavaのほうが捌ける。

トム猫に依存するとアパッチ3に成った時に困ることに成ると思うなあ。
まあPHPのほうがマイナーアップデートレベルでも困ることのほうが多くて、MTとか大変だけどな。
858nobodyさん:2006/05/27(土) 15:17:11 ID:???
>852
一応動いている程度のサービスレベルのやつを例として上げるのはどうかとw
859nobodyさん:2006/05/28(日) 01:15:49 ID:???
ミクシって日本最大のSNSじゃなかったっけ?
SNSなんてちっぽけと言われればそれまでだが。実際ミクしやってる会社もベンチャで零細だしな。
860nobodyさん:2006/05/28(日) 03:42:16 ID:???
mixiみたいに数100万人も会員がいるSNSは、一応動いてるだけでも技術力いるぞ。
861nobodyさん:2006/05/28(日) 03:52:50 ID:???
> トム猫に依存するとアパッチ3に成った時に困ることに成ると思うなあ。

apache3 なんて出るの?
862nobodyさん:2006/05/28(日) 07:22:30 ID:???
おまえら

スレタイ見ろ
863nobodyさん:2006/05/28(日) 11:24:33 ID:???
Java帝国の存亡の危機なんだよ。
ただいまperl廚が侵略中。
864nobodyさん:2006/05/28(日) 17:28:58 ID:???
mixiはJavaではまともに動かないと主輪wれ
865nobodyさん:2006/05/28(日) 18:02:14 ID:???
それもない。
mixiのボトルネックはデータベースだから。
866nobodyさん:2006/05/28(日) 21:16:47 ID:oiWgbc2/
すみません。久々にJavaをやってみようと思ってJSPの本を1冊買ってきて、そのまま環境設定しました。
JDK1.5.0_04 Tomcat5.5.9 OS:Windows2000

本に書いてあるとおり設定したんですが、JDKをインストールしてパスを設定、TOMCATをインストールしてjsp-apiとservlet-apiにクラスパスを設定。

以上のあと、samples1というフォルダをwebapps内につくりそこにSample.jspをつくるとうまく表示されました。
その後、samples1フォルダ内にWEB-INFフォルダをつくり、さらにその中にclassesフォルダをつくりサーブレットを作りました。
コンパイルするとSample.classができました。しかし、web.xmlを作るとSample.jspも表示されませんし、Sampleサーブレットもだめです。
web.xmlを削除するとSample.jspは表示されますが、http://localhost:8080/samples1/servlet/Sampleとしてもサーブレットは表示されません

どうしたらいいでしょう?次に、web.xmlを貼ります。
867nobodyさん:2006/05/28(日) 21:17:59 ID:oiWgbc2/
web.xmlは以下のとおりです。ちなみにencodingの部分は「ISO-8859-1」でもやってみました。

<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>mySample</servlet-name>
<servlet-class>Sample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mySample</servlet-name>
<uri-pattern>/Hello</uri-pattern>
</servlet-mapping>
</web-app>

よろしくお願いします。
868nobodyさん:2006/05/28(日) 22:33:21 ID:???
ミクシのデータベースってマイエスクーエルだっけか。オラクル買えない貧乏企業だからなあ。
ラコテンはオラクル使ってるのに。
869nobodyさん:2006/05/28(日) 22:41:58 ID:???
>>868
楽天でもかなりの部分がPHP/MySQLになってる。
現在の開発体制だとJava/Oracle(またはImfomix)とPHP/MySQLが半々ぐらい。
870nobodyさん:2006/05/28(日) 22:47:15 ID:???
>>866
・Servletはデフォルトパッケージで作るな
・URLパターンを"/Hello"に設定したらリクエストURLは"http://localhost:8080/samples1/Hello"だと思うのだが、
 なぜ"http://localhost:8080/samples1/servlet/Sample"なのか?InvokerServletは使うな。
871866:2006/05/28(日) 23:27:30 ID:???
>>870
ありがとうございます。
>Servletはデフォルトパッケージで作るな
の意味がちょっと良くわからないのですが・・

ちなみに、http://localhost:8080/samples1/Helloでももちろんだめで、その後invokerのコメントをはずして試したのですが
だめでした。一応、サーブレットのサンプルコードも貼っておきますので、よろしくお願いします。JSPはweb.xmlの存在関係なく
無事動くようになりました。次レスが、サーブレットのソースです。
872866:2006/05/28(日) 23:28:05 ID:???
import javax.servlet.http.*;
import javax.servlet.*;

import java.io.IOException;
import java.io.PrintWriter;

public class Sample extends HttpServlet {
public void doGet( HttpServletRequest req,
HttpServletResponse res )
throws ServletException, IOException {

res.setContentType( "text/html; charset=Shift_JIS" );

PrintWriter out = res.getWriter();

out.println( "<html>" );
out.println( "<head>" );
out.println( "<title>Sample</title>" );
out.println( "</head>" );
out.println( "<body>" );
out.println( "HelloWorld!" );
out.println( "</body>" );
out.println( "</html>" );
}
}

よろしくお願いします。
873nobodyさん:2006/05/28(日) 23:38:47 ID:???
>>871
>>Servletはデフォルトパッケージで作るな
>の意味がちょっと良くわからないのですが・・

Servlet以前に、入門書で基本文法から勉強し直し。
874nobodyさん:2006/05/28(日) 23:45:49 ID:???
>>868
開始時はこんなにユーザー増えるとは思わなかったんだろう。
それに最初は赤字企業だったしね。
あとオラクルは設定やらメンテやらにそれなりの人間が必要。
875866:2006/05/28(日) 23:54:27 ID:???
デフォルトパッケージの意味はわかったけど、本にはパッケージ内に作れなんてかいてないよ。

サーブレットってそんなにめんどくさかったっけ??昔やってたころには
ほいほい開発できた印象があるんだが・・
876866:2006/05/28(日) 23:55:28 ID:???
ああ、肝心な結果を書くのを忘れてしまった。

結局パッケージに入れてもだめでした。
877nobodyさん:2006/05/29(月) 00:04:08 ID:???
>>875
デフォルトパッケージで型を作成するなんてどう考えても非常識だからな。
「だめでした」ってどうダメなんだよ?
web.xmlはちゃんと修正したか?
878866:2006/05/29(月) 00:17:46 ID:???
>>877
web.xmlもちゃんと修正しましたよ。package hogehoge;で宣言したとすると
web.xmlは<servlet-class>hogehoge/Sample3</servlet-class>
としました。

エラーは相変わらずの「HTTPステータス 404 - /chapter03-3/Sample3 〜〜 The requested resource (/chapter03-3/Sample3) is not available.」
がでます。クラスファイルを変えましたが、アドレスバーには、ちゃんとhttp://localhost:8080/chapter03-3/Sample3としています
879nobodyさん:2006/05/29(月) 00:26:34 ID:???
>web.xmlは<servlet-class>hogehoge/Sample3</servlet-class>

いったい何を根拠にそういう設定をしたのか?

<servlet-class>hogehoge.Sample3</servlet-class>

だろうが。
完全限定クラス名って知ってるか?
880866:2006/05/29(月) 00:28:07 ID:???
まちがえました。
<servlet-class>hogehoge.Sample3</servlet-class>です。

今日は、寝ますので、ありがとうございました。
881nobodyさん:2006/05/29(月) 00:30:27 ID:???
web.xmlを修正してもアプリをリロード・再デプロイ・Tomcat再起動してなかったりしてw
882866:2006/05/29(月) 00:33:44 ID:???
どうもありがとうございました。hogehoge/Sample3は、Unixばっかやってるもんで。。
えへへ。

ちなみに、http://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT55_MnFrm.htmに
あるように、web.xmlを修正したらTomcatの再起動が必要と書いてありました。
それをぜんぜんしてませんでした。

ということで、結果的にできました。>>879さん、最後までお付き合いいただきありがとうございました。
文句たらたらながらも貴方がいなくてはできませんでした。サーブレットがパッケージ内だなんてTOMCAT4.0のときには
そんなことなかったんですが。。

とにかくできてうれしいです。ありがとうございました。
883866:2006/05/29(月) 00:36:31 ID:???
おお、貴方すごいですね!!>>881
まったくその通りですよ!最初からそういってくれればいいものを。
884866:2006/05/29(月) 00:37:06 ID:???
皆々様ありがとうございました。いっぱいのんでてきもちいいです。
ねまう。
885866:2006/05/29(月) 00:43:14 ID:???
なんだよ・・パッケージ入れなくてもできんじゃん。tomcatのリロードすりゃー。

でもJavaBeansは絶対に入れなくちゃいけないみたいだね。

しかし、本には、TOMCATのリロードなんてかいてないぞ。昔は、invokerにしてたから
web.xmlなんてかかんくて、そのままアドレスバーにうってたんだった。

おやふみ。
886nobodyさん:2006/05/30(火) 01:49:50 ID:???
たしかに一昔前のServlet/JSPの本は、invokerのサンプルだらけだったし
デフォルトパッケージでクラス作ってる例も沢山あったな
887nobodyさん:2006/05/30(火) 02:40:21 ID:???
>>885
NetBeans使っとけ。
888nobodyさん:2006/06/06(火) 23:48:05 ID:I3C9/ZVj
どなたか経験ある方いらしたら教えてください。
localhsotでWebアプリをたて、ファイルアップロードを行う画面において
エンコードタイプ Multipart-dataを指定した、ファイルを送信しようとした際に
ファイルデータがlocalhost上のServletまでとどかないのです。IE5.5でWEbアプリは
WASD(5.1)です。ちなみに、他の端末から、そのlocalhost上へのファイルアップロードは
かならずポストリクエストをとばすのですが、自身(localhost上でブラウザからキックした
場合)に、ランダムにポストが飛んだり、飛ばなかったりするのです。全くもって理解不能な動きをします。
ファイヤーフォール等の線は試したのですが、だめでした。情報不足とは思いますが、どなたか
参考意見ありましたらお願いします。
889nobodyさん:2006/06/07(水) 00:02:58 ID:???
ここまで自己流表現・情報不足・誤字脱字(と思われる)が多い人のやることだったら
そりゃあ、うまくいかないでしょ、と思うよ・・・・
890nobodyさん:2006/06/07(水) 00:04:39 ID:???
>>889
うむ。そういう経験ならある。
891nobodyさん:2006/06/07(水) 00:09:17 ID:???
wlスレなら有るんだけどねえ。

WebLogic に詳しい人いません。
http://pc8.2ch.net/test/read.cgi/php/1029688173/l50
892nobodyさん:2006/06/09(金) 17:09:04 ID:I2GOtwYs
いやーRedHatのJBoss買収完了しましたね
これからはJBossでEJB3の時代ですな
893nobodyさん:2006/06/10(土) 08:35:56 ID:???
どうかなあ?
jspなところがいまいち。
894nobodyさん:2006/06/10(土) 18:41:39 ID:???
(゚Д゚)ハァ?
895nobodyさん:2006/06/11(日) 09:10:49 ID:???
jsp以外の実装無いし。java=jsp
896nobodyさん:2006/06/11(日) 10:17:56 ID:???
乱立しすぎて困ってるのが現状ですが何か?
897nobodyさん:2006/06/11(日) 17:17:13 ID:???
>>895
意味がわからん。
JSPがいやならVelocityでもFaceletでもMayaaでも使えばよかろう。
898nobodyさん:2006/06/12(月) 21:43:25 ID:???
どれもxmlで違いは無いね。
非xmlのってないの? xml生成面倒だ。
899nobodyさん:2006/06/12(月) 21:54:10 ID:???
VelocityがXMLか?
批判するならちっとは勉強しろや
900nobodyさん:2006/06/13(火) 13:17:11 ID:???
.vmはHTMLだからむしろjspと大差ない。
901nobodyさん:2006/06/13(火) 16:37:09 ID:???
こいつ、なにいってんの?
902nobodyさん:2006/06/13(火) 17:51:11 ID:???
Velocityは汎用的なテンプレートエンジンだから、HTMLに限らずメールであろうが
CSVであろうが、なんでも出力できる。

と、みんなは言いたいわけだね。
903nobodyさん:2006/06/13(火) 18:53:31 ID:???
それに、「HTMLだから」というのが、なにを言いたいのかわからない。
904nobodyさん:2006/06/14(水) 00:56:02 ID:???
そんなに今のViewが嫌なら、クライアント側は全てAjaxで作れ
ついでにC/S構成にしてしまえ
905nobodyさん:2006/06/14(水) 11:25:27 ID:???
ajaxは所詮ジャバスクリプトだ。
906nobodyさん:2006/06/14(水) 16:46:02 ID:???
jspもxmlもhtmlもイヤだとして、何だったら満足いくんだろう。
907nobodyさん:2006/06/14(水) 16:48:35 ID:???
txtとか
908nobodyさん:2006/06/14(水) 23:15:49 ID:???
cvs
909nobodyさん:2006/06/15(木) 16:16:02 ID:gjW+T8+0
HttpServletRequestからgetParameterで
HIDDENの値が取れないのですが、
getParameterでnullになることって
送信側(JSP)の方にそのHIDDENがない場合以外
あるのでしょうか?

JSP側
<INPUT type="hidden" name="key" >

サーブレット側
String val=request.getParameter("key");
if (null == val){
// エラー処理
}
910nobodyさん:2006/06/15(木) 19:40:54 ID:???
>>909
とりあえず、hiddenフィールドにvalueがないが…
サーブレット側ではhidden/text/passwordは区別ないかと。
911marcf:2006/06/16(金) 21:35:25 ID:???
これからは JBoss + JBoss Seams + EJB3 + AJAX 最強。
日本ではクラスタリングとか EJB のトランザクション・セキュリティ機能とか
考えなされすぎ。
JBoss は EJB3 の Bill Burke 、Hibernate の Gavin King もいるし。
JBoss しかないよ。
だいたい Tomcat のコードの6割は JBoss 社員が書いてるわけだし。
EJB3 のスペックリードにも JBoss 絡んでるし。
Seams は Gavin King ってのもいいね。
912nobodyさん:2006/06/16(金) 22:39:48 ID:???
EJB3って、Hibernateと同程度にしか使えないよね。
913nobodyさん:2006/06/17(土) 02:08:56 ID:???
そんな複雑な構成のメンテなんて氏んでも嫌だな。
アパチとジャバのバージョン上がっただけで激しく困ったことに成らないか?
914nobodyさん:2006/06/17(土) 04:52:00 ID:???
Apacheのバージョンあがっても特に問題はなかろう。
JBoss+JBoss Seams +EJB3なんて、JBossサーバー一個入れるだけだし、どこが複雑な構成?
Tomcat+ApacheとJBoss+Apache、サーバー構成に特別な違いがあるとは思えないけど。
915nobodyさん:2006/06/18(日) 00:52:37 ID:???
JSPで外部ファイル呼び出しの際、戻り値を返すにはどうすればいい?
916nobodyさん:2006/06/18(日) 02:06:39 ID:???
JBoss SeamやEJBの構成のメンテってjarファイル置き換えるだけでいいじゃん。
複雑な構成ではないと思われ。

現在のJBossの最新4.0.4.GAにはSeamとEJB3は含まれていないので別途ダウンロードする必要ある。
だけど、JBossONを使えば、Microsoft Updateのような感じでのパッチ当てたり、バージョン管理できる。
なお、この機能は現在使用不可で7月から使用可能になる。
またJBossONは有償のGoldレベル以上のサブスクリプションで使用可能。
JBossONはRedHatユーザには今後RHNに統合される予定。

TomcatのJBossでの位置づけはJMXサービスとなっていて、現在のバージョンでは
5.5がdefault以上の設定に含まれている。Tomcatのバージョンの変更はサービス
置き換えで可能。

たしかに、Tomcat+ApacheとJBoss+Apacheの連携の方法は一緒。
mod_jkやmod_proxy+mod_proxy_ajpの設定でいい。
これらのモジュールの開発もTomcat同様JBoss主導で行われてる。
917nobodyさん:2006/06/18(日) 02:11:05 ID:???
>>912
たしかに、EJB3のPersistenceAPIはHibernateと同様。つまり、PersistenceAPIはJ2SEでも使用可能。
でも、EJB3はBeanのトランザクション管理とかEJBの特徴の機能が使用できるので、その辺が違う。
918nobodyさん:2006/06/18(日) 02:13:23 ID:???
>>915
どうしてJSPでそういう風なことするの?
フレームワーク使ってないの?
MVCモデルのFrameworkのViewでそんなことすること自体よくない。
919nobodyさん:2006/06/18(日) 02:50:48 ID:???
>>917
JTAトランザクションも、今やEJBだけのものではないんだけどね。
事実上、リモート呼び出しができるかどうかの違いしか無いに等しい。
920nobodyさん:2006/06/18(日) 03:55:57 ID:???
そしてリモート呼び出しはほとんど、というより全く使わないので、EJBは骨抜き。
921nobodyさん:2006/06/18(日) 13:43:41 ID:???
>>919
JTAは確かにもともとEJB以外でも使用できるけど、EJB以外で使うなんてばかげてる。
EJBのようなJTAの緊密な連携は持っていないから。
Webアプリケーション内ではトランザクション処理を極めて限定的に利用する必要があり
極力、トランザクション処理はEJBで処理すべき。
複数スレッドにまたがるアプリケーショントランザクションもEJBだと簡単に扱える。
あと、トランザクションをEJB3のアノテーションで設定するとXML構成ファイルの
必要なくなり、コードの簡潔さがSpring等での実装時と比べ違う。
また、JCAも同様。
EJB3でもリモート呼び出しはオーバーヘッドが大きすぎて使えないので
たしかで使用しないことが推奨されている。ただ、JBossでは最適化
されていてそんなにないけどね。
922nobodyさん:2006/06/18(日) 15:07:27 ID:???
>>921
DIコンテナがあればJava SE環境でも当たり前に使えるよ。設定は今のEJB2よりも断然簡単
EJB3はDIコンテナとTopLink・Hibernateを元に構築し直されたものだから、今より便利でないと立場が無いw
923nobodyさん:2006/06/18(日) 15:10:17 ID:???
今は便利と思い込まされていて、EJB4でやっと本当に便利になる悪寒。
924nobodyさん:2006/06/18(日) 15:38:54 ID:???
>>922
Java SEで使えないなんていってないよ。
実際Java SEでもEJBでトランザクション使った開発やってたから。
ただ、EJB2.1だったけど。
ただ、JTA使うんだったらEJB3でやるべきっていいたかった。
EJB3のJPAは設定がHibernateよりずっと簡単にできるのは確か。
Hibernate作者のGavinが自分自身でそういってたし。JBossWorld Vegasで。
また、Gavinは今Seamに力入れてるしね。Seamの全セッションに参加してたし。
925nobodyさん:2006/06/18(日) 18:49:30 ID:???
JPAはEJBから切り離されてるから、EJBのJPAっていうのはちとおかしい
926nobodyさん:2006/06/19(月) 10:49:59 ID:???
いまからEJB3を始めるとしていい情報源ある?
要英語かな?
927nobodyさん:2006/06/19(月) 14:25:39 ID:???
928nobodyさん:2006/06/19(月) 14:44:10 ID:???
>>914
JBoss Seam って JSF 使うみたいだけど、JSFも含んでるの?
929nobodyさん:2006/06/19(月) 19:20:37 ID:???
まだまだejb3はドキュメント少なくて流行りそうにないね。
実績のあるhibernate程度が無難か。
930nobodyさん:2006/06/19(月) 23:44:44 ID:???
HibernateのJPA関係のドキュメントを読むのが手っ取り早い。既にほぼ完成してるし

ttp://www.hibernate.org/hib_docs/entitymanager/reference/en/html/
931nobodyさん:2006/06/20(火) 00:10:37 ID:???
>>926
とりあえず使うなら、NetBeans5.5+GlassFishのチュートリアルがおすすめ。

>>928
JavaEE5対応だからJSFは必須
932nobodyさん:2006/06/21(水) 14:40:26 ID:???
暗黙オブジェクト application に格納できる情報には、件数やサイズ等の上限はありますか?
933nobodyさん:2006/06/21(水) 14:54:01 ID:???
>>932
仕様上は無い。
物理的には、メモリ使用量等で制限は出てくるだろう。
934nobodyさん:2006/06/21(水) 17:25:32 ID:???
PerlやPHPでは書けなかった美しいコードが書けるから
EJB3でコードを書くことにしました。
自分で使ってみて、EJB3は美しいコードを書くことができる、
プログラマをハッピーにする言語だと感じたのです。
935nobodyさん:2006/06/21(水) 17:37:19 ID:???
EJB3が美しいかどうかはともかく、
PerlやPHPに比べたら極上の美しさに見えるだろうね
936nobodyさん:2006/06/21(水) 17:49:28 ID:???
>>934
幸運のペンダントか何かを売るような文ですね
937nobodyさん:2006/06/21(水) 20:02:00 ID:9YsEgGxs
新人研修の最後に、JSP&サーブレット&DBを使った
簡単なWebアプリを作ってもらおうと思うんだけど、
どういったものを作ってもらえばいいかな?

新人の能力:とりあえずJSP・サーブレット・Bean+DBが扱える程度の能力
環境:JDK1.5.0+Tomcat+MySQL
期間:5日程度
938nobodyさん:2006/06/21(水) 21:49:10 ID:8iVlXFcc
Tomcatでバッファオーバフローは発生するのでしょうか?

Pure JavaならExceptionやOutOfMemoryErrorがでるだけだと思うのですが、いかがでしょう。
939nobodyさん:2006/06/21(水) 23:54:44 ID:???
その程度で実践投入されてあちこちで個人情報流出が起きるのか。
新人研修でクラック対策も教えとけ。特にDoS攻撃。
940nobodyさん:2006/06/22(木) 00:29:18 ID:/RVErRBQ
938です。

939は938へのレスなのでしょうか?
質問はバッファオーバフローに関しての質問なので、DoS攻撃は関係ないと思うのですが。

ttp://itslab.csce.kyushu-u.ac.jp/ssr/tatara_report.html

からするとJavaの言語仕様でバッファオーバフローは起きないと思うのですが。
間違っているのでしょか。
941nobodyさん:2006/06/22(木) 00:41:36 ID:???
>>934
それ何てDHH?
942nobodyさん:2006/06/22(木) 02:51:43 ID:???
起きないと思い込むことこそがセキュリティホール。
もしかすると起きるかも知れないとあらかじめ対策を考えておくのが本当のセキュリティ対策。
943938:2006/06/22(木) 03:04:46 ID:/RVErRBQ
>>942

一理ありますね。

どのような対策がありえるでしょうか?
944nobodyさん:2006/06/22(木) 07:23:20 ID:???
>>937 スケジュール帳かな?
日付を扱うし、変数の型も学びやすいから
945nobodyさん:2006/06/22(木) 10:13:49 ID:???
無理だろう、ロジック自体複雑すぎる
TODOリストあたりに押さえた方が
946nobodyさん:2006/06/22(木) 19:05:40 ID:N4GComYy
今日、初めてJSFに触れた者です。よろしくお願いします。
質問させて下さい。

http://muimi.com/j/jsf/validate/
このサイトを用い学習を進めているのですが、
カスタムバリデータで躓いてしまいました。

例の通り、正規表現チェックを行うカスタムタグを作成しましたが、
submit するとヌルポが発生します。

RegExpValidator#validate の if(!text.matches(pattern)) にて発生します。
直接の原因はフィールド pattern が null であることです。

RegExpValidatorTag にて #setPatternを呼び出しているにも関わらず、
null であるため、デバッグしてみたところ、
画面表示時(#setPattern)のRegExpValidatorインスタンスと、#validate 実行時のそれは、
違うインスタンスのようでした。(this.hashCode()にて確認)
フィールド pattern を static にすれば、動くことは動きます。(当たり前ですね…)

根本原因が掴めません。どなたかご教授くださいませ。

<環境>
OS : WinXP SP1
JDK : 1.4
Server : tomcat 5.5.17 (Compatability Package 適応)
JSF : MyFaces_Core/Tomahawk 1.1.3
ブラウザ:IE6 SP1
947nobodyさん:2006/06/22(木) 21:36:01 ID:???
jsp-Servlet-BeanによるMVCモデルがイマイチ理解できません。
たとえば、DBのテーブル情報を表示させようとした場合、
次のような流れでいいのでしょうか?

(1)jspからサーブレットを呼び出す。
(2)サーブレット内で、jspから渡されたパラメータにより、
特定のテーブル情報を取得するか、全テーブル情報を取得するか判断。
(3)2での判断を元に、サーブレット内でDB情報を取得するクラスを呼び出す。
(4)サーブレット内で、DB情報をBeanに格納するメソッドを呼ぶ。
(5)サーブレットからjspにBeanを返す。
(6)jspでBeanのGetterメソッドを呼び出して情報を表示する。

具体的によくわかっていないのが、
○DBへの接続は何が受け持つのか?
・サーブレット ・Bean ・専用クラス

○貰ったDB情報をどのようにBeanに格納するのか?
・サーブレットでDB情報を解析してBeanのSetterにいれていく。
・貰ったDB情報(ResultSet)をBeanの処理メソッドに渡してBean内でSet。
・Bean内の処理メソッドで、DB情報を受け取り、Set。
・DBに接続するメソッドが、結果をBeanに格納してBeanをサーブレットに返す。

今までサーブレット無しでjsp+Bean+その他のクラスの形式での
プロジェクトばかりだったために、サーブレットになにをさせるのかが
よくわからんとです。
948nobodyさん:2006/06/22(木) 22:12:14 ID:???
まず、WebでのMVCモデルという考えは、結局廃れてしまっているから捨てろ。
DB接続用クラスからの結果をBeanに格納してサーブレットからJSPまで受け渡すようにする。
BeanのGetterメソッドは、明示的に呼び出すのではなくJSP式言語を使う。
949nobodyさん:2006/06/22(木) 22:59:20 ID:???
>(1)jspからサーブレットを呼び出す。
この時点で既に間違い
950nobodyさん:2006/06/22(木) 23:02:07 ID:???
>>948
廃れてるって・・・
ViewやControllerはビジネスロジックとは分けるだろ?
それとも、カスタムタグやスクリプトレットでDBアクセスコード書くクチか?
951nobodyさん:2006/06/23(金) 00:41:50 ID:???
MVC2って言いたいとか
952nobodyさん:2006/06/23(金) 00:47:49 ID:???
>>951
MVC2って何?
「MVC」と「JSP Model2」を混同した誤用だと思ってたけど。
953nobodyさん:2006/06/23(金) 02:16:01 ID:???
>>950
結局、提唱されたような3角形のMVCモデルでは、うまくシステムが組めていない。
ViewとModelが直接やりとりしないレイヤーパターンが主流。
サーブレットからJSPに渡すのは、Modelではなく、ロジックをもたないデータをラッピングしただけのオブジェクト。
954nobodyさん:2006/06/23(金) 07:45:52 ID:???
>>953
ああ、そういうことが言いたかったのね。
廃れているっていうより、
J2EE(JavaEE)向けに変化してきてるっていうか。
Modelがさらにドメインモデルとビジネスロジックに分かれてるっていうか。
そういうことね。
955nobodyさん:2006/06/23(金) 08:37:56 ID:???
>>952
JSP Model 2なんてないだろ。キミの誤解。
MVC Model 2
956nobodyさん:2006/06/23(金) 10:46:12 ID:???
957nobodyさん:2006/06/23(金) 23:31:32 ID:???
MVC Model 2 = JSP Model 2 と読めるんだが、どっか違うの?
958nobodyさん:2006/06/23(金) 23:48:02 ID:???
「JSP Mlodel1」に対して「JSP Model2」が、いわゆる「MVC」と呼ばれているアーキテクチャ。

「MVC Model2」って言葉は本来無かった。「MVC Model2」という言葉を明確に定義しているものはない。

「MVC」と「JSP Model2」という元々は別の言葉だったものが
ごちゃまぜになって誤用されたのが、いつのまにか定着してしまった言葉。
959nobodyさん:2006/06/24(土) 00:05:04 ID:???
ちなみに、「JSP Mlodel1」ってのは、基本的にJSPのみの利用。
補助的にJavaBeansを利用する。
PHPとかASPのような、スクリプト言語っぽい使い方。
960nobodyさん:2006/06/24(土) 19:35:41 ID:???
serveltからredirectでJSPに移動するときにブラウザのアドレスが
http://localhost:8080/JAVA/servlet/Touroku?code=76&title=7&money=7&maker=7
みたいにおかしくなるんだけどどうすればいい?
961":2006/06/24(土) 20:06:45 ID:???
何が正しくて何が間違ってると思ってるのが言わないと。
962nobodyさん:2006/06/24(土) 20:47:45 ID:???
>>960
どこがおかしいの?
さっぱりわからん。
963nobodyさん:2006/06/24(土) 21:30:59 ID:???
>>961
>>962
スマソ、本当のアドレスは
http://localhost:8080/JAVA/Touroku.jsp
なんだけどredirectで戻るとservletフォルダの中に入ってる?ことになってるんだけどこれは仕様?
964nobodyさん:2006/06/24(土) 22:06:39 ID:???
JSP宣言 <%! %> のスコープについて教えてください。

 「<%! %>内部で定義された変数やメソッドのスコープは、
  そのJSP(のインスタンス)に限定される」

というのが私の現在の理解ですが、

1このタグ内部で定義されたメソッドや変数は定義元JSPのクラスの
 メソッドや変数と考えてよいのでしょうか?
 たとえば hoge.jsp内で定義されたメソッドは hogeclassのメソッドですか?

2 web上の記述例では、時々メソッドをpublicにしているものがあります。
  privateにしている例(こちらが多い)と比べて、どのような違いがありますか?
 (publicとした場合、定義元のpageをインクルードすれは他のJSPでも
  使用できるのでしょうか?)
965nobodyさん:2006/06/24(土) 22:11:49 ID:???
>>963
本当にredirectになってるの?
redirectかforwardか確認できるツール使ってないの?
966963:2006/06/24(土) 22:22:24 ID:???
>>965
それってどこにある?
967nobodyさん:2006/06/24(土) 22:35:38 ID:???
>>966
Eclipse使ってるんなら、どっかにプラグインがあるんじゃない?
NetBeansには標準でHTTPモニターついてるからそれで見れる。
968nobodyさん:2006/06/27(火) 23:10:43 ID:???
>>964
1 んだんだ。そうだったと思うべさ。
2 クラス名がわかんねえんでねえか?実行時コンパイルだかんな。

てか、そっただことをうだうだ気にするなら、実行してソース見るべさ。
969964:2006/06/28(水) 21:36:16 ID:???
>>968

>2 クラス名がわかんねえんでねえか?
 hoge.jsp → hoge.class として呼び出せたらうれしいなあと思いつつ
とりあえずやってみます。ありがとうございました。
970nobodyさん:2006/06/28(水) 21:53:16 ID:9hcWH2vs
DBから情報を取得する処理を作るときは
1.ServletからDBにアクセスするクラスを呼び出す
2.ServletにResultSetを返す
3.ServletからBeanを呼び出し、ResultSetのデータを格納
4.ServletからJspにBeanを返す

で問題ナッシング?
971nobodyさん:2006/06/28(水) 22:06:52 ID:???
>>970
2.で既に問題ありあり
972970:2006/06/28(水) 22:12:12 ID:???
ぬぅ。
ならば
1.ServletからDBにアクセスするクラスを呼び出す
2.DBにアクセスするクラスからBeanを呼び出しResultSetのデータを格納
3.DBにアクセスするクラスからServletにBeanを返す
4.ServletからJspにBeanを返す

でどうだっ
973nobodyさん:2006/06/28(水) 22:16:41 ID:???
>>972
おk。よくできまつた。

JDBC API関連の型を直接ServletやBeanで扱うのは良くない。
JDBC APIはDBにアクセスするクラス内で閉じておくべき。
974972:2006/06/28(水) 22:46:26 ID:???
>>971,973
ありがd
おかげで自信がもてました。
975nobodyさん:2006/06/29(木) 01:38:39 ID:???
>>974
で、ResultSetからBean詰め込みとか退屈な作業は、DBUtils使うのがいい。
いまからなら、EJB3でかなり楽ができる。
976nobodyさん:2006/06/29(木) 21:22:47 ID:o5ZttpeS
マニアックな制御しないならO/R真っ裸が楽よね。
977nobodyさん:2006/07/01(土) 16:28:46 ID:???
HTMLのcharsetはShift-JIS、JSPはWindows-31Jを指定しているページで
XMLHTTPを利用しテキストデータを取得したいのですが・・・

取得するJSPのpage contentTypeがSJISだと「梶vなどの文字が化けたので
次はcharset=Windows-31Jにすると今度はresponseText取得時にエラーが表示されます。
皆さんはXMLHTTPを利用する時の文字化けをどうしていますか〜?
978nobodyさん:2006/07/01(土) 20:29:54 ID:???
XMLHTTPはWindows-31Jという名前をサポートしてない
csWindows31Jで動いた記憶がある
979977:2006/07/01(土) 22:45:38 ID:???
>>978
JSPのcharsetをcsWindows31Jに変更したら正常な文字で取得できました。
ありがとうございました〜

csWindows31Jで通るとは!
Windows-31JがダメだからcsWindows31Jもダメだと勝手に思い込んでました・・
980nobodyさん:2006/07/02(日) 07:37:24 ID:???
Javaの文字コード指定ぐらい覚えようぜ(w

ORマッパのXML書くのが面倒。
自動化して手抜きしたくなるのがPGじゃね?
981nobodyさん:2006/07/02(日) 21:00:38 ID:???
> 980
なにがいいたいのかわからん。
ORマッパのXML書くのが面倒っていうやつはプログラマじゃない、プログラマなら自動化しろ、ということか?
それに、もうORマッパでXML書く必要のあるものの方が少なくなっていくわけだが。
982nobodyさん:2006/07/03(月) 05:12:57 ID:???
まだまだXMLは不滅ですよ。
JavaとXMLは密接で相互依存してるし。
983nobodyさん:2006/07/03(月) 06:00:47 ID:???
ORマッピングに関してはほぼ滅亡するけどな。
984nobodyさん:2006/07/03(月) 06:11:58 ID:???
web.xmlはしばらく残りそうだな
985nobodyさん:2006/07/03(月) 06:49:54 ID:???
なんでServlet2.5でURIのマッピングのためのアノテーションが導入されなかったのかな?
986nobodyさん:2006/07/03(月) 06:52:33 ID:???
JSFのコンフィグファイルも。
987nobodyさん:2006/07/03(月) 10:33:56 ID:???
ページ遷移は難しいにしても、ManagedBeanはアノテーションでいけるよな。
988nobodyさん:2006/07/05(水) 00:04:01 ID:???
hoge.jspを配置してブラウザ呼び出してみたが
hoge.javaがサイズ0のまま一向にコンパイルされなかった。

tomcat再起動して仕切りなおしたら即座にコンパイルされ、普通に
動作した。

こういうことってあるものですか?
989nobodyさん:2006/07/05(水) 00:10:29 ID:???
知るか
990nobodyさん:2006/07/06(木) 00:13:15 ID:???
もうアフォかと。
実運用で毎回再コンパイルしてたら遅くて使い物に成らんよ。
991nobodyさん:2006/07/06(木) 10:25:34 ID:???
いやどう考えてもお前がアホだろう
開発時にわざわざ手動でやる馬鹿はどこに居る。

>988
設定によるニダ
992988:2006/07/06(木) 20:34:58 ID:???
>>991
 コメントありがとうございます。
あれから何回か同様の操作を行いましたが、現象が再現しません。
が、念のためサーバーの設定を確認したいと思います。
993nobodyさん:2006/07/06(木) 21:38:08 ID:???
Makefileぐらい書けよ。糞チョン。
994nobodyさん:2006/07/06(木) 22:22:26 ID:???
> 993
なんの話をしてるのだ?
995nobodyさん:2006/07/06(木) 23:24:34 ID:???
JavaでMakefileかよw。糞チョンw
996nobodyさん:2006/07/08(土) 11:22:48 ID:???
JSFの話なんだけど、JSPでif文使う方法ってある?
ただ、スクリプトレットじゃなくてタグで・・・。

<h:column rendered="#{真偽}"> ってのをさっき見つけたけどスマートじゃないよなぁ。

教えてえろいひと。
997nobodyさん:2006/07/08(土) 21:34:29 ID:???
素直にスクリプトレットに書けと言ってみるテスト
998nobodyさん:2006/07/08(土) 22:44:07 ID:???
<c:if>じゃだめなのか?
999nobodyさん:2006/07/09(日) 00:47:06 ID:???
>>998
JSF1.1までの場合、<c:if>の内側にJSFのタグは書けないという制約がある。

>>996
><h:column rendered="#{真偽}"> ってのをさっき見つけたけどスマートじゃないよなぁ。
いや、それが一番スマートだと思うし、そのための機能だと思うけど・・・
1000nobodyさん:2006/07/09(日) 02:51:14 ID:86lK/U5p
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。