JAVA+JSP+Struts+Tomcat Part2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/10/23(日) 16:10:05こんな環境で仕事したくねぇ〜〜
みんなでMS環境に移行しようぜ!
0412デフォルトの名無しさん
2006/03/04(土) 05:31:24デフォルトでは管理権限ユーザーは一切設定されてない。
自分で登録してやる必要がある。
http://tomcat.apache.org/tomcat-5.0-doc/manager-howto.html
日本語の情報が必要なら"tomcat-users.xml 管理者"あたりでぐぐってみ。
0414デフォルトの名無しさん
2006/03/04(土) 20:16:49Strutsってそういうものなの?
0415デフォルトの名無しさん
2006/03/04(土) 22:13:15Javaって重くね? その5
http://pc8.2ch.net/test/read.cgi/prog/1140613666/
0416デフォルトの名無しさん
2006/03/05(日) 19:41:30JSP2.0ってそんなに使い難いかな?
たしかにスクリプトレットや独自Tag使ってた頃は嫌だったけど、ELとJSTLでかなりマシになった気がするのだが
0417デフォルトの名無しさん
2006/03/05(日) 19:44:020418デフォルトの名無しさん
2006/03/05(日) 20:01:07先細りになるかもわからんオープンソースのフレームワークやテンプレートエンジンより
標準仕様最強。
0419デフォルトの名無しさん
2006/03/05(日) 20:33:04それでもなお JSTL+EL で良いならそれでいいのでは?
結局最後はJavaScriptガリガリ書かされる羽目に陥るから
だったら最初から生に近い Velocity の方が最終的にはシンプルに感じる。
JSP の上に何個言語乗っける気なんだって感じだし。
0420デフォルトの名無しさん
2006/03/05(日) 21:33:510421デフォルトの名無しさん
2006/03/07(火) 03:21:20質問するときってageていいんですよね?半年ロムってろとか言われたらどうしy(ry
struts1.2 Tomcat5
で開発しています。
<meta http-equiv="refresh" content="5;url=./ShowTopic.do?t_id=<bean:write name="t_id" />">
上記のようにして、一定時間後に別のページへ飛ぶ処理をしていました。
今回、tilesを実装した関係でJSPファイルに直接上記のようなmetaタグを書くと
ソースを開いたときに中途半端な位置にmetaタグが表示されてしまいます。
そこで、tiles-defs.xmlの該当するdefinitionに
<put name="http-equiv" value="refresh" />
<put name="content" value="5;url=./ShowTopic.do" />
の2つを追加する事で、中途半端な位置にmetaタグが表示される問題は解決できました。
しかし、この方法ではリクエストパラメータが乗せられず困っています。
誰か良い方法を知りませんか?
※strutsの勉強を始めたばかりで、使っている用語も適切では無いかもしれません。すいません。
0422デフォルトの名無しさん
2006/03/07(火) 09:59:41半年ロムってろ
というより、metaタグでrefreshするのが間違い
0423デフォルトの名無しさん
2006/03/10(金) 14:33:59<put name="http-equiv" value="refresh" />
<put name="content">5;url=./ShowTopic.do?t_id=<bean:write name="t_id" /></put>
では駄目?
使ったこと無いから、よーわからんが・・・
0425421
2006/03/10(金) 15:43:29やってみましたが、できませんでした。
putタグ内に<を含めるなと怒られてしまいました。
422さんの言うとおりmetaタグを使う発想自体間違っているのでしょうか。
アクションは咬ましてないので、自分には見当もつきません。
0426デフォルトの名無しさん
2006/03/10(金) 16:17:44それはカスタムタグが正しく動作していないだけだろ。
taglibディレクティブでちゃんとインポートしてるか?
0427421
2006/03/10(金) 17:38:30JSPページではbeanタグをインポートしています。
tiles-def.xml内でもtaglibディレクティブは書けるものなのでしょうか?
試してみます。
0428デフォルトの名無しさん
2006/03/12(日) 09:32:06tilesは使ってないからわからんが、Actionかスクリプトレットで
response.setHeader("Refresh", "5;" + request.getContextPath() + "/ShowTopic.do?t_id=" + t_id);
じゃ駄目なの?
0429デフォルトの名無しさん
2006/03/17(金) 00:38:07どうもチェックの処理はしているようなのですが、
エラーメッセージの小窓が出ません。
なぜでしょう?
0430デフォルトの名無しさん
2006/03/17(金) 00:47:31validation-rules.xmlにjavascriptが書かれてないようなのですが。。
0431デフォルトの名無しさん
2006/03/17(金) 04:34:12ちなみに、requiredifは非推奨だ。validwhenを使え。
0432デフォルトの名無しさん
2006/03/17(金) 13:13:03コンパイルすると、下記のエラーが出ます。
なにかのバグでしょうか。
StandardWrapperValve[action]: サーブレット action のServlet.service()が例外を投げました
java.lang.Error: コンパイル問題が未解決です。
org.apache.taglibs を型に解決できません。
0433デフォルトの名無しさん
2006/03/17(金) 13:13:460434http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 19:19:24もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0435デフォルトの名無しさん
2006/03/19(日) 14:11:21どうやったらできるのでしょうか?
0436デフォルトの名無しさん
2006/03/19(日) 15:14:14そもそもなぜそんなことが必要なのか疑問。
JARをWEB-INF/libにいれるのではダメなのか?
ダメならクラスローダ自作汁
0437435
2006/03/20(月) 15:01:12他のプロジェクトのクラスをimportして使いたいのです。
しかしディレクトリ構成が別のところにあるため、CLASSPATHを通さないと使えないようです。
他のプロジェクトのクラスを使える良い方法があれば、別にCLASSPATHを通すひつようもないのですが、
良い方法はありませんか?
0438デフォルトの名無しさん
2006/03/20(月) 15:41:23構成をもう少し詳しく教えてくれんか。
0439デフォルトの名無しさん
2006/03/20(月) 15:54:45他のプロジェクトのクラス群をJARにエクスポートして
自分のアプリのWEB-INF/libに入れる。
0440435
2006/03/20(月) 16:00:41それでカウンタ用のプロジェクトを作って、他のプロジェクトから参照したいわけです。
eclipse上では参照の設定があるのでコンパイルが通るのですが、
実際にtomcat上で(eclipseからではなく直接)動かそうとすると
そのカウンタのクラスが見つからないと言われます。
カウンタを使っているウェブアプリのWEB-INF/classes以下にカウンタクラスがないので当然なわけですが。
0441435
2006/03/20(月) 16:02:54その場合、参照先プロジェクトに変更があるたびに
jarを作り直して参照元にコピーしてやる必要がありますよね?
それをしたくないので良い方法はないかと模索してるわけですが・・・
0442デフォルトの名無しさん
2006/03/20(月) 17:10:28だいたい事情は飲み込めたけど、それでも 439 氏の策を採った方がいいと思うよ。
可能な限り自動化するようにビルドファイル用意したらいい。
自動化しとかないと、どっかで jar のバージョン不整合が起きて泣くことになる。
0443デフォルトの名無しさん
2006/03/21(火) 00:47:440444デフォルトの名無しさん
2006/03/28(火) 20:53:270445デフォルトの名無しさん
2006/03/28(火) 21:00:25思い立ったが吉日。
でも、趣味で公開しようと思ったらサーバーがなかなかないよ。
0446デフォルトの名無しさん
2006/03/28(火) 21:16:190447デフォルトの名無しさん
2006/03/28(火) 21:16:21なんかJavaは進歩が早いし、Servletは古い本が多いし、対応サーバがないしとServletは廃れている印象を受けたのですがやってみようと思ってます。
0448デフォルトの名無しさん
2006/03/28(火) 21:17:54そうなんですか?
ちょっと高級なCGIくらいの印象しかないんですが。
企業のポータル作成とかじゃなくてJavaゲームのハイスコアランキングとかそんなのに使おうと思ってます。
0449デフォルトの名無しさん
2006/03/28(火) 21:54:31自宅サーバなら Struts でも JSF でも使えばいいやん。
0450デフォルトの名無しさん
2006/03/28(火) 22:30:21Servlet自体は古い本だろーが関係ないよ。 進歩してないから。
0451デフォルトの名無しさん
2006/03/28(火) 22:41:20新しい本は目に入らないわけですか?
0452デフォルトの名無しさん
2006/03/29(水) 00:12:09量子力学が当たり前になったからってニュートン力学が廃れたりはしない。
0453デフォルトの名無しさん
2006/03/29(水) 09:38:21Servletを知らずしてこれらのフレームワークが扱えるとは思えない。
0454デフォルトの名無しさん
2006/03/29(水) 14:06:59お前恥ずかしいことを言うなよ。
良く嫁
0455デフォルトの名無しさん
2006/03/31(金) 23:47:28連携方法はググって
ttp://www.nihon-eng.co.jp/c-break/technote/tomcat/TCAT55_HTTP_SVR.htm
↑このページを見つけたんですが、server.xml を修正後、説明の通り Tomcat の
停止と再起動をやっても、ここに書かれている様な再起動が出来ず後に進めません。
なんか Tomcat5 だと IIS との連携が出来ないみたいな情報もあるみたいですし
無理なんでしょうか?
でも諦めたくありません。
どなたか出来る方法をご存知のかたいませんか?
0456デフォルトの名無しさん
2006/03/32(土) 00:37:35そこのページの情報ではなく、
http://hp.vector.co.jp/authors/VA007890/java/tomcat_via_iis/
を参考にしたけど、とりあえず問題なく連携できました。
そのページ、もしかすると情報が古いのかな。
server.xmlは基本的にはいじってません(8080ポートを閉じるためにはいじっているけど)
また現在のJKConnectorのインストーラ(msiファイル)を使うと上記ページにあるような
レジストリとかIISへの設定も自動でやってくれます。
あとはuriworkermap.propetiesファイルをいじるくらいかな。
0457デフォルトの名無しさん
2006/03/32(土) 11:49:19ありがとうございます。
試してみます。
0458デフォルトの名無しさん
2006/03/32(土) 22:07:41プロジェクトのプロパティー
↓
Javaのビルドパス
↓
プロジェクト
↓
追加
0459458
2006/03/32(土) 22:11:37eclipseを通さないとできないって話か。
server.xmlにclasspath書けばいけるけど管理コストあがるし
普通にjarをlibにつっこむほうがいいだろうな。
0460デフォルトの名無しさん
2006/04/12(水) 20:20:08JSP+Beanで書いたときのBeanのクラスファイル置くディレクトリってどこですか?
0461デフォルトの名無しさん
2006/04/13(木) 07:40:59どこがTomcat5.5についての質問なんだよ
0462デフォルトの名無しさん
2006/04/19(水) 12:04:40$TOMCAT_HOME/webapps/hogehoge/WEB-INF/classes
0463デフォルトの名無しさん
2006/04/19(水) 13:35:42中途半端に教えてもデフォルトパッケージでクラス作ってたり、
IDE使ってアプリのデプロイ場所が違ったりで躓くのは目に見えてるからやめとけよ
0464デフォルトの名無しさん
2006/04/20(木) 15:58:050465デフォルトの名無しさん
2006/04/21(金) 10:16:360466デフォルトの名無しさん
2006/04/22(土) 04:03:07「基礎からはじめるサーブレット/JSP」という本で勉強してます。
本に書いてあった通りTomcatをインストールしたのですが起動できません。
WinXP SP2
JDK 1.5.0_06
Tomcat 5.5.9
PathとJAVA_HOMEの設定は確認しました。
ログに↓こんなんでました。誰かわかる人いたら教えてください。
2006/04/22 3:43:43 org.apache.tomcat.util.digester.Digester startElement
致命的: Begin event threw error
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
0467デフォルトの名無しさん
2006/04/22(土) 04:04:07at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2365)
at java.lang.Class.privateGetPublicMethods(Class.java:2488)
at java.lang.Class.getMethods(Class.java:1406)
at org.apache.tomcat.util.IntrospectionUtils.findMethods(IntrospectionUtils.java:803)
at org.apache.tomcat.util.IntrospectionUtils.setProperty(IntrospectionUtils.java:267)
at org.apache.catalina.startup.SetAllPropertiesRule.begin(SetAllPropertiesRule.java:58)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1275)
0468デフォルトの名無しさん
2006/04/22(土) 04:04:40at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:220)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:872)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.Catalina.load(Catalina.java:473)
at org.apache.catalina.startup.Catalina.load(Catalina.java:509)
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:585)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:243)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:408)
0469デフォルトの名無しさん
2006/04/22(土) 04:10:30C:\>set Path
Path=C:\Program Files\Java\jdk1.5.0_06\bin;C:\Program Files\ThinkPad\Utilities;C
:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\Wi
reless\Bin\;C:\Program Files\IBM ThinkVantage\Client Security Solution;C:\Progra
m Files\Diskeeper Corporation\Diskeeper\;C:\Program Files\ThinkPad\ConnectUtilit
ies;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
C:\>set JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06
0470デフォルトの名無しさん
2006/04/22(土) 04:58:09Servlet APIが見えてないようだ。
Tomcatのインストールフォルダの下 common/lib にservlet-api.jarとかちゃんとあります?
0471デフォルトの名無しさん
2006/04/22(土) 13:38:07jakarta-tomcat\common\lib に、jarファイルはあります。
9つあって、servret-api.jar というのもあります。
0472デフォルトの名無しさん
2006/04/22(土) 14:26:54どういう方法でTomcatを起動してる?
サービス?
Tomcat moniterから?
0473デフォルトの名無しさん
2006/04/22(土) 15:07:27二通りのやり方で、起動してみました。
まず、jakarta-tomcat\bin にある
startup.bat をダブルクリックしてみました。
これだと、例外が出たときにすぐコマンドプロンプトが閉じてしまい確認できなかったので、
次は、jakarta-tomcat\binをカレントディレクトリにしてから、
catalina run
というコマンドで実行しました.。
いずれも、ログに、>>466-468 のようなエラーが出て起動できませんでした。
0474デフォルトの名無しさん
2006/04/22(土) 15:51:03仕事じゃなくて勉強なんだからTomcat5.0.28に落としたら?
あと、
>JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06
半角空白を含むディレクトリにJava系のもろもろインストールしないほうがいい。
今回は関係なさそうだけど、いつかこれでハマることになる。
0475デフォルトの名無しさん
2006/04/22(土) 18:03:11JDKフォルダを指定したんじゃないか?
Java1.5でtomcatインストールするときはJREフォルダに指定しないと
いけなかったと記憶してる
C:\Program File\Java\jdk1.5.0_6じゃなく
C:\Program File\Java\jre1.5.0_6
0476466
2006/04/23(日) 01:39:17色々やってもだめだったので、一度削除して、
Tomcatだけインストールしなおしたらいけました。
結局、原因は不明でした。
アドバイスくれた人ありがとうございました。
0477デフォルトの名無しさん
2006/04/23(日) 10:07:45JDK1.5.0_06とTomcat5.5.15の環境を使ってるが
JDKフォルダを指定して普通に起動出来てるよ
0478デフォルトの名無しさん
2006/04/23(日) 11:39:25それではまるのは確かapacheかtomcatだよね。
0479デフォルトの名無しさん
2006/04/24(月) 02:10:06なにも考えずに使えるよ。
0480デフォルトの名無しさん
2006/04/24(月) 07:13:230481デフォルトの名無しさん
2006/04/25(火) 01:18:30それをやらなかったとしても、サーブレットとかJSPの基本はNetBeans使っても変らないわけだし。
Eclipse使ってもいいだろうし。
EclipseかNetBeansがないと何もできない人になったとして、なんの不具合もない。
0482デフォルトの名無しさん
2006/04/25(火) 07:31:10> EclipseかNetBeansがないと何もできない人になったとして、なんの不具合もない。
ここまで言い切るとは。すげーな。
0483デフォルトの名無しさん
2006/04/25(火) 07:54:03> サーブレットとかJSPの基本はNetBeans使っても変らないわけだし。
かわらんだろ。
0484デフォルトの名無しさん
2006/04/25(火) 19:38:21web.xmlの設定って応用的なこと、もしくはオプショナルなことだったんだ・・・
今まで基本的なことだと思ってた。
0485デフォルトの名無しさん
2006/04/25(火) 21:27:57いらんだろ。チームに1人、技術オタが居ればそれですむ。
IDE はそれが出来るようになってるからな。
0486デフォルトの名無しさん
2006/04/26(水) 06:40:41IDEを使えば全く必要ないことだろ。
オプショナル以外の何者でもない。
0487デフォルトの名無しさん
2006/04/26(水) 22:44:160488デフォルトの名無しさん
2006/04/26(水) 23:46:210489デフォルトの名無しさん
2006/04/27(木) 00:00:300490デフォルトの名無しさん
2006/04/27(木) 00:05:49IDEを使えば全く必要ないことだろ。
0491デフォルトの名無しさん
2006/04/27(木) 00:58:170492デフォルトの名無しさん
2006/04/27(木) 01:07:56そういう条件があるときに、その条件にあわせてちょっと勉強すればいいだけだし、それは最終調整のような場合だろ。
実際の開発でIDE使えないことはないだろ。
0493デフォルトの名無しさん
2006/04/27(木) 11:29:160494デフォルトの名無しさん
2006/04/27(木) 15:55:31環境設定だけは妙に詳しいやつとかいるよな。
0495デフォルトの名無しさん
2006/04/30(日) 01:08:42Apache使わないといけないの?
0496デフォルトの名無しさん
2006/04/30(日) 01:28:54> なぁTomcatだけで運用できそうなのになんで
HTTPアクセスの多いようなところはやっぱりApacheに処理させた方がいいが、
Tomcatでも問題ないようならそうしたらいいだけの話。
0497デフォルトの名無しさん
2006/04/30(日) 01:30:30的確な回答ありがとうございます
0498デフォルトの名無しさん
2006/04/30(日) 01:45:45意味がない。仮想ホストやSSLもTomcatだけでできるしな。
0499デフォルトの名無しさん
2006/04/30(日) 02:13:42例えば日本語ファイル名の扱いとか。
0500デフォルトの名無しさん
2006/04/30(日) 22:07:52HTTPでの日本語ファイル名の取り扱いってRFCとかで明確になってるもんか?
使っちゃだめだと思ってた。
0501デフォルトの名無しさん
2006/05/04(木) 12:08:42一度書き込みをしたあと、IEの更新ボタンを押すと
「ページは、情報を 再送信しなければ、更新できません。」
っていうダイアログでて再送信おしてしまうと
前回書き込んだ内容が自動で書き込まれてしまう・・・
更新おしてもダイアログと書き込みを防ぎたいんだけど
どうでしょうか?
0502デフォルトの名無しさん
2006/05/04(木) 12:18:33そういう場合があるから、
更新処理後の画面遷移はフォワードではなくリダイレクトを使うのが定石。
0503デフォルトの名無しさん
2006/05/04(木) 12:19:370504デフォルトの名無しさん
2006/05/04(木) 12:29:02トークン(Token:文字列)ってのは一般名詞で紛らわしいからやめれ。
Strutsの機能ならTransactionTokenだろ。
ちなみに、>>501の場合はTransactionTokenを使っても解決できない。
0505デフォルトの名無しさん
2006/05/04(木) 12:30:210506デフォルトの名無しさん
2006/05/04(木) 12:40:04作りにもよるが、多くの場合は防げない。
0507デフォルトの名無しさん
2006/05/04(木) 12:41:03kwsk
0508501
2006/05/04(木) 12:44:06ってすまん。勉強不足でよくわからん。
RequestDispatcherのforwardメソッドで画面遷移してるんだが
これが問題?
0509デフォルトの名無しさん
2006/05/04(木) 12:50:52> RequestDispatcherのforwardメソッドで画面遷移してるんだが
> これが問題?
その通り。HttpServletResponseのsendRedirectメソッドを使おう。
>>507
フォワードを使った場合は
フォーム入力・送信→サーバ側更新処理→(forward)→掲示板ログ表示
までが一回のリクエスト/レスポンスで行われる。ブラウザの更新ボタンを
押下した場合はこのリクエストがもう一度送信される。
リダイレクトを使った場合は
フォーム入力・送信→サーバ側更新処理→(ブラウザへレスポンス)
(ブラウザから自動的に再リクエスト)→掲示板ログ表示
という流れになり、二回のリクエスト/レスポンスが発生する。
ブラウザの更新ボタンを押下した場合は後者のリクエストのみが再送信される。
0510501
2006/05/04(木) 12:51:06リダイレクトわかった。
サンクス
0511デフォルトの名無しさん
2006/05/04(木) 13:19:43それは使い方がまずいんじゃないの?
■ このスレッドは過去ログ倉庫に格納されています