■■ Servlet/JSP(EJB含む) 質問スレ Part2 ■■
>>885 お約束なんだろうけれど、tomcat-users.xmlには、
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="manager" password="manager" roles="manager"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
と追加してあるよ
Tomcatの起動時にコンソールに
情報: コンテキスト設定ファイルのURL file:D:\jakarta-tomcat-5.0.24\conf\Catalina\localhost\admin.xml を処理しています
は出てる?
すまん、
情報: コンテキスト設定ファイルのURL file:D:\jakarta-tomcat-5.0.24\conf\Catalina\localhost\manager.xml を処理しています
だ
ちなみに、俺はDドライブ直下にインストールしてる
>>887 2004/05/20 22:23:45 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:C:\Program Files\Apache Software Founda
tion\Tomcat 5.0\conf\Catalina\localhost\admin.xml を処理しています
2004/05/20 22:23:47 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:C:\Program Files\Apache Software Founda
tion\Tomcat 5.0\conf\Catalina\localhost\manager.xml を処理しています
きちんと処理をされているよ…。
何なんだろう。Linux側にインストールしたTomcatではTomcat Managerに正常にアクセスできるのに…。
あ、exe をインストールしてるのか。。。
127.0.0.1 じゃなくて localhost にしたらどうなる?
exe はデフォルト設定内容が違うかもしれない
892 :
nobodyさん:04/05/20 23:24 ID:lu9i7lbx
サーブレットをコンパイルしたclassを読み込むとブラウザに
<html>
<head>
<title>
hogehoge
</title>
<body>
<h2>test</h2>
</body>
</html>
と表示されてしまいます。
ちゃんと表示するための設定方法を教えて下さい。
893 :
nobodyさん:04/05/21 00:44 ID:KjkiJBqs
JSPでページをRedirectするとき
<jsp:forward ・・・>
を使うと、ページアドレスが変わらずにリダイレクトされるけど
ページアドレスを飛んだ先に変えるタイプのリダイレクトって
JSPであります?
JavaScript、<meta refresh・・・> 以外で。
環境は
Tomcat5
RedHat9
894 :
890:04/05/21 01:54 ID:???
うちは5.0.24(zipだけど)で動いてるし、
しかも5.0.25はアルファ版じゃなかった?
でも、5.0.24は緊急パッチがリリースされたよ
セッション管理にバグがあったらしい
896 :
894:04/05/21 03:17 ID:???
>>895 あ、本当だ…。
明日にでも5.0.24のzipを展開して確認してみます。
とりあえず、もう寝ないと…。
ちょっと気になって調べたのですが、適当な解答にヒットしなかったので
質問させてください。
JSPで、<jsp:useBean />でBeanを指定する場合、必ずこのJSPにはBean
が引きわたされないといけないでしょうか?
実は同一のJSPファイルでサーブレットからBeanを引渡した場合と引き
わたさない場合で表示内容を切替えたいのですが、<jsp:useBean />を
指定してしまうと(引きわたさない場合)エラーになってしまう為、
こまっています。
こういった場合、request.getAttributeなどをスクリプトレット内部
で利用して、BeanのAttributeがある場合のみ処理をするといった方法
でしか解決はできないでしょうか?
>893
response.sendRedirect()
>>893 まず、フォワードとリダイレクトの違いを勉強してから出直して下さい。
<jsp:forward ・・ ではリダイレクトしないぞ
900 :
894:04/05/22 11:42 ID:???
zipアーカイブのTomcat 5.0.24を展開して、
web.xmlを修正して、
http://localhost:8080/manager/html http://localhost:8080/manager/status にアクセスして、正常にログインを確認できたよ。
結局原因は何だったんだろう…。
起動時に下記の情報を出すけれど大丈夫なのかなぁ?
2004/05/22 11:35:08 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/5.0.24
2004/05/22 11:35:08 org.apache.catalina.core.StandardHost start
情報: XML検証は無効です
>>900 >XML検証は無効です
は、コンテナ起動時にXMLのvalidationを行うかどうかの設定がOFFになってますよ、
というだけ。XMLを検証してNGですた、ではないから安心汁
902 :
nobodyさん:04/05/22 13:03 ID:prWBgoDS
よくある着メロなんかのダウンロードカウンターを
JSPで作ろうとしてるんだけど
誰かこんなの作ったことある?
903 :
900:04/05/22 17:10 ID:???
904 :
nobodyさん:04/05/22 18:06 ID:7G6pdE8J
tomcatの中にあるweb.xml(DDファイル)について質問です
あれの位置関係ですが
ディレクトリのどこにおかなければいけないというのは決まっているのでしょうか?
それとも設定か何かでDDファイルの格納場所をかえることは可能でしょうか?
またweb.xmlやservlet.xmlという名前は変更は不可なのでしょうか?
> tomcatの中にあるweb.xml
tomcat/conf の中にあるやつのこと?場所は動かせないはず。
各アプリの中にあるweb.xmlも動かせない。これはServletの仕様。
> またweb.xmlやservlet.xmlという名前は変更は不可なのでしょうか?
不可。
というか、なぜそんなことをしたいのか激しく謎
906 :
nobodyさん:04/05/23 12:19 ID:gxpa2OE5
質問です。
トムキャットつかって、servlet、jsp、beanのMVCの構成で
コネクション・プーリングを使用するとき、このコードはどこでもつ
べきでしょうか?
beanに持たせるのがオブジェクト指向の観点からよいと思うのですが、
サーブレットが実行されるたびにロードされるだけのような気がして、
そうなるといちいちPoolableObjectFactoryインターフェイスの実装クラス
を生成したりして効果がないのではないかな?と思ったんですけど。
907 :
nobodyさん:04/05/23 13:20 ID:QmMbhRLu
Hibernateとか使えば?
>>906 普通はコンテナのDataSourceをJNDI経由で取得するけどな
接続の管理はコンテナにやらせた方が開発側にも運用側にも
メリットが大きい。
910 :
nobodyさん:04/05/23 19:57 ID:OKzYro8X
|
|
∩___∩ | ぷらぷら
| ノ _, ,_ ヽ (( |
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
> web.xmlとか他の場所におくことは可能でしょうか?
無理。
>>905参照。
> jspやsrcフォルダの名前を変えたり、場所を変更することって可能でしょうか?
どうぞご自由に。
数件前のレスも調べられない奴には無理だと思うがw
同じことをなぜ二度聞くのだろう。
>>904>>910 web.xmlの場所は変えられん。
参考までに、なんだけど、ver4までserver.xmlで記述していた内容の
一部が、META-INF/context.xmlで記述できるようになった。
(ResourceLink等)
俺もまだ使い切ってないのでアレだけど、結構嬉しい変更だね。
ま、ググッてみてくれ。
915 :
nobodyさん:04/05/25 19:53 ID:MF8n1Tko
BMP Entity Beanについて教えてほしいですが、
ejbStoreはどのタイミングで実行されるんでしょうか?
findByPrimaryKey
↓
setメソッド
↓
???(DBへの反映は何かする?それともほっておく??)
J2EEサーバに依存する話になってくるのでしょうか?
ちょっと調べてトランザクションの開始と終了にejbLoadとejbStoreが実行される
ような事を見たんですけど、どうもejbStoreだけ呼ばれてないような感じがしまして…。
(と言うか、どのようにしたら?どのような状態になったら?実行されるのでしょうか)
お分かりになる方、どうかご教授お願いしますm(__)m
環境
J2SE 1.5 Beta 1
JBOSS 3.2.3
Oracle 8i(細かいバージョンは忘れました…)
>>915 コンテナ依存する。
ejbStore() や ejbLoad() が実行されるタイミングは意識してはいけないことになっている
>>917 おぉ、レスありがとうございます。
やはりプログラム側ではどうしようもないんですね…。
(どうにか出来るがしちゃいけないんですね)
setメソッドを呼び出した後10分ほど放置してもejbStoreが走らないし、
JBOSS終了時も走らない…。
DBへの更新ができないなぁと悩んでたんですが、
もうちょいJBOSS+EJBの仕様を調べてみます。
>>916 直たたきになるのかな
遷移先でgetParameterなどしてるとリクエストが飛んでこないのでnullになるはずですよ
>919 ( ゚д゚)?
Tomcatの4.1.24を使っています。
クラスなどを更新して自動再ロードしたら、
セッションオブジェクトなどがちゃんとそのまま使えるが、リロードする前にServletContext
にセットした値がリセットされるようです。
WebApp共通のパラメータ(例えばこの機能を使ってるユーザー数など)を格納できず悩んでます
質問は、
1、ServletContextのデータがリロードされないのは仕様ですか?
2、例えば同じ機能を使用するユーザーを制限する機能を実装するときに、
そのユーザー数をどこに格納すればいいでしょうか?まあリロードしなければ問題ないが、、、
よろしくお願いします。
922 :
nobodyさん:04/05/30 22:38 ID:WZ5KWoMd
文字化けで質問です。Tomcat4.30とStrutsを仕様いています。
http;//localhost:8080/test.do?param1=1111¶m2=岐阜県
というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、
岐?E?
というふうに文字化けしてしまいます。
何を調査すればいいでしょうか?
923 :
nobodyさん:04/05/30 22:43 ID:eCTAzsCD
質問させてください。
Tomcat3.X系で動いていたプログラムを4.1.30で動かそうとしているんですが、
JSPの表示でエラーが出ます。
index.html → Loger2Serv(Loger2Beanにデータを格納) → set.jsp の順番でアクセスしています。
<%@ page import="Loger2Bean" contentType="text/html; charset=Shift_JIS" %>
<jsp:useBean id="lb" class="Loger2Bean" scope="session"></jsp:useBean>
上記の部分のpage import="Loger2Bean" ... の部分でエラーが出ているようですが、原因がわかりません。
PageTypeの指定方法が変わったのでしょうか?
エラーは
生成されたサーブレットのエラーです:
[javac] Compiling 1 source file
D:\ProgramFiles\eclipse\workspace\Loger2S\work\org\apache\jsp\review_jsp.java:7: '.' がありません。
import Loger2Bean;
^
と出ています。JSPからLoger2Beanが見えていないのでしょうか?
ファイル配置などは、Eclipseのデフォルトだと思われます。
Loger2
├Web-INF
│ ├classes
│ │ └Loger2Bean.class/Loger2Serv.class ...
│ └src
│ └Loger2Bean.java/Loger2Serv.java
└set.jsp/index.html
対処方法を教えていただきたくレスさせて頂きます。
その他、足りない情報があれば追加します。
よろしくお願い致します。
>>922 > 文字化けで質問です。Tomcat4.30とStrutsを仕様いています。
「使用しています」だろ?
> http;//localhost:8080/test.do?param1=1111¶m2=岐阜県
> というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、
> 岐?E?
> というふうに文字化けしてしまいます。
ServletRequestのgetParameterValues() だろ?
String value2 = new String(request.getParameter(param2).getBytes("ISO-8859-1"), "Windows-31J");
でOKなはず。"Windows-31J" のところは、環境に応じてEUC-JPとかShift_JISとか適切な値に変更してくれ。
925 :
922:04/05/30 23:00 ID:WZ5KWoMd
926 :
922:04/05/30 23:02 ID:WZ5KWoMd
>>924 タイプミスが多くてすいません。
ありがとうございました。
>>923 JavaBeansやServletはデフォルトパッケージではなく、
何らかのパッケージに属するようにすれば動くよ。
Tomcat4から、デフォルトパッケージのコンポーネントは
動作しなくなっている。
>>926 「仕様ています」のようなタイプミスはまあいいが、
クラスやインタフェース名を間違えるのは気をつけれ。
929 :
nobodyさん:04/05/30 23:34 ID:eCTAzsCD
>>927 おぉ〜ありがとうございます。
新たにパッケージに属するようにBeanの方を設定したら、無事動きました。
ありがとうございます。本当に助かりました。
930 :
nobodyさん:04/05/31 11:38 ID:8D/47Lkb
質問です。
Servlet内から相対パスでファイルを呼び出す場合は、どのような記述にすればいいのでしょうか?
TestServletというServletを作成して、TestServlet\WEB-INF\classes\servlet\test.classから
TestServlet\WEB-INF\lib\test.propatiesというファイルを相対パスで読み込みたいのですが、
記述方法がわからず呼び出せません。
web.xmlの初期化パラメータに絶対パスを記述してもいいのですが、プログラム作成機がWinで実行機がLinuxなもので、
いちいち実行機に移すときにweb.xmlを書き換えるのも・・・
new File(getServletContext().getRealPath("/"),"WEB-INF/lib/test.properties");
>>931 動作確認できました。ありがとうございます
933 :
nobodyさん:04/06/01 00:08 ID:1ZeWDaRJ
>>930 ClassLoader#getResourceAsStream(String)などのメソッドを使ってCLASSPATH中の
ファイルへの入力を開くことができます。なので、Servletのinit(ServletConfig)
メソッドなどで、以下のような処理をするといいかもです。
詳細はjava.lang.ClassLoader#getResourceAsStream(String)参照。
------------------------------------------------------------------------------------
ClassLoader loader = this.getClassLoader();
InputStream is = null;
Properties prop = new Properties();
try {
is = loader.getResourceAsStream("test.properties");
if ( is == null ) throw new ServletException("ERROR!!");
prop.load(is);
}catch ( IOException e ) {
throw new ServletException("設定ファイルの読み込み中にエラーが発生しました。", e);
}
------------------------------------------------------------------------------------
934 :
nobodyさん:04/06/01 02:20 ID:9Mqad65F
Tomcatのセッティングよくわからなくて、適当に遊んでいた。
そして、マネージャーで配置削除を押した。
その瞬間80Gにも及ぶ俺が今まで、Winnyなどでためたお宝ファイルが一瞬にして消えた。
復帰ソフトを使ってもほとんど無理だった。
トホホ…
>>934 なぜに、そんなところにお宝ファイルを置いているのやら・・・