1 名前:デフォルトの名無しさん [2006/12/30(土) 18:05:08 ] Apache Strutsフレームワークについて語るスレ 前スレ △△まだまだStrutsの良さを教えてくださいSession4 pc8.2ch.net/test/read.cgi/tech/1109465052/
848 名前:デフォルトの名無しさん [2008/07/03(木) 00:57:24 ] >>847 初心者は既に動いてるサンプルプログラムをダウンロードしていろいろ試した方が良いと思うよ。 まずは知ることから始めなさい、だ。
849 名前:847 mailto:sage [2008/07/03(木) 06:35:21 ] >>848 Struts付属のサンプルプログラムをポチポチといじってみたのですが良くわからず、 もっと基礎的な部分からやってみたほうがいいのかと上記サイトに行き着いた次第です。 サイトでは使用するソースをダウンロードできるのですが、 そこからプロジェクトを丸々落としてきても404なので首を捻っていた次第です。 もう少し付属のサンプルのxmlファイルとにらめっこしてみます。
850 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 23:44:14 ] >>847 struts.xml.txtでどきどきしてしまった俺がいる。 拡張子はtxtじゃないよな…? そうだなぁ…日本語でサンプル公開してる所ではmaven2利用してるものも結構ある。 あとは>>848 の通り、Struts2以外で覚えるの多いかなー。超頑張れ。 ウチもサンプルとか公開してるので、ぐぐった履歴とかもついでに集計してるんだけど 結構みんな色んなので悩んでるね。 多いのはValidator(Validation)、Annotation、ModelDriven、Uploadとか。
851 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 22:47:59 ] いあいあ、それは大丈夫です。.xml.txtになっているのはサイトのアドレスがそうなっているからでして。 来週からプロジェクトに参加することになったのでstruts2とは暫しお別れです。 まぁプロジェクトではたぶんstruts+spring+もう一個DB系のフレームワーク?でやるらしいんで これからよろしくねstruts1。 struts1のことで判らなくなったらまたお世話になります。
852 名前:794 [2008/07/04(金) 23:08:38 ] 現在、struts1.29でWEBアプリを作っています。 JSPで入力画面を作り、入力して送信ボタンを押すと、入力した 内容がデータベースに反映されるようになっています。そこまでは いいのですが、データベースに反映された内容が文字化けして しまっています。 考えられる対策はすべてしようと思い、以下の対策をしました。 1 filter web.xmlに以下の記述をしました。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd "> <web-app> <filter> <filter-name>EncodeFilter</filter-name> <filter-class>SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> (以下略)
853 名前:794 [2008/07/04(金) 23:10:04 ] 続きです。 2 MYSQL側のエンコーディング設定 MYSQL側のエンコーディング設定を色々といじって、下記のような 状態にしました。 mysql> show variables like "char%"; +--------------------------+---------------------------------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | utf8 | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\\Program Files\\MySQL\\MySQL Server 5.0\\share\\charsets\\ | +--------------------------+---------------------------------------------------------+
854 名前:794 [2008/07/04(金) 23:11:59 ] 同じく続きです mysql> status; -------------- mysql Ver 14.12 Distrib 5.0.27, for Win32 (ia32) Connection id: 1 Current database: input Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.27-community-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 4 hours 59 min 41 sec mysql> show create database input; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | input | CREATE DATABASE `input` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+----------------------------------------------------------------+
855 名前:794 [2008/07/04(金) 23:12:41 ] 長々と申し訳ないです。これがラストです。 mysql> show create table input; +-------+------------------------------- ---------------------------------------- | Table | Create Table +-------+------------------------------- ---------------------------------------- | input | CREATE TABLE `input` ( `id` int(11) NOT NULL auto_increment, `title` text, `movie_url` text, `material_url` text, `explanation` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+------------------------------- 考えられる対策はすべてしても、なお文字化けしています。なお、 「あ」「い」「う」「え」とそれぞれの項目に入力すると以下の ようになります。 | 縺・ | 繧」 | 繧ヲ | 蠕・ | どんなことでも結構ですので、ご教授いただければ幸いです。 どうぞよろしくお願いいたします。 開発環境 OS;WINDOWS VISTA SP1 IDE;ECLIPSE 3.32 DB;MYSQL5.0 JRE;jre1.6.0_06 struts;1.29
856 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:09:09 ] JSPがUTF-8じゃないとか
857 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:31:53 ] 切り分けるためにDBに入れる前にアクションで ログ吐いた方がいい SetEncodingFilterでUTF指定してるなら俺も>>856 に一票
858 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:46:07 ] FORMをGETで送っていて、Tomcatのserver.xmlの設定をしてないとか
859 名前:794 [2008/07/05(土) 04:04:06 ] >>856-858 皆様、レス有難う御座います。 JSPはUTF-8に設定してあります。 <%@page contentType="text/html; charset=utf-8"%> とページの一番上に指定してあります。 >>切り分けるためにDBに入れる前にアクションでログ吐いた方がいい 初心者で申し訳ないのですが、詳しく教えて頂けないでしょうか? 現時点では、フォームの画面で入力し、SUBMITボタンを押すとフォワード で「入力完了」とだけ表示されるJSPに移動する状態です。そして、SUBMITボタンを押した 時点でDBに反映されます。それを、フォームの画面で入力し、SUBMIT ボタンを押すと入力した内容がJSPに表示され、入力した内容を 確認させてからもういちどSUBMITボタンを押すことでDBに反映させる ようにする、ということでしょうか? >>FORMをGETで送っていて、Tomcatのserver.xmlの設定をしてないとか 初心者で申し訳ないのですが、詳しく教えて頂けないでしょうか? FORMにGETとPOSTがあるのは知っていますが、どうやって見分ける (もしくは使い分ける)のかはまだ分からない状態です。今回のWEB アプリは本に載っているのを参考に作ったので、まだソースで理解し きれてない部分があるのも事実です。大変申し訳ないですが、詳しく 教えて頂けないでしょうか?
860 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 04:40:05 ] SET NAMES UTF8 な予感
861 名前:デフォルトの名無しさん [2008/07/05(土) 05:24:36 ] 今回は、レベル低過ぎだな
862 名前:794 [2008/07/05(土) 10:03:40 ] >>860 SET NAMES UTF8 というコマンドは知りませんでした!ありがとうございます! >>861 低レベルで申し訳ないです・・・ orz
863 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:08:58 ] >>859 初心者なら、まずはSystem.out.printlnでFORMから受け取った文字を出してみることだね StrutsのAction上で、ActionFormにセットされたパラメータを出力してみる そこが文字化けしていたら、FliterかTomcatの問題の可能性 そこが文字化けしていなかったら、DB登録時に文字化けしている可能性が高い FORMのGET・POSTを見分けるには、 出力されたHTMLのformタグに、method="POST"みたいなのが書いてあるか チェックするといい。method属性が書いてなければ、デフォルトでGETになる Strutsのhtml:formタグを使っているなら、デフォルトでmethod="POST"になっている筈 使っているのがTomcat5以降で、もしGETを使っていたら server.xmlのConnectorに URIEncoding="UTF-8" を追加してやる必要がある
864 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:24:55 ] だいたいmysql文字化けのほとんどは>>860 だな。 set names するのがイヤならjdbcのurlは jdbc:mysql://ほげほげ&useUnicode=true&characterEncoding=utf8 でよいな
865 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:33:47 ] [mysqld] default-character-set=utf8 skip-character-set-client-handshake これでSET NAMESは要らなくなる 794のstatus見る限り、ここはクリア出来ているように見える
866 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:58:44 ] まぁ、JSPがUTF-8なら大丈夫だと思うけど、 その送信元ページにメタ要らなかったっけ。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> あとは皆の言ってくれた通り、 Actionなどでログ吐いてみて、どこで化けてるかを切り分ければいいんじゃないかね。
867 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:03:37 ] あ、あとWin版のMySQL5.0だと、 UTF-8設定はインストール時にがっつりやってしまってくれるので 悩まなくなったかな。 余談だけどStruts2だとEncodingFilterなんか設定しないから 昔の苦労なんかしなくなった感じだよなぁ。。 「ウェーブダッシュが化けます」とかさ… 今もたまに頼まれるんだけど
868 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:49:44 ] まぁそれでも文字化けするのがmysqlなんだけどな
869 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 15:11:53 ] 男は黙ってpostgres
870 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:49:02 ] ポスグレって、Oracle互換にするんだっけ。
871 名前:794 [2008/07/05(土) 19:57:42 ] おお、みなさん、たくさんのレス有難う御座います!! いろいろ試行錯誤してみますね! また来ます!!!
872 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 01:21:54 ] >>871 おー、頑張れ。 おまいさんの今やってることは皆通ってきた道で、 同じように同じようなところでつまづいて、 でも切り抜けた連中ばかりがここにいる。 まずは自分で稼働できるようになれば、二度と忘れることはないだろう。 似たようなトラブルがあったとしても、切り抜けるヒントにもなる。 動くようになって、それで終わるのでもいいが、動いたら動いたで 「なんで動かなくなったんだろう?」を調べることが大事。
873 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 01:26:17 ] >>872 つーか、mysqlのトラブルは経験値というより、 時間の無駄タイプが多かったからのぅ・・・
874 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 02:44:17 ] というかmysql4.1のときは本当に解決手段なかったからなぁ 4.1.6だったっけ?あのあたりからマルチバイトがまともに動かなくなって 直るまでには1年以上放置 その間にWindowsネイティブ対応したPostgreSQL8にもっていかれたという感が強い
875 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 06:17:49 ] すれ違いな話題を引っ張ってすまん。 前は日本ではmysqlとpostgresのシェアが半々くらい、 海外ではmysqlの方が断然多いと聞いていた。 実際オープンソースプロジェクトで標準DBがmysqlの物が 一番多いようにみえる。postgresも次点くらいに多いけど。 20年ほど前、LinuxとFreeBSDのシェアが日本では半々だけど 海外ではLinuxが圧倒的に多かった。結局LinuxがUNIX互換OSの デファクトになった。DBではpostgresが逆転するかもってこと? だと嬉しいんだけどなあ
876 名前:794 [2008/07/06(日) 10:05:46 ] >>872 本当にありがとうございます!このスレ、いい方ばかりです。 まずは今、まずは今アクションフォームから受け取った文字を出してみる ことを頑張っています。
877 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:02:57 ] 結局Strutsで作るってなると、オープンソースのDB使うこと多いから あながちスレ違いでもなさそうだけどね。 先月どっかのセミナー聴講したときに、ポスグレのおっさんが言ってたけど 未だにMySQLの方がシェア高く、ポスグレは次点だけど、新製品でどんどんシェア伸ばす予定だそうな。 >>873-874 そうだったねぇ…5.0になってようやくマシになった感じ。 まぁ、MySQLのGUIツールの方が優秀に見えるけど マルチバイトを入力するとハングするのはいただけない。
878 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:40:43 ] >>877 > 結局Strutsで作るってなると、オープンソースのDB使うこと多いから え・・・?
879 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:33:06 ] >>877 > 結局Strutsで作るってなると、オープンソースのDB使うこと多い うーん。おれもこの考えには同調できないな。 struts(J2EE)を利用できるという時点で、共用レンサバユーザとか LAMP層顧客は除外されるから、Oracleだったり、DB2だったり という機会が増える。寧ろSIerがOracleパートナーだったりすると尚更だな。 ただ>>877 が言いたかったのは、OSSなstrutsを選択する時点で MySQLやPostgresを使おうとするプロダクトに当たる可能性が増えるが、 既存システムを有償DBで構築してしまうとわざわざそれを変えようと することも少ないと稚拙な経験から思う。
880 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:49:44 ] >>877 >新製品でどんどんシェア伸ばす予定だそうな。 それは予定っつーか願望でしょw キャッシュ割り当ての設定とかSQLの癖とか ダンプ・リストアスクリプトの組み方とか両方覚えるのかったるいから ポスグレにデファクトまで登り詰めて欲しいんだけど
881 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:12:02 ] PostgreSQLってもうOracleの性能、品質ともに超えてるんでしょ?
882 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:15:47 ] >>878 OracleやDB2って、ウチではそんなに使わないから、ってこと。 あとは>>879 の言ってくれた通り、SIerがOracleパートナだとOracle一択になる。 すまんね。
883 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:27:46 ] >>877 >まぁ、MySQLのGUIツールの方が優秀に見えるけど >マルチバイトを入力するとハングするのはいただけない。 あの出来で金取るとかいってんだぜ?失笑だよ バグの為に金払うかっての
884 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 15:59:01 ] >>881 どんな妄想
885 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 16:41:24 ] MySQLがGPLだから通常の業務で使おうとすると金がかかるというのが面倒かな 昔はpostgreSQLだけのためにLinuxいれてたところおおかったね
886 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:45:53 ] もう夏休みだっけ?
887 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 18:57:42 ] このスレに夏休み取れる奴がいるのか…?
888 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 02:15:21 ] 881と885は・・・
889 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:39:15 ] MySQLがGPLで請負だと金かかるのは常識かと
890 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:02:23 ] そなの? GPLなら顧客に対してソースを開示すればいいだけ、 いやなら商用ライセンスにできるししたところで数万円だから 開発全体のバジェットから見たら誤差だと思ってたんだけど、 どうも前者の前提が違うみたいだね。わかるように説明してもらえないか?
891 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 12:43:32 ] やるならその通りだけど、単に手間が面倒ってだけじゃね? 事務仕事とか経理処理とかそういうの。 で、金払いや事務仕事を実際にする人から 「どうせ同じOSSのDBなんだし、どっちでも同じでしょ」 と言われて、簡単な方に流れるというのはある。
892 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:26:26 ] いや、GPLで請負だと「金がかかる」って言ってることから そういうちょっとした手間の話じゃないだろう。 請負ならGPLじゃなくソース渡すこともあるしな。 ASPサービスなら渡さないけど。
893 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:55:59 ] Struts1.2で勉強中なんですが、 どのサンプルを見ても、まずトップ画面でフォームを置いて 入力された値をsubmitタグのactionでstruts-configに飛ばし、 そこでaction-mappingを参照して指定されたpathの通りにアクションクラスを実行、ロジックで内部処理。 返却された「success」等の文字列によってforwardで次のjspページへ飛ばすって感じです。 この場合最初にフォームを利用してactionを呼び出していますが、 フォーム入力無しに、ロジックでの処理やアクションフォームへの値設定を内部で行い、 最後に表示されるjspをいきなり呼び出したい場合はどうすればいいんでしょうか? strutsにはページを開いた時に強制的にアクションを実行するといったhtmlタグはないようなのですが。
894 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 14:41:35 ] 自己解決です。 <logic:foward />すればいいんですね。 ありがとうございました。
895 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 17:33:35 ] まぁ他にもいろいろ手段はあるがな。
896 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 17:41:55 ] アクションに飛ぶと見て勘違いしました。 forwardだとページ遷移するだけでaction-mappingは実行出来ませんね・・。
897 名前:893 mailto:sage [2008/07/08(火) 17:46:50 ] 度々すみません。 <logic:forward>は<global-forward>で指定されたパスへページ遷移するものだと思うんですが、 ttp://tag.main.jp/logicforward.html このページの >Struts-config.xmlの<action>のpath属性を参照し、リクエストを転送している。 という説明は間違いということでしょうか?
898 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 20:06:18 ] >>897 うそだと思うなら 1.そのpathを別のものに変えてみる。 2.logic:forwardを使わずに従来のRequestDispatcher#rforwardをjspで呼び出してみる 3.metaタグやJavaScriptでフォワードしてみる あとはstrutsはソース公開されてるし、Eclipse+jadでデコンパイルしたソースを 眺めてみるもよし、ご自由にどうぞ
899 名前:893 mailto:sage [2008/07/08(火) 20:19:00 ] >>898 実際にJSPとStruts定義ファイルを書き換えて試したところ、 <logic:forward>は<global-forward>で指定したパスに飛んでいるので、 うそ、というのが何を指して嘘なのかは分かりませんが、 「<action>のpath属性を参照する」と書いてある、上記のリファレンスページは誤っているようですね。
900 名前:デフォルトの名無しさん [2008/07/09(水) 03:41:16 ] 解説本やサイトのソースで"${hoge.property}"なんて書式があるけど、これって使うにはなんか設定が必要なのかな? 本を見ながら <bean:struts id="act1" mapping="/action1" /> <html:link action="${pageScope.act1.path}"> <bean:write name="act1" property="path" /> </html:link> とか書いてみたんだが、HTMLソースにはリンク先が「localhost:8080/hogehoge/${pageScope.act1.do 」なんて出てきてる。 ※ちなみにbean:writeで書いてるトコロには、マッピングされたアクション名がちゃんと出てきてる。 これって${pageScope.act1.path}の中身が置き換わってないってコトだよね?
901 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 08:17:17 ] >>893 global-forward要素の意味をちゃんと調べろ。話はそれからだ。 >>900 解説本やサイトのソースで、稼働環境(特にJSPのバージョン)を見てみな。 調査が足りなすぎる。
902 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 09:10:34 ] >>901 知識も無いのに曖昧なレスだけしなくていいよ。
903 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 11:18:36 ] >>900 JSTL , Velocity etc ...
904 名前:900 mailto:sage [2008/07/09(水) 12:03:37 ] >>901-903 ご助言感謝。 StrutsIDE使ってたんだけど、自動生成のweb.xmlがservlet 2.3用になってた。 自分でweb-appの属性書き換えて、jspにtaglibの記述追加したら無事置き換わるようになった。 ・・・これって最初からservlet 2.4用のweb.xmlにすることはできないのかな? 最初に生成されるweb.xmlやamaterasの設定見ると多分出来ると思うんだけどググれないっす。 ヘタレで申し訳ない・・・。
905 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 16:57:18 ] 2.3・・・すげーふるいね 今のバージョンは2.5だというのに
906 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 20:40:40 ] 金融系システムだとオープンソースがそもそも 使えなかったりするから、それよりはましかと。
907 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 21:34:13 ] 金融系システムにはオープンソースが使えない ということにして自社製品を押し込むコンサルまじでイラネ 特にIBMは逝ってよし
908 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:18:36 ] IBMって、WASのHTTPサーバはApacheじゃねーか。
909 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:30:46 ] >>908 そのとおり。 それを"オープンソースはよくないから"とか"保証が無いから"とか 難癖つけて有料で押し込むのがコンサル。
910 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 12:58:26 ] >>908-909 そのくせWACSもしかりだが、IBM製品のソースは ゲティってるわ、1年生バグ修正痕はそこらじゅうにあるわ。 最近ではにIBMサンプル改造品をメンテしたが、 W3Cとは正反対方向のタグ組んでたりとか、もう・・・。
911 名前:900 mailto:sage [2008/07/10(木) 14:59:02 ] >>905 確かTomcat5未満だっけ?>2.3 5&5.5が2.4、6から2.5でよかったんだよね >TomcatのServletのバージョン 引き続き、隙間な時間を見てググってるが見つからず。StrutsIDEって結構メジャーだと思ったんだが・・・。 みんな手でweb.xml書き換えて・・・るわきゃねーよなw
912 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 17:52:06 ] >>911 サーブレット全盛ならまだしも、strutsでWebアプリ組むのに そんなしょっちゅうweb.xmlなんて触らなくないか?
913 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:14:34 ] StrutsIDEの最新版でもservlet2.3なの?
914 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:16:11 ] facesなら2.4対応なんだけどな。
915 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:21:33 ] >>911 EclipseWTP使えば、Tomcat5なら自動的にServlet2.4、6なら2.5になる 今使っているweb.xmlが古かったら、Tomcatの中にあるからコピペしてくればいい 2.4以上ならJSP上でELが普通に使えるようになる
916 名前:900 mailto:sage [2008/07/12(土) 12:42:41 ] >>912-915 お返事感謝。結局>>912 が真実かもしれづ。 >>913 少なくとも、初期設定そのままを動かしてたらYes。
917 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 16:44:08 ] >>916 それはひどい 俺は使ったことないけどユーザー数が極端に少ないとか>StrutsIDE
918 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 18:26:55 ] FW用のプラグインってそういうことよくあるから、自分は基本的に使わないな Strutsの設定ファイルなら、EclipseのXMLエディターのアシスト機能で十分だし
919 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 18:50:20 ] >>918 大規模ならstruts-config.xmlを小分けするし、 ましてやweb.xmlを編集することなんて皆無。 小規模なら、ツール使うよりテキストエディタでコピペして 必要か書だけ書き変えるよなあ。
920 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 01:18:14 ] ひさびさ趣味アプリを1からstruts1.3で作ったら文字化けに 悩まされた。@page meta filter すべてUTF-8に統一しているのに、だ。 結果はTomcat5なのにGETでサブミットしていることだった。 たまにはこういうトラボーも経験だな。
921 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 06:42:39 ] Struts1.2+Eclipse3.2+Tomcat5でWebアプリ開発のトレーニングをしています。 struts-blankを元にモゾモゾと弄っていますが、どうにも404エラーが発生してしまい困っています。 エラーには「サーブレットActionが利用できません」とのメッセージだったので、これを元に検索したところ、 どうやらStruts-congfig.xmlの構文の問題などでActionServletの初期化に失敗しているとのこと。 ここまでは見切ったんですが、自分には具体的な問題箇所が見つからないのでご指導ください。 **Struts-config.xml** --action-mapping-- <action path="/Login" name="LoginPass" type="trainAction.LoginPassAction"> <forward name="succsess" path="/index.jsp" /> <forward name="id_not_match" path="/user-error.jsp" /> <forward name="password_not_match" path="/pass-error.jsp" /> <forward name="DB_access_error" path"/db-error.jsp /> </action> --from-beans-- <form-bean name="LoginPass" type="trainForm.LoginPassForm" /> **web.xml** <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
922 名前:つづき mailto:sage [2008/07/14(月) 06:49:46 ] 一応これも **server.xml** <Context path="/Struts-train" reloadable="true" docBase="C:¥workspace¥Struts-train" workDir="C:¥workspace¥Struts-train¥work"> <Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/> </Context> index.jspとLogin.jspとLoginPassActionとLoginPassFormを作成し、とりあえずここまででサーブレットが動作するか確認しようと 一時的にsuccessのforward先をindexに変え、動かしてsuccessを返す動作を入力しています。 しかし入力が終わったところで404… なにが原因なのでしょうか?
923 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:54:10 ] server.xmlのdocBase、workDirのパス指定が\1個になってるんだが…。 そもそも全角になってるのが気になる。
924 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:37:35 ] >>921 <forward name="succsess" path="/index.jsp" /> ↓ <forward name="success" path="/index.jsp" />
925 名前:924 mailto:sage [2008/07/14(月) 19:44:43 ] Actionに適当にブレークポイント打ってデバッグしてみ? どこでコケてるか分かるぜ。
926 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 23:39:19 ] >>908 IBMはtomcatも使ってるけど。
927 名前:921 mailto:sage [2008/07/15(火) 06:22:03 ] アドバイスありがとうございます。 最終的な問題はsuccessのスペルミスとjspにカスタムタグを使っていないことでした。 なんとか404は脱したのですが、今度はカスタムタグを含めたjspが500エラーを吐くようになってしまいました。 getModuleConfigを読み込みにいったところで"Module 'null' not found"とヌルポを投げている模様。 複数のjspでhtml:linkとhtml:formでそれぞれエラーなので設定がおかしいのだと思うのですが… 作成したソース類:ttp://ccfa.info/cgi-bin/up/src/up21624.txt どこがまずいんでしょうか? それと、jspからアクションにリクエストする際の書き方がaction=/LoginだったりLoginだったりLogin.doだったりページによってマチマチなんですが、 どれも同じなのでしょうか?
928 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:16:51 ] なんか基礎から全然出来てないと思う。
929 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 18:54:25 ] なんとなく近頃教えてgooっぽくなってるかも。 Strutsへリクエスト投げる場合は全て****.doですよっと。 つか、libの中身空っぽなわけないよな? Eclipseのビルドパスに入ってるんだよな。
930 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:08:34 ] >>***.do ですよねー。/Loginとか書いてあるのはなんだったんだろう… ライブラリはWEB-INF直下に.tlbを入れてありますが…
931 名前:900 mailto:sage [2008/07/15(火) 23:29:54 ] (たぶん)原因判明。 そもそも、StrutsIDEがStruts1.2までにしか対応していないのが原因らしい。 だめだこりゃ。 struts-config.xmlエディタとしてだけでも使えないかと思ったが、どうも今ひとつ動きが怪しい。 小分けにしてテキストエディタで書き換えていった方がよさそうだね。 便利だったんだけどあきらめるか>StrutsIDE Struts 1.3に対応してるのはMyEclipseだけっぽいけど、使ってる人いる?
932 名前:876 [2008/07/15(火) 23:51:23 ] 以前、文字化けについて教えて頂いた者です。 その後、色々と試してみた結果、OS(winVISTA)のエンコーディングの デフォルトがshift-JISのため、UTF-8でDB登録が出来ていなかったようです。 set names sjisとやったらちゃんと表示されました。 まさかOS側の方に原因があるとは・・・。 いずれにせよ、今回は、このスレの方に大変お世話になりました。ありがとう ございます。現在、諸事情によりstrutsを一人で独学中なので、またお世話に なることがあるかと思います。 そのときは、またレスを頂ければ幸いです。
933 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:25:53 ] >>931 Strutsは1.2系がいわゆるこなれてる安定版で今でも一番使われてるよ 1.3では便利な機能がたくさんあるけど ほんの一部消えた機能があったりする まず問題にならないけど だから1.2対応ってのはそんなに間違ってない web.xmlとかの話とは別だから
934 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 00:27:06 ] >>932 set namesはやめといたほうがいいぞ
935 名前:876 [2008/07/16(水) 06:15:59 ] >>934 え、そうなんですか?ほかに対応策とかあるでしょうか?jdbcのurlを jdbc:mysql://ほげほげ&useUnicode=true&characterEncoding=sjis にするとかでしょうか?
936 名前:900 mailto:sage [2008/07/16(水) 11:08:19 ] >>933 なるほど、ある程度は納得。非常に便利なんだけどね>StrutsIDE 特に、必要なjarを勝手に引っ張ってきてくれたりするところなんか。 まぁ、もともと手で書くものだと思うことにしよう>struts-config.xml ・・・話は変わるけど、Struts1.2以降で、リファレンス的に使えるお勧めな参考書はあるかな? 「プログラミング Jakatra Struts」はいい本だけど、いかんせん内容が古い。 「 Jakarta Strutsクックブック」を買い足すべきか、他の本も見てみるべきかというところで少し迷ってる。 JSTL以外にも役に立ちそうな情報はあるだろうか? >>101-107
937 名前:デフォルトの名無しさん [2008/07/19(土) 17:59:59 ] 初心者入門スレだなw