JAVA+JSP+Struts+Tomcat Part3
■ このスレッドは過去ログ倉庫に格納されています
0001965
2006/10/26(木) 20:41:360173デフォルトの名無しさん
2007/02/04(日) 20:10:35俺は本を読まないと作れないタイプなんだよ!!!
ぼけっ
0174デフォルトの名無しさん
2007/02/04(日) 21:19:47じゃあ諦めろセンス無し
0175デフォルトの名無しさん
2007/02/05(月) 12:37:43現在a.comで運用しています。これを、b.comでもアクセスできるようにしたいのですが、
Tomcat単体で出来ますでしょうか?
ドメインの取得とDNSへの登録は完了しています。
0176デフォルトの名無しさん
2007/02/05(月) 13:57:53まずはb.comにアクセスしてみろ、話はそれからだ
0177デフォルトの名無しさん
2007/02/05(月) 14:08:29正直、鯉専用の固形の餌の方が良くない?
0178175
2007/02/05(月) 16:34:54レスありがとうございます。
IPは同じで、b.comにアクセスするとhttp 500エラーが返ってきます。
見た目、tomcatのエラーではなくブラウザのエラー(?)のように見えます。
0179デフォルトの名無しさん
2007/02/05(月) 16:43:06500エラーならサーバのエラーだろ。
500エラーが返ってきたときにブラウザがどういう挙動をするのかはまた別の話。
0180175
2007/02/05(月) 22:36:48失礼しました。
a.comですとTomcatのエラー画面(500)が表示され、
b.comですと白地のエラー画面(さっき見たら400になってましたorz)が表示されます。
どちらもpingは正常に返ってくるのですが。。。
0181デフォルトの名無しさん
2007/02/05(月) 22:43:19tomcatのエラーログ出てるなら
tomcatの設定ミスだよね
server.xmlあたりの設定にドメイン入れてないとかそんなの
0182デフォルトの名無しさん
2007/02/06(火) 01:51:52もともとTomcatに設定がいるかどうか聞きたかったんじゃねぇの?
0183デフォルトの名無しさん
2007/02/06(火) 04:42:27皆様の知恵をお貸し下さい。
構成:
WinXP HomeSP2
Tomcat5.5.20(catalina.policy以外はデフォルト)
Struts1.3.5 or Struts1.2.9
0184183
2007/02/06(火) 04:43:35サーバにデプロイした後アクセスすると、
18: <p>Each of these links lead to a separate "module" within this application.</p>
19:
20: <ul>
21: <li><html:link module="/exercise" action="/welcome">Taglib Test Pages</html:link></li>
22:
23: <li><html:link module="/upload" action="/upload">Upload examples</html:link></li>
24:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
java.security.AccessController.doPrivileged(Native Method)
0185183
2007/02/06(火) 04:44:56org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1023)
org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
と言うエラーがでます。(見づらくてごめんなさい)
0186183
2007/02/06(火) 04:45:35Struts1.2.9の同じwarファイルで試した所、全く同じエラーが発生しました。
これは<html:link>タグが怪しいと思い、struts-blankをデプロイした後、
幾つかのタグを試した所、<html:link>だけが上記のエラーを吐きました。
これはどうすれば解決できるのでしょうか?
ご協力お願いします。
0187デフォルトの名無しさん
2007/02/06(火) 10:52:11どう見ても自分で>>184に原因書いんじゃん。
0188デフォルトの名無しさん
2007/02/06(火) 21:15:41<bean:message key="hogehoge">
でメッセージリソースから文言を取得できるんだけど、
取得する文言を変数に入れる方法ってないん?
<% String str = '<bean:message key="hogehoge"> %'>
<%= str %>
って書いたら見事に失敗した。
どうすりゃいいんだろ。
0189デフォルトの名無しさん
2007/02/06(火) 21:27:48ふつうにResourceBundleを使えよ。
ViewじゃなくてControllerでやるのが良い。
セッションによって変える必要がないのなら、
ServletContextListenerやStruts PlugInを使って
初期化時に一回だけ読み込んでServletContextに入れるのがいいんじゃね?
0190デフォルトの名無しさん
2007/02/06(火) 21:32:160191デフォルトの名無しさん
2007/02/07(水) 01:03:08<%@attribute name="var"%>
<jsp:doBody var="body"/>
<c:set var="${var}" value="${body}"/>
というタグファイルを作って
<t:hoge var="str">
<bean:message key="hogehoge"/>
</t:hoge>
とやってみるというのはどうか?といま思いついた。
0192デフォルトの名無しさん
2007/02/07(水) 13:33:090193デフォルトの名無しさん
2007/02/08(木) 21:56:05JSTL使えば簡単。bundleはweb.xmlで指定しとけばいい
ただしスクリプトレットではなくて式言語からでないとアクセスできない
<fmt:message var="str" key="hogehoge"/>
0194デフォルトの名無しさん
2007/02/09(金) 11:18:29↓こんなことやっているけど?
byte id[] = session.getId().getBytes();
long current = System.currentTimeMillis();
if(current == previous)
current++;
previous = current;
byte now[] = (new Long(current)).toString().getBytes();
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(id);
md.update(now);
return toHex(md.digest());
0195デフォルトの名無しさん
2007/02/09(金) 11:30:17同一セッションで、1ミリ秒以内にアクセスされるとユニークにはならない。
・・・ってことぐらいはソースコード見ればわかりそうなものだけど?
0196195
2007/02/09(金) 11:31:301ミリ秒以内にアクセスされても違う値を生成するようになってるね。
0197デフォルトの名無しさん
2007/02/09(金) 11:37:58now + id でよくね?
toHex()するのはわかるけど・・・
0198デフォルトの名無しさん
2007/02/09(金) 13:03:43微妙にメモリ節約
0199デフォルトの名無しさん
2007/02/09(金) 13:31:12つまり、strutsにかかわらずwebアプリでユニークコード作りたい場合は
TokenProcessor.getInstance().generateToken(request)でOK!ってこと?
あ、でもセッションがあること前提か・・・
0200デフォルトの名無しさん
2007/02/09(金) 17:33:000201デフォルトの名無しさん
2007/02/09(金) 18:20:19つか、普通にロックしてインクリメントでよくね?
0202デフォルトの名無しさん
2007/02/12(月) 17:24:04ってな感じでFormに値を渡してやるとき
<bean:write name="name" property="property"/>の値が
「あいうえお」のような日本語だと文字化けしてうまく値を渡すことができません
なにか解決方法はありませんでしょうか?
0203デフォルトの名無しさん
2007/02/12(月) 17:34:200204デフォルトの名無しさん
2007/02/12(月) 22:02:02つーか、文字化け javaでググるだけでもわかると思うんだけどね
0205デフォルトの名無しさん
2007/02/12(月) 22:06:16でやるってことですか?
これでやっても無理でした
0206デフォルトの名無しさん
2007/02/12(月) 22:13:22ここに渡すときは「チマタ」という風に渡されます
jspでも<a href=/action.do?name=チマタ>
と表示されます
その次で ?`?}?^ となります
0207デフォルトの名無しさん
2007/02/12(月) 22:17:27サーバーの文字コード
JSP,Servlet,Beansファイル自体の文字コード
JSPで指定している文字コード
Servket,Beansをコンパイルする際の文字コード
エンコードする際の文字コード
をもう一回見直せばいいんじゃね?
そもそも文字コードは何で統一したいのさ?
0208206
2007/02/12(月) 22:23:46new String (String.getBytes("iso-8859-1"), "Shift_JIS");
これで解決しました。
こんなこともわからなかったなんて・・・
本当にいろいろとアドバイスありがとうございました
0209デフォルトの名無しさん
2007/02/12(月) 22:23:50その場合はserver.xmlのConnectorに設定が必要
0210デフォルトの名無しさん
2007/02/12(月) 22:34:59えらく不正確なレスだなw
Tomcat5でも、5.0.16より前のバージョンではその問題はないし、
Tomcat4でも4.1.29以降のバージョンでは同じ問題があるし、
「server.xmlのConnectorに設定が必要」なんて、思いっきり実装依存な方法だし。
0211デフォルトの名無しさん
2007/02/12(月) 22:39:10mod_proxy_balancerあたり使ってると関係無かったような…
まあ、JSP,Servletって環境からコーディングまで一通りわかってないといけないし
大変だよね…
0212デフォルトの名無しさん
2007/02/12(月) 23:04:28>そもそもあれって、jk2使ってる場合だけだったキガス
デタラメ言うな
0213デフォルトの名無しさん
2007/02/12(月) 23:24:32Tomcat4は4.1.30で元に戻ってる
つまり、Tomcat5使ってるときにだけ気をつけていれば
いちいち細かいバージョン覚えておく必要は無いw
0214デフォルトの名無しさん
2007/02/13(火) 00:39:090215デフォルトの名無しさん
2007/02/13(火) 09:45:15これは悪いメッセージでしょうか?
原因とかわければ教えてください。
2007/XX/XX 9:13:06 net.sf.hibernate.impl.SessionImpl finalize
WARNING: finalizing unclosed session with closed connection
0216デフォルトの名無しさん
2007/02/13(火) 10:35:31それともその都度スレッドをnewしているのですか?
0217デフォルトの名無しさん
2007/02/13(火) 16:10:42いいも悪いも、書いてある通りだが…。
0218デフォルトの名無しさん
2007/02/13(火) 16:25:07プールされている
0219215
2007/02/13(火) 17:37:35この書いてあることを教えて下さい。
0220デフォルトの名無しさん
2007/02/13(火) 18:21:25日本語でおk。
0221デフォルトの名無しさん
2007/02/16(金) 17:18:24現在は %CATALINA_HOME%\bin\startup.bat から起動させる形をとっていますが、
実行時に使用するメモリ量やライブラリへのパスを指定する必要があるため、
startup.bat には
set CATALINA_OPTS=-Xmx512M -Xms128M -Xss256K -server -Dp6.home="C:\Tomcat5\webapps\test\WEB-INF\lib"
という記述を加えています。
が、今度 Tomcat をサービス化することになったのですが bat はサービスに登録できません。
Tomcat5.exe に上記のパラメータを渡すにはどうすればいいんでしょうか?
試しにシステム環境変数に CATALINA_OPTS という項目を作成して上記パラメータを設定しましたがダメでした。
よろしくお願いします。
0222デフォルトの名無しさん
2007/02/16(金) 18:15:28でググったら最初に出てきたけど。
0223デフォルトの名無しさん
2007/02/16(金) 18:32:51ありがとうございます。
その方法だと -Xmx512M -Xms128M -Xss256K -server はいいんですが、
-Dp6.home="C:\Tomcat5\webapps\test\WEB-INF\lib"
の指定が反映されないんです。
これはp6spyっていうライブラリへの指定なのです。
0224デフォルトの名無しさん
2007/02/17(土) 14:52:300225221
2007/02/19(月) 10:46:45%CATALINA_HOME%\bin\Tomcat5w.exe を使うと、
サービス時にJVMへ渡すオプションをGUIで設定できました。
こんな簡単なことだったとは・・・。
0226デフォルトの名無しさん
2007/02/19(月) 11:00:30http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html
に書いてありました。
なんで5.0のドキュメントには載ってないのよ・・・
0227デフォルトの名無しさん
2007/02/22(木) 20:01:19現在strutsでファイルアップロードの機能を使っているのですが
外部から通してアップロードを行おうとすると、200kb以上のファイルがアップロードできません。
自宅内で行う分には問題なくうごきます。
エラー内容は以下です。
javax.servlet.ServletException: Processing of multipart/form-data request failed. Stream ended unexpectedly
org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:191)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:389)
org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:45)
org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:57)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
これはコードの問題なのかサーバの設定の問題なのかもまったく見当がつきません。
どなたかご教授お願いします。
0228デフォルトの名無しさん
2007/02/22(木) 21:03:02Strutsのバージョンやや使用しているServletコンテナとそのバージョン、
それからJavaのバージョン、サーバOSの環境などを
詳しく説明してもらわないとわからん
0229デフォルトの名無しさん
2007/02/22(木) 23:42:36マルチパートでデータ取ってる途中に
なんかブッちぎれたぞ
ゴルァ
ってjavaが怒ってるからサーバーの設定からネットワークの設定の範囲の問題じゃね?
ルーターに何かやってんじゃね?
0230デフォルトの名無しさん
2007/02/24(土) 22:39:24どこにおけばいいの?
エクリプス上では絶対パスでできたけど、サーバにデプロイするときに
絶対パスじゃまずいでしょう?
あと、任意の場所において設定することって可能?
0231デフォルトの名無しさん
2007/02/24(土) 23:06:05クラスパス上に置く。
WEB-INF/classesに置いてもいいし、
JARにしてWEB-INF/libに置いてもいい。
むしろ
>エクリプス上では絶対パスでできたけど
が俺には謎。
0232デフォルトの名無しさん
2007/02/24(土) 23:29:17DOMConfigurator.configure("log4j.xml");
だと読み込まない
"log4j.xml"を絶対パス("c:\abc\log4\log4j.xml"見たいな感じ)にしないと読み込まない
.warに固めてTomcat起動させてデプロイさせて実行するとき
DOMConfigurator.configure("log4j.xml");
だとやはり読み込まない(WEB-INF/classesにおいてあります)
どうすればいいのですか?
0233デフォルトの名無しさん
2007/02/24(土) 23:53:430234デフォルトの名無しさん
2007/02/25(日) 01:29:050235デフォルトの名無しさん
2007/02/25(日) 10:36:00開発環境がwinで評価環境・本番環境がUNIX計の時とかは便利だけど?
0236デフォルトの名無しさん
2007/02/25(日) 13:02:18なんで?
0237デフォルトの名無しさん
2007/02/25(日) 14:55:40むしろwar化しないメリットを教えてくれ
0238デフォルトの名無しさん
2007/02/25(日) 15:31:060239デフォルトの名無しさん
2007/02/25(日) 15:42:020240デフォルトの名無しさん
2007/02/25(日) 17:09:56war化するのはサーバにデプロイする必要があるからだろ?
開発中はそれこそEclipseでやってればデプロイなんて意識してやら無いだろうし。
0241デフォルトの名無しさん
2007/02/25(日) 17:18:23違う方法でデプロイしても
”ファイルが見つかりません”(TT)
どうすればいいの?
0242デフォルトの名無しさん
2007/02/25(日) 17:24:110243デフォルトの名無しさん
2007/02/25(日) 17:27:02環境は?
そもそもファイルが見つかりませんと言っているのは誰?
0244デフォルトの名無しさん
2007/02/25(日) 17:35:24サーバにデプロイするのになんでwar化するの?
warにしてもデプロイできるけどwarにしないでもデプロイできるよ。
0245デフォルトの名無しさん
2007/02/25(日) 17:55:27war・earデプロイは商用鯖では良くある事
0246デフォルトの名無しさん
2007/02/25(日) 18:04:010248デフォルトの名無しさん
2007/02/25(日) 18:15:21Tomcatが言ってる
Tomcat5.5 Struts1.2.9
0249デフォルトの名無しさん
2007/02/25(日) 20:52:52精神衛生上良い
0250デフォルトの名無しさん
2007/02/25(日) 22:04:39log4j.xml のパスを明示しなくても、クラスパスから勝手に探してくれますよ
Log logger = Logfactory.getLog( XXX.class );
logger.info( "おしらせ" );
とやると、WEB-INF/classes/log4j.xml が読み込まれる。
0251デフォルトの名無しさん
2007/02/25(日) 22:46:320252デフォルトの名無しさん
2007/02/25(日) 22:49:08LinuxサーバでWEB-INF/classes/log4j.xmlを書き換える場合は?
warじゃないほうが簡単に書き換えられるじゃん。
それともIDEでwarを作り直してFTPでアップですか?
0253デフォルトの名無しさん
2007/02/25(日) 23:11:43本来server.xmlなどで対応できるべき。
0254デフォルトの名無しさん
2007/02/25(日) 23:15:29Struts2を落としたものの、どうにも入力補完がorg.apacheに対応してない
なぜだ?と思っていたら別物?
Struts2のところにBest Availableって書いてあったのに?
もしおかしなことを言っているようでしたら、ご指摘をお願いします
こんなことに時間かけ過ぎだ>俺
0255デフォルトの名無しさん
2007/02/25(日) 23:22:340256デフォルトの名無しさん
2007/02/25(日) 23:35:47ちがう。
以前はShaleがStruts2と呼ばれていたが、
今のStruts2.xはWebWorkから引っ越してきた、全くの別物。
ShaleはStrutsプロジェクトから独立して
Apache Shaleプロジェクトで開発が進んでいる。
0257デフォルトの名無しさん
2007/02/25(日) 23:36:28>本来server.xmlなどで対応できるべき。
特定の製品依存にしろと?
0258デフォルトの名無しさん
2007/02/26(月) 00:07:19テスト鯖だったらwarじゃない方が簡単って意見もわかるが。
まあ、漏れはear派だけど。
0259デフォルトの名無しさん
2007/02/26(月) 09:46:02違ってましたか。ありがとうございます
何がなんだかわけがわからない
0260デフォルトの名無しさん
2007/02/26(月) 23:30:5754,57で少し出ていたのですが、strut-validaorで、
Aフィールドが「電話」のとき、Bフィールドでは電話番号のチェックを
Aフィールドが「mail」のとき、Bフィールドではメールアドレスのチェック
と言う風に、Aフィールドの値によってBフィールドの検証方法を動的に
変えることは可能なのでしょうか?
できれば、具体的な例で教えてほしいです。
54,57見ていると1つのフィールドに対しチェックをするというものだと
思っていた自分からすると目から鱗なのですが、
もう少し進んだこともできたりするのではないかと思い
書き込みました。
上記ができると、非常に便利なのですが・・・
0261デフォルトの名無しさん
2007/02/26(月) 23:41:29それはさすがに標準のルールのみでは無理。
ルールを自作するしかない。
でもロジックは標準のものを呼び出したり流用したりでいけると思うから
そんなに難しくないと思うよ。
0262デフォルトの名無しさん
2007/02/27(火) 08:17:16log4j.xml は適当な場所(conf/とか)に置いてるね。
0263デフォルトの名無しさん
2007/02/27(火) 12:16:540264デフォルトの名無しさん
2007/02/27(火) 22:04:06画面のちらつきを抑えるという理由で、全画面Ajax対応です…
複雑なAjaxを余り意識せず、Strutsの開発イメージで
構築できるライブラリってないですか?
探しても見つからなかったもので。
そもそも、ちらつきを抑える方法がAjax以外にないものかと…
0265デフォルトの名無しさん
2007/02/27(火) 22:05:040266デフォルトの名無しさん
2007/02/27(火) 22:38:22ページ遷移する時にタラタラ描画がされるというのなら
単に回線インフラとか鯖のレスポンスの問題だと思うが。
0267264
2007/02/28(水) 02:15:33ピカッと光るようなものがちらつきです。
自画面を再表示時に、画面が更新されていないようなイメージを
目指しています。
0268デフォルトの名無しさん
2007/02/28(水) 06:40:24ヤフオクの残り時間表示もそういう意味では多少チラついたりするんだが、
かなり無駄というか本質的でない事に体力使えて羨ましいというか
なんというか・・・。
0269デフォルトの名無しさん
2007/02/28(水) 07:41:00画面内で実際に更新する内容が限られてるのなら
Ajaxは有力な選択肢になる
Strutsで作っているのなら、手っ取り早いのはServletResponseから
Readerを取得して、そこにJSON型の結果データを出力すればいい
0270デフォルトの名無しさん
2007/02/28(水) 08:14:57meta refreshかなんかで無理やり実装してるってことか。新しいな。
しかし、Ajaxの自動実行はどうやるつもりだ?
JavaScriptにsleepはないが・・・
0271デフォルトの名無しさん
2007/02/28(水) 08:58:510272デフォルトの名無しさん
2007/02/28(水) 09:16:54027336
2007/02/28(水) 09:49:28すまん。レス番間違えた。
なんでwar化しないのか俺が知りたかった。
>>244
warにしないと汚くなるじゃないか。
ゴミが溜まって処理できなくなるし
他のバカ顧客が勝手な配備をさせしないためにも
意図的にwar化しておくべき。
所定のディレクトリ以外に置いた場合は保証をしないと
そうやって、顧客に圧力をかけておかないと
■ このスレッドは過去ログ倉庫に格納されています