■■ Servlet/JSP(EJB含む) 質問スレ ■■
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/08 11:03ID:Kkr1yl67というわけでつくたよ。
0252nobodyさん
02/10/03 14:07ID:KDvau4q1ほらよ。
俺は結局1.3で運用してるがな。
ttp://www.acg-gmbh.de/mod_jk/
0253nobodyさん
02/10/03 14:33ID:5xq1UjDrここは?
http://www.cc.rim.or.jp/~egami3/ejb/#4
0254pan
02/10/03 15:25ID:???有難うございます。
色々と調査した結果、Apache2.0.x用のmod_jkを発見できました。
コレを利用して立ち上げた所、正常に起動し、
exmaples以下のサーブレット&JSPが正常に動作するのを確認できました。
色々とアドバイス有難うございました。
ちなみにmod_jkの場所は、
ttp://www.acg-gmbh.de/mod_jk/ です。
tomcat-users MLにPOSTされていたのを発見しました。
0255nobodyさん
02/10/04 11:27ID:???0256nobodyさん
02/10/04 11:33ID:gpSssjjtJSPファイルを表示させるときに「シンボルが解決できません」になります。
一緒に動かすServletの方はコンパイルできているのですが…。
0257nobodyさん
02/10/04 12:05ID:???どうせデータの受け渡しをしたいだけだろ? ServletContext, HttpSession, HttpServletRequest
の setAttribute()/getAttribute() 使え。
なかなかインターネットに情報がないですぅ。
どこもDSOをつかったインストール方法ばかりです。
どなたかStaticにApacheにインストールしてる方はいませんでしょうか?
ちなみに、mod_perlとPHPはDSOなしでApacheに組み込んでます。
0259254
02/10/04 21:35ID:???なるほど。
ということは、ServletにNikki classを作って、JSPファイル内に
NIkki nikki = new Nikki(引数)
みたいな書き方はおかしいですか?
0262nobodyさん
02/10/05 13:16ID:2e8trTi8transaction内で、複数のデータをINSERTをしたいのですが、
1つ目のINSERTするレコードがないと、2個目以降のINSERT(別テーブル)は
成功しないテーブル構造になっているのですが、
1つ目のINSERT成功後、2個目のINSERT処理の、executeUpdate()
で、処理が止まってしまいます。(ロックされてる?)
特徴としては、関数呼び出しの構造上、以下のように動作します。
setAutoCommit(false)
createStatement
1つ目のexecute
Statementを開放
createStatement
2つ目のexecute
<〜ここで止まる〜>
Statementを開放
以降n回繰り返し
comit
これは、transactionのアイソレーションとかと関係あるのでしょうか?
executeをexecuteUpdateにしても同じ動きをしました。
0263nobodyさん
02/10/05 16:43ID:/Ylxg1h6http://pc3.2ch.net/test/read.cgi/tech/1032944246/l50
だ、SQL分自体はどおなっとるの?
0264nobodyさん
02/10/05 19:06ID:2e8trTi8ほんとだ、同じことで悩んでる。
SQL文自体は、単体ごとにUPDATEすると実行されます。
(ちなみに、バッチ処理にして、executeBatchすると登録は成功します。)
各文ごとに、違うStatementを使うことが問題なんじゃないのかと
いう気がしてきました。世の中のサンプル見ても、Statementを開放
してることと、テーブルのリレーションの問題以外は問題がなさそう。
そもそも、1つめのレコードを予めDBに書いておいて、
2番目移行のUPDATEを実行すると、最後にUPDATEした奴
しかDBに書き込まれてないんですよね。
うーん。
0265259=256
02/10/05 20:03ID:???してるけど、通らないっす。
でも、指定の仕方が間違ってるのかも。
jspファイルが
USR_ROOT/###.jsp
にあって、参照したいServletは
USR_ROOT/WEB-INF/classes/###.class
にあります。
classpathはUSR_ROOT/WEB-INF/classes
で指定してあるのですが、
jspにimportを書く場合
<%@ import ### %>
であってますか?
0266nobodyさん
02/10/05 23:27ID:???デフォルトパッケージのクラスか? ちゃんとパッケージ名付けれ。
// USR_ROOT/WEB-INF/classes/jp/co/hoge/HageServlet.java
package jp.co.hoge;
...
public class HageServlet extends HttpServlet{
...
こういうサーブレットがあったとき、下のような使い方が出来なくも無い。
<%@ page import="jp.co.hoge.*" %>
<%
HageServlet s = new HageServlet();
%>
普通はこんなことしないけど。
0267265
02/10/07 21:51ID:???うおおっ!ようやくできました!!本当にありがとうございました!!
えっと、行った手順としては、
USR_ROOT/WEB-INF/classes/
0268265
02/10/07 22:08ID:???えっと、行った手順は
USR_ROOT/###.jsp ←問題のコンパイルできなかったファイル
USR_ROOT/WEB-INF/classes/index.class ←このファイルを最初に読み込んで、###.jspに処理を飛ばす
USR_ROOT/WEB-INF/classes/sansyou1.class ←###.jspにimportしたかったclass
USR_ROOT/WEB-INF/classes/sansyou2.class ←その他の外部クラス
という風なファイル構成だったのですが、
USR_ROOT/WEB-INF/classes/pack/sansyou1.class
USR_ROOT/WEB-INF/classes/pack/sansyou2.class
という風にpackageにして、###.jspは言われたように
<%@ page import="pack.*" %>
とすると、コンパイルできました。
ただ、どうしてデフォルトの場所では読み込んでくれないのか
という疑問も残りましたが。
ともかくコンパイルできて良かったです。ありがとうございました。
ところで、普通はデータを利用するのに外部クラスのメソッドをそのまま読み込まずに
setAttribute()/getAttribute()を使うのですか?
そうした方がメリットがあるのでしょうか。
もしよかったらもう少し教えて下さい。
0269nobodyさん
02/10/07 23:51ID:???話はそれから
0270nobodyさん
02/10/08 13:49ID:???送られるファイルのサイズを制限しているようなのですが、その処理を行っている実装部分はどこなのでしょうか?
web.xml に書かれている内容がどこで使われているのか、私の能力不足により解析できなかったので…。
0272266
02/10/09 12:16ID:???後からメンテナンスしやすい設計にするためだよ。サーブレットが作るデータが
必要なら setAttribute()/getAttribute() で受け渡せばいいし、サーブレットの
メソッドが呼び出したいなら、そのメソッドは Bean 化して別クラスにするのが
いい。そうすることによってクラス間の関係が疎になるので再利用しやすく後の
メンテナンス性が上がる。
0273265
02/10/09 21:46ID:???クラスを直接importしなくてもデータのやりとりとか
特に問題なくできるのですね。
クラス同士はあまり密接に関わらせない方が良いのですか。
勉強になりました。
ありがとうございます。
0274nobodyさん
02/10/11 22:13ID:4dmb/MffStrutsを使ってるのでTemplateタグで実現したいのですが
テンプレートから呼び出されるJSPのページにパラメータを渡すには
どうやればよいのでしょう?旨いやり方ありますか?
要はincludeならば
<jsp:include ...>
<jsp:param .../>
</jsp:include>
みたいなことがStrutsのTemplateタグで出来ないかと思案しているわけです。
template:insertをするPageのスコープにパラメータを埋め込んではみたんだけど
どーやらPageスコープってjsp:includeやらtemplateやら使ってもそれぞれのページ内
みたいで…まーあたりまえか(w
requestやらapplicationやらsessionに埋め込めばいいのだろうけど、なんとなく
イメージ的に違うって感じ。でもそれっきゃないのかなぁ?
誰かグルになってくださいませ。
0275nobodyさん
02/10/11 22:31ID:???0276274
02/10/11 22:35ID:???ダメやっちゅーに。
ページコンポーネントの組み込みはでけるけど、その組み込むページに
どやってパラメータを渡すかってことが知りたいのです。
0277nobodyさん
02/10/12 01:01ID:xShHXVsw自動的に作成したいのですが、そのようなことができるメソッドってありますでしょうか?
ランダムな数字を作るのはわかっています。
ディレクトリを自動的に作成するメソッドがありましたらご教授ください。
おながいします。
0279277
02/10/12 01:58ID:xShHXVswString dirname = "場所";
boolean a = mkdir(dirname);
ってやると
シンボルを解釈できません。
シンボル:メソッドmkdir(java.lang.String)
ってでます。import java.lang.*;は書いてあります。
0280nobodyさん
02/10/12 02:01ID:???directory.mkdirs();
0281277
02/10/12 03:34ID:???本当にありがとうございます。
氏ぬ前にもっと勉強します。
0282nobodyさん
02/10/12 13:39ID:???だから渡したい値は<template:put>で<template:include>時に渡して、
組み込まれたページ側で<template:get>使って受け取ったら後は好きにすれば?
0283nobodyさん
02/10/12 16:09ID:6y7+FqP1そっかそーゆ意味ね。
言葉足りなかったなぁ。それでもダメっす。
パラメータとして渡したいってのは受け取ったパラメータをlogicタグなどで表示切替
に使いたいって意味だす。
ん?もしかしてbean:defineの中でvalue="<template:get ...>"みたいなことができるってこと?
無理だとは思うが一応試してみるか…。ちょっと待っててな。
0284nobodyさん
02/10/12 20:35ID:8Xp20As7今、JSPページのコンパイルエラー直そうと思ったんだけど、コンパイル一度も通ってないJSP→Servletのソースが何処にも保存されてないのね、eWaveって(^^;
おそらく何かしらの設定があるんだろうけど、たぶんオイラの英語力が不足してるせいで(T_T)、よくわかりません。
「ここを見れ」でいいので、何か情報をお持ちの方がいらっしゃればアドバイスをお願いします(拝)
0285M
02/10/14 00:27ID:a3rDJN9bの改行コードを<BR>に変換するにはどうすれば良いのでしょうか?
<PRE>入力コメント</PRE>で表示すると改行なしの長いコメントの場合
にページが横に伸びてしまうのです。どなたかお願いします。m(_ _)m
0286nobodyさん
02/10/14 00:32ID:???1.3ならjakrta oroですか?
0287nobodyさん
02/10/14 01:23ID:???動的に作成したinputタグのnameを拾う方法はあるのでしょうか?
<form method="POST">
<input name="<%= temp[i][j] %>" type=text>
</form>
で、たとえばこの入力フィールドに"10"が
入っているか確認する場合、
if(temp[i][j].equals("10"))
とはできないですよね?
(変数名は、temp[i][j]の値そのものなので)
たとえば、POSTで投げられてくる値を
Iteratorとかで順番に拾えないのでしょうか?
0288nobodyさん
02/10/14 02:29ID:???書き込みフォームに WRAP="HARD" +鯖側 <PRE> で良いんでない? まぁ
普通は 1 文字づつ評価して <BR> に書き換えるわな。どうせ < → < の処理とか
やってるでしょ。
>>287
何言ってるかぜんぜんわかんねーんだけど request.getParameter(temp[i][i]).equals("10") の
事か? request.getParameterNames() か? request.getParameterValues(temp[i][i]) か?
日本語勉強してこいよ。
0290M
02/10/14 09:39ID:a3rDJN9b返答ありがとです。
WRAP="HARD" +鯖側 <PRE> では<PRE>が優先されるようです。
ページが横に伸びてしまいました。
< → < の処理は次のようにやっててうまく処理されます。
でも改行の処理のやりかたがわかりません。
'\n','\r\n'はchar変数じゃないのです。
/** HTMLエンコードが必要な文字 **/
static char[] htmlEncChar = {'&', '"', '<', '>'};
/** HTMLエンコードした文字列 **/
static String[] htmlEncStr = {"&", "gg"", "<", ">"};
0291nobodyさん
02/10/14 17:54ID:???入力側で <TEXTAREA ... WRAP="HARD"> でって意味なんだけど、ちゃんと伝わってる?
それから鯖側で <BR> 変換やるなら↓でいいんでないの。
static char[] htmlEncChar = {'&', '"', '<', '>', '\n', '\r'};
static String[] htmlEncStr = {"&", """, "<", ">", "<BR>", ""};
0292M
02/10/14 23:38ID:a3rDJN9bそうですよねー。
でも何回やっても<BR>に変換されない。。。。
もう少し頑張ってみます。ありがとうございました。
ちゃんと htmlEncChar.length とか htmlEncStr.length 分のループ
してるか? 「4 回固定回数ループ」やってるんじゃねーだろーな。
てか、説明すんのめんどくせー
public static String escapeHTML(String text){
StringBuffer content = new StringBuffer(text.length());
for(int i=0; i<text.length; i++){
for(int j=0; j<htmlEncChar.length){
if(text.charAt(i) == htmlEncChar[j]){
buffer.append(htmlEncStr);
} else {
buffer.append(text.charAt(i);
}
}
}
return buffer.toString();
}
0294M
02/10/16 04:04ID:icD2I6vX↑このソースを変えてみた。
static public String HTMLEscape(String input) {
input = substitute(input, "&", "&;");
input = substitute(input, "<", "<;");
input = substitute(input, ">", ">;");
input = substitute(input, "\"", "";");
input = substitute(input, "\n", "<BR>");//追加
input = substitute(input, "\r", "");//追加
return input;
}
でもだめぽ。(′д`⊂)
0295nobodyさん
02/10/16 06:21ID:???すげぇ! こんな無駄な再帰を使うソースは初めて見た。しかもサーバサイド
想定なのに無駄な String/StringBuffer インスタンス作りまくりと来た
もんだ。まぁ表題見れば書いた人間のレベルが分かるか。
0296nobodyさん
02/10/16 13:48ID:jmKbXjPs管理者が ServerSide に生成した Session の中身を全て調べて、特定のセッションに対して値を更新/削除/追加する、って事をしたいんですけど、これを実現するためにはどうすれば良いのでしょうか?
サーバ・サイドのセッション・オブジェクトを全てリストとかで取得できるんでしょうか?
0298x
02/10/16 15:08ID:0vsiXYHc↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0301nobodyさん
02/10/16 23:19ID:R5uZ9QcZそこでサーバのTomcatやResinを立ち上げると
Telnetの画面がそのままコンソールになるようで
Telnetを閉じるとともにTomcatやResinまで落ちてしまいます。
Telnetを閉じても起動したままにできませんか?
(cronの1回だけバージョンとかあればよいのだろうか・・)
0302nobodyさん
02/10/17 00:11ID:???0304nobodyさん
02/10/17 00:15ID:7NQKU9UNSessionFacade使え。
0305nobodyさん
02/10/17 01:19ID:???その Tomcat や Resin を立ち上げるコマンドの後ろに & を付けれ。
RPM で入れたんなら /etc/rc.d/init.d/tomcat ってコマンド無いか?
って俺それしか知らんのやけど >>302-304 のやり方って何すか?
0306nobodyさん
02/10/17 01:43ID:Xvd1/r7Vクライアント側でサーバ内にあるGUIアプリケーション(Javaのクラスファイル)
を実行させることってできるんでしょうか。
例えば
クライアントがボタンを押す
↓
Javaで作ったサーバ内にある
オリジナルの音楽再生プレイヤーが呼び出されて実行される
というようなことってできますか?
気になってしょうがないのでよろしくお願いします。
0307nobodyさん
02/10/17 01:51ID:???気にすんな。
0308301
02/10/17 02:10ID:bSTwbaaG&つけたらいけました。コンソールにやはり起動メッセージ出ますが
閉じても起動しっぱなし。感謝です!
>>302の方法ではTelnet終了したら落ちてしまった。
>>303は調べたけどzsh?
ちなみにこの現象はResinのみ。
Tomcatはコンソール支配されないです。嘘ついてゴメン
0309nobodyさん
02/10/17 02:29ID:???出来る。
>>308
激しく疑問なんだが Resin ってシェルから叩ける start/stop 用のコマンド
って付いてないのか? 止めるとき ps aux でプロセス見て PID で kill して…
と激しく面倒だぞ。
0310306
02/10/17 02:43ID:???Appletで作ったゲームはよく見るんですけど
GUIアプリケーションを実行させるサイトに出くわしたことがないので
気になってました。ありがとうございました。
でも、実行するクライアントはちょっと勇気がいりそうですね。
0311nobodyさん
02/10/17 03:00ID:???ちょっとまて、クライアントのボタンを押すとサーバ側でウィンドウが
立ち上がるような動きをするんだよな?
ちょっと自信が無いが Unix なら DISPLAY 変数をちゃんと設定しておいて
やれば大丈夫だと思う。Windows はどうなんだろう。サービス起動じゃな
ければ大丈夫かな。
0312306=310
02/10/17 03:30ID:???Vectorに登録されているようなGUIアプリケーションが
あたかもブラウザ上で呼び出して実行されている、
というような動作をさせることができるかな、と…
安易に大それた質問をしてしまってすいませんでした。
自分はまだあまり知識が無いので、できるとわかっただけで十分です。
ありがとうございました。
0313306=310
02/10/17 03:40ID:???クライアント側のGUIアプリケーションが起動するってことですよね。
そうじゃなくてサーバ側のRealPlayer(Java仕様)をブラウザ上で実行させる
ことができるかどうか気になったんです。
自分でも少しパニックになってきたので、放置していただいて結構です。
0314nobodyさん
02/10/17 11:50ID:6ucWf4YE単純に\nを<BR>で置き換える、ぢゃだめぽ。
0317nobodyさん
02/10/17 14:02ID:???HTTP上でX-WINDOW類似の仮想ターミナルやりたいってことね。
探せばそんな製品あるかもよ。まずはぐぐってみたら。
ひょっとして作ろうっての?
無理。
少なくとも>>313には絶対無理。
0318nobodyさん
02/10/17 15:47ID:???ああ、その手の奴なら VNC のアプレット版があるよ。鯖側で VNC 鯖起動しておいて
アプレット版の VNC クライアントでブラウザ上に鯖画面を丸ごと表示する奴が。
多分 >>313 が考えてるのとは違うだろうけど。
0320301
02/10/18 00:35ID:y14T4jTtうむぅ、そうですねぇ、自分もResinはkillで止めてます。
>>319
bash: disown: /opt/resin-2.1.5/bin/httpd.sh: no such job
こういったメッセージが出てしまうのであきらめていたのです。。。
0321314
02/10/18 10:22ID:AgYFvi+M>>316
……Unicodeにした後は\nだけ置換すればいいと信じきっていた自分が激しく鬱だ(T_T)
アドバイスありがとうございました(拝)
0323nobodyさん
02/10/22 23:14ID:3vYtKYtkで、Beanチームは単体起動での確認とか比較的簡単にできそうだけど、
JSPやServletチームはどうやって単体で稼動確認取ればいいのかなぁ?
JSPはBeanがないと動かないでしょ?
Servletに至ってはBeanとJSP(ダミーでもいいけど)がないとまともに動かない。
みんなはこういう問題ってどうやって解決してるの?
0324303
02/10/22 23:30ID:???おおっそんな勘違いしてたんか!!
disownは、既に実行中のジョブに対して使うんだよ。
例えば、($で始まるのは、コマンド入力)
$./httpd.sh&
$jobs
[1] +running httpd.sh
$disown
$jobs
(何も出力されない)
ってなるの。disownに%1とか%2とかジョブ番号を指定すること
もきる。例えば、disown %2なら、jobsで[2]って表示されてる
プロセスを切り離しできる。
0325nobodyさん
02/10/23 02:37ID:???そればっかはダミーと言うかスタブ作るしかないな。後で差し替えが利くように
インターフェース切ってファクトリパターン使ったり、リフレクション使ったり
なるべく MVC 間の結合度を下げるようにする。
0326nobodyさん
02/10/25 18:13ID:VrJoiV/x0328nobodyさん
02/10/26 01:40ID:???JSP等でHTML出力する
■TransformerオブジェクトでXML+XSLT変換処理を行った後
JSP等でHTML出力する
XMLの内容(量)によるとこもあるだろうが、どちらが高速に変換させて
出力処理をさせることが出来るんでしょう?
※あくまで出力処理の範囲で、コーディングの開発は無視
0329...
02/10/29 02:39ID:???Tomcatを startup.sh で起動すると
mod_jk.conf-auto が作成されるとあるのですが、
これが作成されません。何か条件があるのでしょうか?
#それぞれ独立しての稼動はできております
#server.xmlのPort8080の部分はコメントアウトしております
#Apache1.3.26 Tomcat3.x Debian
0331...
02/10/29 19:54ID:???数々のモジュールを組み込んでおり、自分自身が混乱してました。
お騒がせいたしました。
0332nobodyさん
02/10/29 20:40ID:2+2rI4fzttp://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.0/bin/win32/
0333nobodyさん
02/10/30 13:03ID:3yGzF2OiいまはdoGet()が呼ばれる毎に作成しています。これってコスト高い?
0335nobodyさん
02/10/31 00:25ID:???0336ジョン・プレーヤ・スペシャル
02/10/31 19:41ID:FYPcLGlN仕事でJSPでメール送るプログラム組むなんて事を安請け合い
したんだけどさぁ、まぁ、sendmailでちょちょいでしょうなんて
perlライクに考えていたわけですよ。
テストサーバにjavaやらtomcat入れてとりあえずJSPが動くようにする
この頃からperlとは違いすぎるなぁと不安になる。
えーとメールを送るのは・・・・どうやらjavaMAILとJRFという
ライブラリを使うことがわかる。
JSPハンドブックを買ってサンプルプログラムを打ち込んで(ソース付け炉や!)
動かしてみる、、、エラーの嵐、、まるでベーマガの頃に戻ったかの
ように本を見ながらデバック、デバッグ、デバッグ、文法エラーはなく
なってコンパイルまでは出来ているみたいだが、変なエラーがドバっと
出る。どうやらSMTPサーバが「Could not connect」らすぃ。
サーバの事はよくわからんのだよ、JSPくん!
SMTPサーバってそのサーバのIPじゃいけないのか?sendmailの設定
が問題なのか?さっぱりわけワカメ。ギャーーー!誰か変わってぇぇ!
0337nobodyさん
02/10/31 21:24ID:D/zYL1kU「SMTPによるメール送信」を読めば救われるかも。
>props.put("mail.smtp.host", smtpHost);
>Session sess = Session.getDefaultInstance(props, null);
このへんがキモかと思われる。
0338ジョン・プレーヤ・スペシャル
02/11/01 22:02ID:???ありがとうございます。でも、SMTPが通ってなかったわけでは
なくて、実はもっと、、、もっと初歩的なスペルマミスでっすた。
はぁぁぁ
でも、遠回りしてイロイロ調べたせいでJSP/サーブレットの事が
なんとなくわかってきたぞ。なんか言語覚えるのってココまでが
大変で、これからはけっこう楽なんだよな(楽観)。
0339nobodyさん
02/11/05 22:01ID:R2YenpcU動きません・・・
Tomcatはjakarta-tomcat-4.1.12-LE-jdk14.exe
JAVAはSDK1.4.1
OS Win2000
を使っています。webappsの下にaというフォルダをつくり、web.xmlやclassesなどの
ディレクトリをつくって、server.xmlを編集しました。フォルダaにあるindex.htmなど
は見れるのですが、サーブレットが動きません。サーブレット自体は以前のヴァージョンの
Tomcatで動作確認済みです。プリーズヘルプミー!
0340nobodyさん
02/11/05 22:12ID:???てゆうかwebappsの直下に前バージョンで動いていたヤツをjarで固めて置いて置けばいいじゃん。
Tomcatが起動時に勝手に解凍して配置してくれるんだから。
0341nobodyさん
02/11/05 22:23ID:R2YenpcUレスありがとうございます。server.xmlをもとにもどしてやってみます。
以前のヴァージョンはアンインストしちまいました。
手元にはclassファイルしかないのでとりあえずserver.xmlをもとにもどし
てみます。
0342339
02/11/05 22:39ID:R2YenpcUexampleフォルダのclassesにクラスファイルを入れた動いたのですが・・・
どうしたら任意のフォルダからサーブレットを動かせるのでしょうか?
0343nobodyさん
02/11/05 22:57ID:???localhost_log.YYYY-MM-DD.txtみたいなログファイルで起動時に例外が発生してないかどうか
確認したほうがいいかも。(コンソールには起動時例外は表示されなかっちょうな気がする)
Tomcatは起動時に、webappsの下にフォルダがあり、かつその下のweb-infディレクトリに
web.xmlがあるものを自分のコンテキストだと認識するらしいから、まずweb.xmlを疑った
ほうがいいかも。
0344nobodyさん
02/11/05 22:58ID:???↓
表示されなかったような気がする
0345339
02/11/05 23:14ID:R2YenpcUコンテキスト化とはなんでしょう?
ログファイルを確認したところ起動時に例外が発生したような形跡はないように
思います。普通に「Webアプリケーションディレクトリ a を配備します」というような
感じになってました。
web.xmlの内容は以下の通りなのですが・・・まずいところありますか?
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>
0346nobodyさん
02/11/05 23:27ID:???web.xmlには普通Servletのマッピング情報を書くんだよ。
例えばこんな感じ。(うろ覚えなので間違っているかも)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>sample.test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/TestServlet</url-pattern>
</servlet-mapping>
</web-app>
これで、WEB-INF/classesの下にあるsample.test.TestServletという名前のServletが
http://localhost:8080/xxxxx/servlet/TestServletで呼び出せるようになるはず。
(微妙にミスってたらごめん)
J2EEではアプリケーション単位でxmlファイルに構成情報を記述して、自己完結性の高い
パッケージ配布方式を実現しようとしているから、web.xmlはしっかり勉強しておいたほうがいいよ。
だっていちいちWebアプリをインストールする度にserver.xmlみたいなミドルウエアの根幹に
手を入れるのは面倒くさいし危険でしょ?
ここら辺を抑えておくと、やがてEJBのような高度なものをやることになっても、
デプロイの仕組みがちゃーんと理解できるようになる。基本は一緒だから。
0348339
02/11/06 00:34ID:brJh6AGy動きました! ありがとうございます。
しかし、新しいアプリの度にweb.xmlを更新しなくてはならないのでしょうか? exampleフォルダにいれた場合はweb.xml
を更新せずともサーブレットが動作しました。
また、以前のヴァージョンのときもweb.xmlは345に書き込んだ通りで動きました。
そのあたりをご教授願います。
0349nobodyさん
02/11/06 00:38ID:QtBZH+BhJavaの開発でIISって使えるのでしょうか?
それともアプリケーションサーバーはWASとかでないと
無理なのでしょうか?
0350nobodyさん
02/11/06 01:27ID:???IIS は Java の動くアプリケーションサーバではありません。
WAS 以外にも Tomcat, WebLogic, iPlanet, JRun などもありますので要件に
あったものをどうぞ。
0351nobodyさん
02/11/06 01:29ID:???examples はあらかじめ出来上がった web.xml が入ってたから。
前バージョンで web.xml に記述が無くてもサーブレットが動いていたのは
Servlet Invoker という、サーブレットを起動するサーブレットがデフォ
ルトで server.xml に設定されていたから。
■ このスレッドは過去ログ倉庫に格納されています