トップページ⇒php
982コメント347KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/05/14 11:32ID:RETM9b3/

前スレ
■■ Servlet/JSP(EJB含む) 質問スレ ■■
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
0140nobodyさん03/06/06 23:34ID:???
>>138
最悪だな
お前何を勉強してきたんだ・・・

よくある入門書なんかの「第一章・はじめてのJSP」みたいな
かなりはじめに書いてあるようなことなのに
0141nobodyさん03/06/08 02:36ID:2oHTynA1
>> 138
それ以前に、<option value="ji">でいいのか?
HTML自体まずいんじゃない?何するつもりか知らないけど。

<option value="ji"><%=j%>
0142nobodyさん03/06/08 11:57ID:???
↑お前もばかか?ちゃんとタグは閉じろよ(プ
0143nobodyさん03/06/08 12:53ID:???
↑
つまんねーネタに喜んで飛びつくなよ低脳
0144nobodyさん03/06/08 14:25ID:???
optionって閉じる必要があったっけ?
0145nobodyさん03/06/08 14:41ID:???
>>144
省略は可能だね。
なんでもちゃんと閉じたほうがトラブルは少ないと思うけど。
0146nobodyさん03/06/08 14:52ID:???
「HTML 4.0 は〜」とか「SGML が〜」とか言い出す サブ い奴がまた出そうだな (藁
0147nobodyさん03/06/08 18:36ID:OXw+LV+Y
ちなみに、CHTMLだと</OPTION>は記述できないようだ。
0148nobodyさん03/06/08 18:37ID:hQzg5/td
J2EEとどう違うの?
0149nobodyさん03/06/08 19:36ID:???
>>148
Servlet,JSPはJ2EEの一部。
0150nobodyさん03/06/08 21:55ID:???
>>149
thx!
015114103/06/08 23:49ID:???
>>142
タグを閉じるか閉じないかは好みだと思ったものでね。
指定した部分答えてるんだから、いいじゃないか。
個人的には開いたタグは閉じるし、属性もダブルクォーテーションで囲う。
onload()が利かない原因を探すのが大変だしな。

ところで質問。
JSPとBeanのみで、サーブレットや web.xml を使わずに
webアプリを構築しようとした場合、何がやばい?
ちなみにそのアプリは、他にフレームワークを使用しているところと
servlet、JSP,JavaBean で作っているところが共存しているので・・・
漠然と危機感を持ってはいるんだが、具体的にどうとは言えず
ちと困っているのだ。
0152nobodyさん03/06/09 00:06ID:???
>>151
> ところで質問。
技術的にはServletを使わないでアプリ作れるが、
拡張性、メンテナンス性が激しく低下する。
他人が書いたそんなコードは見たくもないな。
web.xmlいじらないのは微妙だな。
FilterやServletContextListnerは使わんでいいの?
0153nobodyさん03/06/09 00:17ID:???
>>151
web.xmlを使わないとゆーことは、JSTL(Taglibs)
なんかも使わずに本当にJSPのscriptletとuseBeanだけでこなすのか。
ちょっと大変な気もするが、無茶とも言えないな…
0154nobodyさん03/06/09 00:25ID:???
>>153
JSP1.2&Servlet2.3対応コンテナ(Tomcat4以降とか)ならweb.xmlさわらないで
カスタムタグ使えるでしょ?
015515303/06/09 00:35ID:???
>>154 をを?それは初めて知ったよ。Thanks
0156JSP勉強中03/06/12 13:59ID:NdFy1lyI
servletを動かすにはweb.xmlて必需ですか?
0157nobodyさん03/06/12 23:21ID:???
そうだが馬鹿は帰るか氏ぬかしろ
0158nobodyさん03/06/13 10:13ID:???
ちょっと動かすだけならいらね。
0159JSP勉強中03/06/13 11:05ID:Ov6yST5Q
JSPだけでシステム構築してもいいですか?
0160nobodyさん03/06/13 11:13ID:???
>>159
できるが、恐ろしくメンテが困難なコードになりそうだな。
自己満足ならいいが、他人が書いたそんなアプリケーションは見たくもない。
0161nobodyさん03/06/14 01:28ID:???
中小規模なら Bean と JSP だけで十分だな。
サーブレットが必要なのはいろいろな状態を見て画面遷移制御までサーバ側で
やらなきゃいけないシステムだ。
016215103/06/14 03:33ID:HZe8pKye
>>152、153
レスありが�d。

>>160
がんばれよー。
大変そうだから、という理由だけで物作るのはやめたほうがいいぞ。
経験者は語るぞー
0163nobodyさん03/06/14 05:58ID:???
>>161
BeanってのはJSPからサーブレットを呼び出す、あるいはサーブレットかJSPに値を渡すための
技術だと思っていたが、サーブレットが要らないってどういうこと?

それとも俺激しく勘違いしてる?
0164nobodyさん03/06/14 11:11ID:???
>>163
ちょっと勘違いしている
0165nobodyさん03/06/14 11:14ID:???
>>161
それじゃ、言語はJavaだがやっていることはほとんどPHPだな。
オブジェクト指向もあったものじゃない
0166nobodyさん03/06/14 11:37ID:???
>>165
MVCとオブジェクト指向を勘違いして無いか?
016716303/06/14 14:33ID:???
サーブレットかJSPに値を渡すための
         ↓
サーブレットからJSPに値を渡すための

の間違いね。誰か俺の勘違いを修正してください。
0168nobodyさん03/06/14 14:40ID:???
Beanは値の受け渡しのためにも使うが、それ以外のこともできる。
0169趣味レベルの質問03/06/14 19:45ID:???
コマンドプロンプトからTomcatを起動している場合
正常に動作しているアプリケーションが、
NTサービスからTomcatを起動した場合は
「ドライバおよびソースが見つかりません。」
というログをはきやがります。

DBを使わないものは正常に動作します。
ちなみにDBはACCESSです。
0170nobodyさん03/06/14 19:51ID:???
>>163
Beanっていうのは、JavaBeans規約(のいくつか)に則って作られた
Javaの部品のこと。

別にサーバーサイドで動こうが、クライアントで動こうが、
普通のアプリケーションで動こうが関係ない。

サーバーサイドの業務処理に使う部分であれば、
全部の規約を満たしていなくてもBeanって言う場合もある。
0171nobodyさん03/06/14 22:47ID:???
Beanはサーブレットだろ。
0172nobodyさん03/06/15 01:01ID:p1iP6PHg
>>171
いやいや、それは違いますよ。

ところで、皆さん文字コードはどうしてますか?
0173nobodyさん03/06/15 01:03ID:???
「Beanがあればサーブレットなんていらない!」と言ってた161はどこいった?
0174nobodyさん03/06/15 01:09ID:???
>>172
指定してますよ
0175nobodyさん03/06/15 01:12ID:???
>>173
161は
>>中小規模なら Bean と JSP だけで十分だな。
と言っている。いらないとしているのは、
「JSPから自動変換されるサーブレットを除いたサーブレット」
0176nobodyさん03/06/15 02:50ID:???
Beanだってサーブレットじゃないか。

御大層な名前がついてるだけ。
0177nobodyさん03/06/15 02:57ID:FrtOxuV+
>>176
あなたのサーブレットの定義を書いてみて。
0178nobodyさん03/06/15 05:30ID:???
>>176
激しく勘違い
おまいにとってはサーバ上で動くクラスは全てサーブレットなのか?
017917603/06/15 09:03ID:???
>>178
その通り。
俺にとってクラス=サーブレットだ。
0180nobodyさん03/06/15 11:19ID:???
>>179
サーブレットは
javax.servlet.GenericServletクラスを継承したクラスだけだ。
018117603/06/15 16:26ID:???
なるほど。理解した。
0182nobodyさん03/06/15 16:57ID:L3TTNj8P
質問です。

サーブレットで取得したHttpServletRequestの内容を書き換えることって
できますか?

form→サーブレット→JSPとリクエストを渡していきたいのですが
サーブレットで内容を書き換えて、JSP側のgetParameterで、取得できる情報を
変更したいのです。

formがpostする内容によって、JSP側の表示情報を変えたいわけですが、
JSPではgetParameter以外は使えない状況なんです。

どなたか知ってる方よろしくお願いします。
0183nobodyさん03/06/16 00:12ID:XlDEkkZn
JSPやサーブレットで運営されてるサイトってどんなところがありますか?
あまり見かけなくて普及してるのかなぁ?って感じです。
↓取りあえず一つ見つけました。
http://www.shigotokan.ehdo.go.jp/jjw/top.html
0184nobodyさん03/06/16 00:39ID:???
>>183
@IT
0185nobodyさん03/06/16 00:44ID:???
>>184
あそこはJava使ってないよ
宮下さんから聞いた。HTML手で書いてるって。
掲示板はPHP。
0186nobodyさん03/06/16 00:55ID:???
>>183
俺は自鯖立ててJSP+サーブレットで掲示板作ってる。
しかも無駄にDB使って書き込み保存してる

最近はPHPが増えてきてるね。PHP使えるフリー鯖が増えてきたのも原因かも。
JSP・サーブレットが使えるフリー鯖がまるでないので一般への浸透率はまだまだだな。
業務アプリではサーバサイドはJavaばっかりなんだけど。

>>185
@ITクラブなんかは、モロにサーブレットじゃないか?
018718503/06/16 01:04ID:???
> @ITクラブなんかは、モロにサーブレットじゃないか?
ほんとだ。だんだん使われ始めてきてるね。
0188nobodyさん03/06/16 03:23ID:???
>>182
session じゃだめ?それが一番簡単だけど。
あとは setAttribute で RequestDispatcher かね。

http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/ServletRequest.html
0189nobodyさん03/06/16 08:12ID:e2+2jq6k
>>188
やっぱり、それしかないですかねぇ。
うーん・・・
0190JSP勉強中03/06/16 09:57ID:zvI8NSxj
servletのservice()とdoget()とdopost()はどのように
使い分けたらよいですか?
service()だけでよいような気がするんですけど。
0191JSP勉強中03/06/16 10:58ID:zvI8NSxj
あと、JSPとサーブレットで開発するときは
JSPにはDBとのやりとりは書かないものなんですか?
0192nobodyさん03/06/16 12:49ID:YEAaEmmk
>>191
書かない。
0193nobodyさん03/06/16 13:32ID:???
>>183
IT Pro
http://itpro.nikkeibp.co.jp/

インターネットタウンページ
http://itp.ne.jp/

OpenOffice.org
http://www.openoffice.org/

三井住友銀行(ネットバンキング部分)
http://www.smbc.co.jp/
みずほ銀行のネットバンキング
http://www.em-town-bank.com/

パッと気が付いた、有名どころだけ、
URL見てると、結構使ってるところある。
0194JSP勉強中03/06/16 14:12ID:zvI8NSxj
>>192
Servletには書きますか?
それともbeanだけですか?
0195nobodyさん03/06/16 15:59ID:olrkysza
>194
beanは入物。
servlet又は別のクラスでやったほうがいい
0196JSP勉強中03/06/16 16:38ID:zvI8NSxj
>>195
たとえば検索ページを作るとして
検索の条件をテーブルから拾って表示している場合
beanにそのリストを入れておくとしたら
そのリストを入れる行為はサーブレットでやるって
ことでしょうか?
うーん。オブジェクト指向って難しいなー
0197JSP勉強中03/06/16 16:43ID:zvI8NSxj
あと、bean書いてみたんですけどこれって修正してコンパイルしても
tomcatを再起動しないと反映されませんね。
何かスパッと反映される方法はないでしょうか?
0198JSP勉強中03/06/16 17:01ID:zvI8NSxj
たとえば、検索結果もいったんbeanに入れて
それをJSPで表示するって感じですか?
0199nobodyさん03/06/16 17:12ID:YEAaEmmk
>>198
ServletではBeanに情報をセットする。
JSPではBeanから情報を取得する。
何も悩むことなどない。
0200nobodyさん03/06/16 17:14ID:YEAaEmmk
>>197
ServletコンテナとしてTomcatを使っているのなら、conf/server.xmlの
Context要素のreloadable属性にtrueを設定すればよいのでは?

<Context path="/testApp" docBase="testApp" debug="0" reloadable="true"/>

こんな感じ。
0201JSP勉強中03/06/16 17:26ID:zvI8NSxj
>>199
ありがとうございます。
beanはだいたいスコープはセッションでいいでしょうか?
0202JSP勉強中03/06/16 17:27ID:zvI8NSxj
>>200
ども!
やってみます。
0203JSP勉強中03/06/16 18:10ID:???
今現在の感想としてはかなり開発効率悪いんですけど
慣れてきたらよくなるんでしょうか?
0204nobodyさん03/06/16 19:40ID:???
少人数の開発ならJSPでゴリゴリやったほうが進捗は早い。
だがJSPのみだとMVC厨に鼻で笑われる危険を伴うw
0205JSP勉強中03/06/16 20:48ID:???
どうにもオブジェクト指向は好きになれません。
0206JSP勉強中03/06/16 20:56ID:???
MVCとかいうのもわけわかんないです。
0207nobodyさん03/06/16 22:51ID:???
アッソ
0208nobodyさん03/06/16 23:31ID:???
>>206
最も優秀なコンピュータに送られる称号 by 知ったかぶり辞典
0209nobodyさん03/06/17 01:16ID:???
>JSP勉強中
最初は無理せず、JSPだけでもいいよ。
BeanだのEJBだのは、一通りできてからでオッケー。

MVCはModel、View、Controlerと分けて作りなさいということだが、
人によって何がViewで何がControlerかというのは違うらしいので、
ふーん、と思っとけばよし。

まずは、掲示板でも何でも完成させてみ。
0210JSP勉強中03/06/17 07:20ID:???
>>209
ども!
ASPやCGIは結構やってきたのでJSPだけならASPのJava版と思えば
ぜんぜん問題ないです。掲示板じゃないけど似たようなものは作ってみました。
ただ、仕事でやるとなるとJavaらしい設計とコーディングを
しないとやっぱりだめですよね。
MVCってやっぱり人によって違うみたいですね。
サンプルを見ると上にあったbeanは入れ物というのとは
ちょっと違うようなデータベースを更新したりするものもありました。
今日はいろいろなMVCのパターンを見ていきたいと思います。
0211JSP勉強中03/06/17 13:14ID:???
>>200
すみません。やってみたのですがサーブレットを変更してコンパイルしても
反映されません。
他に何か設定するところがあるでしょうか?
0212JSP勉強中03/06/17 13:50ID:???
MVCって自己満足の世界ですね。
0213JSP勉強中03/06/17 14:13ID:???
EJBってJavaBeanのリモート版と思っていいでしょうか?
0214nobodyさん03/06/17 17:29ID:hLuo4PP6
>>211

Tomcatがクラスファイルの更新を検出すると、コンソールか
logs/catalina.outあたりに

WebappClassLoader: Resource '/WEB-INF/classes/Hoge.class' was modified;
Date is now: Tue Jun 17 17:28:22 JST 2003 Was: Fri Jun 06 15:56:38 JST 2003

みたいなログが出力されるんだけど、これすら出ませんか?
0215JSP勉強中03/06/17 17:44ID:???
>>214
原因はいろいろありそうなんですが
まず、そのテストマシンにはTomcatのほかにJ2EEとWebLogic評価版を
入れてしまって環境がぼろぼろなのかもしれません。
あと、サーブレットを/WEB-INF/classes/Serv/testserv.class
のようにclassesにさらにサブディレクトリを作っています。
これって問題ありでしょうか?
0216nobodyさん03/06/17 19:57ID:hLuo4PP6
>>215
classesの下にサブディレクトリってのは、普通そうするだろうし問題なし。
で、>>214に書いたようなログは出てますか?
0217JSP勉強中03/06/17 21:01ID:???
>>216
それらしきものはコンソールには出ていません。
ログにも見当たりません。
うーむ。
0218nobodyさん03/06/17 23:22ID:???
TomcatとJavaのバージョンくらい書けよタコが
0219JSP勉強中03/06/18 10:01ID:???
Javaは1.4.1でTomcatは4.0です。
0220nobodyさん03/06/18 14:33ID:???
趣味で自宅鯖にApache+Tomcatを入れ、パート1スレでも紹介されていた、
10日でおぼえるJSP/サーブレット入門教室をほぼ終えた者です。

少し面倒くさい事をしているので、もし方法を御存知でしたら教えてください。
まず、前述の通り、Apache+Tomcatは、mod_webappで連携が正常にでき、
JSPもサーブレットも正常に動きました。
その後、バーチャルホストを試してみようと思い立ち、Apacheの方に
mod_vhost_alias入れて試験し始めましたら、Tomcatに繋がらなくなって
しまいました。
どうも、Tomcatがバーチャルホストに対応出来てないようなのです。
仕方なく、JSPをテストするときは、httpd.confのmod_vhost_alias関係の
記述にコメントアウトを入れて、Apacheを再起動しています。

自鯖は非公開ですから、別にApacheを再起動しても誰が困る訳では
ないのですが、やはりhttpd.confのコメントアウトをして再起動というの
はちょっと面倒ですし、正しい対応とも思えません。

mod_vhost_aliasで作ったバーチャルホストに、Tomcatを対応させる
方法ってないでしょうか?

いろいろぐぐってみたところ、ApacheMLに過去、同様の質問があり
ましたが、回答はありませんでした。
0221nobodyさん03/06/18 14:36ID:???
>>220

ちなみに、
Java 1.4.1
Apache 2.0.44
Tomcat 4.1.18

です。インストール後、あまり環境などは弄っていません。
0222ごまお ◆cNUxPJ5ztQ 03/06/24 12:01ID:???
>>220

根本的な解決じゃないんだけど、mod_webappはすでにほとんど
「非推奨」扱いのコネクタらしいので、JK2など開発が進行中のものを
利用したほうが資料も解決策も多いかもよ。

このへんのコネクタについて詳しくは今月のJava Developerていう雑誌に
特集記事があるです。
0223nobodyさん03/06/24 13:33ID:???
>>222
WARPってベースとなるURLに対してwebappをマップするような感じだよね?
これだと画像ファイルやらなにやらまでTomcatに丸投げするから
効率悪いように思うんだが。
0224JSP勉強中03/06/24 16:23ID:???
jdkとtomcatをインストールしました。
.jspファイルを作り、そのなかでEnumerationのインスタンス化で
エラーになります。
java.util.*はインポートしてるんですけどなぜでしょう?
0225nobodyさん03/06/24 16:36ID:???
Enumerationはインスタンス化できない。
JSP以前にJava勉強すれ
022622003/06/24 17:16ID:l2ibIr6t
>>222

おおう。一週間も放置されてたんで、もうダメかと思いました。
コネクタについては、調べてみますね。
0227本7 ◆uPD9aFm9hI 03/06/24 17:22ID:NRot/Ugh
JSPの決定的な優位性って何ですか?
0228JSP勉強中03/06/24 17:56ID:???
>>225
インスタンス化って言葉が間違ってました。
odbcのデータソース作り忘れてました。スマソ。
0229nobodyさん03/06/24 19:22ID:???
>>227
カスタムタグが面白い。



え?w
0230nobodyさん03/06/25 23:02ID:???
基本的なことだと思うのですが質問です。

サーブレットを使ったアプリケーション(httpサーブレット以外も含む)
に関する設計に関してなのですが、
一つのアプリケーションでGenericServletを継承したクラスが複数存在するのが
正しい設計なのでしょうか?

たとえばStrutsフレームワークを見ると
requesut、responseを処理するクラスは一つに設計されてるようなのですが、
単純なサーブレットのサンプルを見ると一画面に一サーブレットクラス
のような気がします。

私の勉強不足でしょうが、GenericServletを継承したクラスが一つのアプリケーションに
複数存在するのは感覚的に落ち着きません。

httpを処理するサーブレットでない場合もGenericServletを継承したクラスは
一つであったほうがいいと思うのですが、一般的にはどうなのでしょうか?

参考文献などもありましたらアドバイスと供によろしくお願いします。
0231nobodyさん03/06/25 23:13ID:???
>>230
どっちでもいいんだよ。
好みとか考え方とか開発効率とかで最適なやり方を選択すればいい。
0232nobodyさん03/06/26 16:44ID:???
>>230
Strutsの場合は、そいつがディスパッチャで各画面はそのディスパッチャから呼ばれる
Actionクラスだから自然とそういうスタイルになるだけでは。
0233nobodyさん03/06/27 00:33ID:???
「一画面に一サーブレットクラス」だったとしても、

GenericServlet
↓
・・・
↓
なんらかの(俺様流)フレームワークServlet
↓
・・・
業務処理(1画面毎の)Servlet ×n

として、フレームワークServletは、アプリケーションに一つの方が良いと思う。
023422003/06/27 11:24ID:sYWueejY
>>222

jk2でGoogleしまして、mod_jk2をコンパイルして組み込んでみたら、
examples/が表示できました。

でも、Tomcatの起動してないですよ?psにも出てないし?
と思ったら、jk2ってTomcatの事前起動無しに、JSPやサーブレット呼び出せる
のか!

いや、こりゃ便利ですね。

なんか、バーチャルホストも出来そうですし、もう少しGoogleで調べてみます。
0235null03/06/28 14:54ID:x9iwUQrE
JSPから、Servletを呼び出すと、

java.lang.NullPointerException
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:588)
at org.apache.tomcat.loader.AdaptiveClassLoader.loadClass(AdaptiveClassLoader.java:430)
at org.apache.tomcat.loader.AdaptiveServletLoader.loadClass(AdaptiveServletLoader.java:174)
at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:265)
at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
at org.apache.tomcat.core.Handler.service(Handler.java:254)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)

が表示されます。
eclipse上では、うまくいくのですが、いろいろ試したのですが、知識不足でわかりません。
どうすればいいか教えてください。
0236nobodyさん03/06/28 15:28ID:WE3G3OqE
MySQLを使ってる人で文字化けに困ってる人いませんか?

どうも上手くいかないんですよね。
0237nobodyさん03/06/28 15:33ID:WE3G3OqE
で、症状なんですが
リクエストを
request.setCharacterEncoding("JISAutoDetect");
でエンコーディングしているのですが
�@�Aなどの記号が化けてしまいます。
0238nobodyさん03/06/28 15:38ID:???
>>237
そんな字を使う方が悪い。
0239nobodyさん03/06/28 15:41ID:WE3G3OqE
今わかってる事は、
<%@ page contentType="text/html; charset=Windows-31J" %>
とすれば
�@
は上手くいくけど
〜
は上手くいかなくなります。
■ このスレッドは過去ログ倉庫に格納されています