JAVA+JSP+Struts+Tomcat Part3
■ このスレッドは過去ログ倉庫に格納されています
0001965
2006/10/26(木) 20:41:36027336
2007/02/28(水) 09:49:28すまん。レス番間違えた。
なんでwar化しないのか俺が知りたかった。
>>244
warにしないと汚くなるじゃないか。
ゴミが溜まって処理できなくなるし
他のバカ顧客が勝手な配備をさせしないためにも
意図的にwar化しておくべき。
所定のディレクトリ以外に置いた場合は保証をしないと
そうやって、顧客に圧力をかけておかないと
0274デフォルトの名無しさん
2007/02/28(水) 09:51:17もっと頭使えよ。
log4jは別のとこに置け。
といっても、どっちみちclassに自動展開されれば勝手に弄れるし
0275デフォルトの名無しさん
2007/02/28(水) 11:31:470276268
2007/02/28(水) 15:10:54まぁ、そんなとこです。
>>271
それ使います。
>>272
JavaAppletも検討しましたが、Ajaxになりました。
・要員が集まりにくい→工数増
・Ajaxより重い?微妙です。
>>267
なるほどJSONという型があるのですか。
最大で、縦10列、横行列のHTMLテーブル全ての値を更新するデータ量です。
JSONはオブジェクト型のようで、この辺りが心配です。
まぁ、XMLよりは早いでしょうけど。
ActionクラスでReaderを使うというのも参考になりました。
サーバー側は画面遷移機能と開発のしばりという意味で
Strutsを使っておきたいですので。
(それほど強い縛りではないですが…)
他にも助言あれば頂きたいです。
0277デフォルトの名無しさん
2007/02/28(水) 22:39:40サーバー側でXML・XSLとか直接テーブルのHTMLを文字列で作ってinnerHTMLでいいやん。
どうしてもJSONで受けたいならJSON渡すだけでテーブル作ってくれるようなjavascriptのライブラリを探せば?
特定列を固定できてスクロールできるようなテーブルとか作ってくれるのもあるし。
0278268
2007/03/01(木) 00:33:18確かに。JSONで受けて、クライアントでゴリゴリする必要はないですね…
クライアント側が複雑になりそうですし。
>JSON渡すだけでテーブル作ってくれるようなjavascriptのライブラリを探せば?
探しましたが見つからなかったです。
ActionクラスでDB検索→HTML生成→Reader書き込み→return nullってやつですかね。
0279デフォルトの名無しさん
2007/03/01(木) 00:38:24そもそもapacheって必要? セキュリティや詳細なアクセスログをとりたい
のなら別ですが、オールインワン構成であれば、余計な負荷をかける
だけになると思うのですが、実際のところどうでしょう。
書籍等で、apache + Tomcat の連携が多かったものですから。
0280デフォルトの名無しさん
2007/03/01(木) 01:23:40悪い、ReaderじゃなくてWriterだったw
というか、XML or HTMLなら、Writerに書くんじゃなくてJSPやVelocityを
テンプレートで使ったほうがいいと思う
0281デフォルトの名無しさん
2007/03/01(木) 01:28:11とある事情があってWebアプリごとにTomcatのホームディレクトリ配下以外の場所に
Jarとか設定ファイル類をおきたいんだけど。
0282デフォルトの名無しさん
2007/03/01(木) 01:51:09つ[WEB-INF/classes or WEB-INF/lib]
0283デフォルトの名無しさん
2007/03/01(木) 21:59:47ログに残すことってできないでしょうか?
0284デフォルトの名無しさん
2007/03/01(木) 22:10:07つ TCPモニタ
0285デフォルトの名無しさん
2007/03/01(木) 23:04:57感動しますた。ありがとうございます。
0286デフォルトの名無しさん
2007/03/02(金) 01:20:02そこ以外でWebアプリごとにJarファイルを置く場所はやっぱり無理なのかな。
リビジョン違いのWebアプリを1台のマシン環境で確認できる環境を作りたいから
環境変数CLASSPATHでもできないし。
Tomcatそのものを環境分分けるとかしないとダメかな
0287デフォルトの名無しさん
2007/03/02(金) 09:17:27Apacheとの連携でできる
0288デフォルトの名無しさん
2007/03/02(金) 09:43:520289デフォルトの名無しさん
2007/03/02(金) 17:56:300290260
2007/03/05(月) 00:20:42ってことは、struts-validatorを利用することは可能なのですね。
独自のvalidatorルールズ作れば良いと。
ただ、フィールドの値を2つないし3つチェックする為には
validator-rules.xmlに追記しないといけないと思うのですが、
どのようにすればよいのでしょうか?
それとも、各プロパティに適用するValidatorルールをvalidation.xml
なんかに記述してそれを見るのか・・・
ググッても2つのフィールドをっていうのが出てこないので困ってます。
validation.xmlにform名とフィールどと対応するjavaクラス(チェッククラス)
を記述し、validator-rules.xmlにvalidation.xmlの呼び出し部分を記述する
見たいな感じなのでしょうか?
上記みたいな説明でわかりやすく教えていただけないでしょうか?
お願いします。です。
0291デフォルトの名無しさん
2007/03/05(月) 00:37:44StrutsとCommons Validatorのソースとにらめっこすれば、
そう難しいことではないんだけどね・・・
ここで手取り足取り教えるのは正直めんどいので・・・
ぐぐより先に、公式ドキュメント。
http://struts.apache.org/1.3.5/faqs/validator.html
↑このへんからリンクのある
http://www.raibledesigns.com/rd/date/20030226#struts_validator_validating_two_fields
このへんを参考に汁。
あくまで、参考だから、応用が必要。
ズバリ正解そのものではないので注意。
0292デフォルトの名無しさん
2007/03/05(月) 13:30:48classes12.jarが10gに入ってないみたいなんですけど
どうしたらよいでしょうか?
0293デフォルトの名無しさん
2007/03/05(月) 13:43:02otnからDL
0294デフォルトの名無しさん
2007/03/05(月) 13:58:58というかjarファイル名いい加減変えろよな。classesじゃ何のjarかわかんね。
0295デフォルトの名無しさん
2007/03/05(月) 15:26:270296デフォルトの名無しさん
2007/03/05(月) 15:42:29いけないんですか?
0297デフォルトの名無しさん
2007/03/05(月) 20:12:590298デフォルトの名無しさん
2007/03/05(月) 22:28:120299デフォルトの名無しさん
2007/03/05(月) 22:31:14ファイルとかDBとかにインスタンスを保存する場合じゃないの?
0300デフォルトの名無しさん
2007/03/05(月) 22:38:29HttpSessionそのものがシリアライズ対象だから、
HttpSessionに入っているオブジェクトがシリアライズされていないと、
例えばコンテナ起動・停止時やクラスタリングのレプリケーション時に
HttpSessionのシリアライズ・デシリアライズに失敗して
正常にSessionを維持できなくなる。
0301デフォルトの名無しさん
2007/03/06(火) 00:58:54とっくに変わってるが。
0302デフォルトの名無しさん
2007/03/08(木) 03:13:30途中で切れるのですが、これはJVMの問題でしょうか?
0303デフォルトの名無しさん
2007/03/08(木) 07:41:030304デフォルトの名無しさん
2007/03/08(木) 07:45:240305デフォルトの名無しさん
2007/03/08(木) 11:00:45変えたり、他のパターンに変えようかなと思っているのですが、一般的にはどの
ように変えることが多いでしょうか。
静的なページも含めすべてのページの拡張子を.jspに統一して、Actionを.doで
はなく.htmlにしている人がいるのですが、こういうのもありでしょうか。
0306デフォルトの名無しさん
2007/03/08(木) 11:11:410307デフォルトの名無しさん
2007/03/08(木) 16:29:59久しぶりにtomcatをダウンロードして(5.5.20)サンプルを作り始めました。
質問:
以下の○1.と、○2. はやっていることは同じだと思ってよいですか?
みなさんは○2.をいつもやっていますか?
○1.
ある web アプリの中で
input.html (HTML form があって、適当に日本語を入力させる) → ResultServlet.java
みたいにつくったとします。
input.html の form のテキストボックスで日本語を入力して、
ResultServlet.java のなかで String name = (String) request.getParameter("name") すると、日本語が化けてしまいます。
input.html は Shift_JIS で作っているので、ResultServlet.java の request.getParameter() の前に
request.setCharacterEncoding("Windows-31J");
を入れたことで回避できました。
0308307
2007/03/08(木) 16:30:29○2.
http://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT55_Inst.htm#web.xml
(リンク元は http://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT55_MnFrm.htm )
をみると、自分の web アプリの web.xml に以下を追記せよとあります。
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>Shift_JIS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
これは、その web アプリへ飛んできた全ての http request に対して、
filter がまず横取りして、文字コードを全て Shift_JIS (Windows-31Jのほうがいいかなと思いますが)に
変換してから、各 Servlet や jsp に処理が移るというように理解してます。
0309デフォルトの名無しさん
2007/03/08(木) 23:41:21>以下の○1.と、○2. はやっていることは同じだと思ってよいですか?
一緒だと思ってもらっていいともいます。
>みなさんは○2.をいつもやっていますか?
はい。普通はそうすると思います。
以上です。よろしくお願い島す。
0310デフォルトの名無しさん
2007/03/09(金) 15:38:36どのようなものがあるでしょうか?
0311デフォルトの名無しさん
2007/03/09(金) 15:46:030312デフォルトの名無しさん
2007/03/09(金) 16:05:19えっとASPの場合はリンクのような方法があるのですが
JSP/Servletにも同様のものがあるかなと思いまして。
http://www.katch.ne.jp/~h-inoue/tips/asp/0001.html
0313デフォルトの名無しさん
2007/03/09(金) 16:57:11こんなのがあったぞ
0314デフォルトの名無しさん
2007/03/09(金) 17:04:03よさげですね。ありがとうございます。
0316デフォルトの名無しさん
2007/03/10(土) 09:12:30再送信しますか?っていうダイアログ出ますか?
基本forwardだから出ると思うんですが
0317デフォルトの名無しさん
2007/03/10(土) 10:31:410318デフォルトの名無しさん
2007/03/10(土) 10:56:36フォームをPOST送信した後、forwardした場合の話かな?
それなら、出るよ。
>>317
使えます。
0319デフォルトの名無しさん
2007/03/10(土) 11:19:52出ないようにするとStruts使う意味なくなりますか?
0320デフォルトの名無しさん
2007/03/10(土) 11:43:48べつにかまわんよ
0321デフォルトの名無しさん
2007/03/10(土) 12:26:09案件次第
0322デフォルトの名無しさん
2007/03/11(日) 04:07:55どっかのOSS系のベンチマークを取ってる協会?によると、
tomcat4系までは遅く、5系から劇的に速くなるらしい。(高負荷時)
0323デフォルトの名無しさん
2007/03/11(日) 17:17:37formからpostするときには
postされたservletが次のservletにredirectして
そのservletからjspにforwardするのがいいですかね
0324デフォルトの名無しさん
2007/03/11(日) 20:56:03なぜそんな回りくどいことをしたいのか理解に苦しむが、
そもそもこのスレのお題であるStrutsを使ったら、普通はそうはならんけどね。
0325デフォルトの名無しさん
2007/03/11(日) 21:25:200326デフォルトの名無しさん
2007/03/13(火) 16:08:54シリアライズがimprementsされていないのですが
なぜでしょうか?
0328デフォルトの名無しさん
2007/03/13(火) 18:11:420329デフォルトの名無しさん
2007/03/13(火) 21:39:19雑誌に掲載されているものが全て正しいと思ってはいけない
0330デフォルトの名無しさん
2007/03/14(水) 21:15:39ttp://itpro.nikkeibp.co.jp/article/NEWS/20060515/237790/
0331デフォルトの名無しさん
2007/03/16(金) 21:46:12その中に置いてあるファイルがあたかもルートにおいてあるかのように動くんだけど、
これってTomcatの設定とかでできるもんなの?
0332デフォルトの名無しさん
2007/03/16(金) 23:05:390333デフォルトの名無しさん
2007/03/16(金) 23:33:55Eclipse+WTPで開発してる人はまったく問題がないんですよ。
Tomcatの起動もEclipse上からするわけだし。
そうじゃない人がいるのよ。Eclipse重いから嫌なんだと。
で、その人がアプリを落としてきて
/APP名/WebContent/index.htmlのファイルに
http://...../APP名/index.htmlでアクセスしたいわけです。
で、Eclipseの人達はWebContentの下にあるindex.htmlはあたかもAPPの直下に置いてあるかのようにアクセスできるけど、
後者の人はhttp://..../APP名/WebContent/index.htmlじゃないと開けない。
これをなんとかしたい。
うまく説明できんな。
0334デフォルトの名無しさん
2007/03/17(土) 00:11:370335デフォルトの名無しさん
2007/03/17(土) 01:05:00http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
ただ、コンパイルした.classはどうすんの?
WTPはワークスペース内にアプリケーションの構成を作成してそれをデプロイしてるからいいけど
xdocletでも使うのかい?
もし、そうならwarにしてデプロイしてしまえばいいじゃないの?
何がしたいのさっぱりわかrん
0336デフォルトの名無しさん
2007/03/17(土) 01:13:46apache-tomcat-5.5.23-src.tar.gz
をダウンロードしてきたのですが、
servletapi/jsr154/src/share/javax/servlet 以下のソースは
public String getPathInfo();
みたいな感じで肝心のメソッドの中身が書いてありません。
メソッドの中身が書いてあるソースは公開されていないのでしょうか?
0337デフォルトの名無しさん
2007/03/17(土) 01:40:450338デフォルトの名無しさん
2007/03/17(土) 04:56:20まずはフォームから入力したデータを読み込んで(ここまではできます)
GIFかJPEGで動的に円グラフを描いて表示することを目標にしようかと思ったのですが、
これにかかわるキーワードをいくつか提示して頂けませんか?
(それを手掛かりに調べてみようと思います)
Java自体まだ始めたばかりでして、何から始めたらいいのかよく分からないのです。
0339デフォルトの名無しさん
2007/03/17(土) 06:35:23JSPとSVGでググればそれっぽいサンプルが見つかるがこれくらいのでいいのか?
0340デフォルトの名無しさん
2007/03/17(土) 08:38:29まずはここから始めようと思います、ありがとうございました。
0341デフォルトの名無しさん
2007/03/17(土) 19:25:43struts-taglib.jarみたいにtldがjarにまとめられていて
JSP上でtaglib指定したいんだけど、どーすりゃいいの?
tldがバラけてたら
<%@ taglib uri="/WEB-INF/lib/struts-bean.tld" prefix="bean" %>
な感じでいいんだけど
<%@ taglib uri="/WEB-INF/lib/struts-taglib.jar/struts-bean.tld" prefix="bean" %>
じゃimport出来てないみたいだし…
わざわざjarファイルバラすの?それだと確かに問題ないんだけど、なんか
違う気がするし…
0342デフォルトの名無しさん
2007/03/17(土) 19:41:33http://struts.apache.org/tags/struts-bean とか。
0343デフォルトの名無しさん
2007/03/17(土) 19:50:15あーあー、そうか、すごい勘違いしてたかも。どうもありがとう
0344デフォルトの名無しさん
2007/03/17(土) 19:59:00それって、Servlet2.3以降くらいじゃなかったけ?
いまどきtomcat3を使ってるとは思わないが
0345デフォルトの名無しさん
2007/03/17(土) 21:47:41JARファイルの名前から、質問者はstruts1.3を使っていると推測する。
struts1.3はServlet2.3以降が動作条件なので問題ないだろう。
0346デフォルトの名無しさん
2007/03/18(日) 01:15:23とりあえず資料よみまくって実際にサンプル書いたりして
概要は把握できたんですけど、ちょっとよくわからない部分が…
struts-config.xmlですけど、ちょっと省略しますが
<form-beans>
<form-bean name="hogeForm" type="foo.bar.HogeForm"/>
</form-beans>
<action-mappings>
<action name="hogeForm" type="foo.bar.HogeAction" path="/HogeForm">
<forward name="next" path="/2.jsp"/>
</action
</action-mappings>
actionタグのpath属性って何を指してるの?
nameが私用するform-beanで、typeがクラスで…ってのは解ったんだけど
pathがよくわからん。ようするにこのactionを実行する際のURLってことかな?
任意でいいってこと?
0347デフォルトの名無しさん
2007/03/18(日) 01:30:24そゆこと。
path属性に指定したURLパターンがリクエストされたら、このactionを実行するということ。
0348デフォルトの名無しさん
2007/03/18(日) 01:48:38なるほど。ありがとう。
やっとなんとか自力で書けそうだ。
これ、struts-configから書いて行くのが一番よさそうなんだね
configが出来てしまえば、あとは形にそってそれぞれを用意していく
だけって感じだな。
0349デフォルトの名無しさん
2007/03/18(日) 02:34:52なんかjspが生で吐き出されてしまうのだけど。。。
0350デフォルトの名無しさん
2007/03/18(日) 11:50:03「jspが生で吐き出されてしまう」がわからんが、
HTMLフレームも使えるし、JavaScriptも使える。
Strutsだからという問題は特にない。
0351デフォルトの名無しさん
2007/03/29(木) 19:22:47というコテコテな開発をする予定ですが、
お勧めバージョン&プラグイン等はありますか?
特にTomcatはレスポンスに優れたものが良いです。
3年くらい開発現場を離れていたもので…
All-In-One-EclipseとWTPを使っておけばいいのかな。
#当時はTomcatプラグインが主流でした。
以下が安泰ですかね?
All-In-One-Eclipsev3.0.1 (Eclipsev3.2)
JDK1.5.0.11
Tomcat5.5.23
Strtus1.2.7 (2.0 1.3は変更が大きい)
log4j1.2.14
0352デフォルトの名無しさん
2007/03/29(木) 23:58:090353デフォルトの名無しさん
2007/03/30(金) 01:25:01>特にTomcatはレスポンスに優れたものが良いです
ttp://tomcat.apache.org/tomcat-5.5-doc/apr.html
あたりのことか?
レスポンスをあげるにはマシンパワーをあげることを考える俺は負け組か
0354デフォルトの名無しさん
2007/03/30(金) 01:39:40NetBeans
Strutsは1.2.9が出てなかったっけ?
0355デフォルトの名無しさん
2007/03/30(金) 09:34:42でも、普通インターネットで公開されているものってルート直下じゃないですか。
公開するときってアプリケーションごとのフォルダの中身を
そのままルートにコピーすればいいんですかね?
0356デフォルトの名無しさん
2007/03/30(金) 09:50:170357デフォルトの名無しさん
2007/03/30(金) 10:23:320358デフォルトの名無しさん
2007/03/30(金) 19:27:470359デフォルトの名無しさん
2007/03/31(土) 12:51:32Apacheの設定ファイルです。
0360デフォルトの名無しさん
2007/03/31(土) 23:26:09InitialContextのlookupってどこでやってる?
SQL投げる度に毎回ってわけではないでしょ?
initメソッドでlookupして、datasourceをstaticな変数に格納?
0361デフォルトの名無しさん
2007/04/01(日) 01:34:58Tomcat6もリソースアノテーションつかえるようになったはずだし
0362デフォルトの名無しさん
2007/04/01(日) 02:22:34webアプリの話なのかなんなんかのわかんねぇ
>InitialContextのlookupってどこでやってる?
>SQL投げる度に毎回ってわけではないでしょ?
って意味がわかんないし、
>そのへんはDIでやるのでは?
ってのもわかんねぇ
おれはもう引退すべきか???
0363デフォルトの名無しさん
2007/04/01(日) 03:58:01>>361は質問無視して知識をひけらかしたいだけだろ。
「下着は外に干します?中で干します?」
「そのへんは乾燥機でやるのでは?
最近の洗濯機は簡易乾燥つかえるようになったはずだし」
0364デフォルトの名無しさん
2007/04/01(日) 04:37:01簡易乾燥だけ違和感を感じる。
でも代替案が出てこない。
0365デフォルトの名無しさん
2007/04/01(日) 05:46:40フィルター作ってやる。
0366デフォルトの名無しさん
2007/04/01(日) 11:40:58勉強してわからなかったら引退していいよ
勉強しないでわからないのは当たり前
0367360
2007/04/01(日) 11:43:05フィルターってのはServletフィルター?
全リクエストでlookupしてservletにdatasourceを引数で渡すってこと?
質問の意図はlookupの回数を減らすにはどうすればよいか?です。
きっと答えがあると思うんだけど、どこにも紹介されてないんだよね。
それとも素直にSQL投げる度でいいのかな。
0368デフォルトの名無しさん
2007/04/01(日) 12:04:52あとはアプリの種類や開発環境によって違うが
0369デフォルトの名無しさん
2007/04/01(日) 12:09:48そのlookupした結果をどこにおいておく? static変数?
0370デフォルトの名無しさん
2007/04/01(日) 12:17:42以前はHibernate+springでDAOでやってたし
詳しくは調べていないが、seamだとListenerで初期化して
Application ScopeにEntityManagerは登録されていると思う
JBOSS-EJBはHibernateによる実装なので、たぶんemを呼び出すごとに
sessionFactoryがDataSourceを使ってコネクションを張っているのだと思う
そのあたりで考えると
1)ListenerでFactoryをApplicationScopeに登録
2)FactoryでDataSourceをLookupしてSessionを返す
(トランザクションがいらなければConnectionになるかも)
って感じか?
しかし、J2SE 5.0以降ならspringかJPAを使う方が手っ取り早いと思うが
0371370
2007/04/01(日) 12:30:17を書き忘れた
0372951
2007/04/01(日) 12:32:14掲示板のサンプル作ってみたんですがvewerの見た目が宜しくありません。 何かアドバイスください。
<h1>掲示板</h1>
<form action="../servlet/myplay.BbsController" method="post">
<table border="false">
<tr>
<td>名前</td>
<td><input type="text" name = "name" maxlength="10" size="40"></td>
</tr>
<tr>
<td>題名</td>
<td><input type="text" name="title" maxlength="50" size=40"></td>
</tr>
<tr>
<td>本文</td>
<td><textarea name="text" cls="40" rows="5"></textarea></td>
<input type="submit"value="送信">
</tr>
</table>
</form>
<br>
<%
ResultSet rs = (ResultSet)request.getAttribute("crs");
while(rs.next())
{
%>
<table border="true">
<tr>
<td><%=rs.getInt("id")%></td><td><%=rs.getString("name")%></td></tr>
<tr><td><%=rs.getString("title")%></tr></td>
<tr><td><%= rs.getString("context")%></td></TR>
0373372
2007/04/01(日) 12:36:15これってMVCに反するのであまり宜しくないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています