• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Seaser2のフォルダ構成について)

Seaser2のフォルダ構成について

このQ&Aのポイント
  • Seaser2のフォルダ構成について状況管理システムというシステムを考えていて、ログイン画面と状況一覧画面のAction、ActionForm、jspを作成し、ログイン画面からログインをしたところエラーが発生しました。
  • JSPの配置についての記事をみて、「JSPのルートにユースケース名のフォルダを作成し、そこに対象のページを作成する。」という構成を考えましたが、実際はWEB-INF/view/loginとWEB-INF/view/itiranという構成になっています。
  • Seasar2では規約通りに記述しないと動かない場合もありますが、WEB-INF/view/jokyoという構成に変更することは可能ですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.2

> Action内で相対パス > 「../itiran/itiran.jsp」で指定すれば遷移はできるのですが、 > こういうやり方が普通なのかどうかがイマイチわかりません…。 確かに、Action に紐づく JSP が 1 つ(itiran.jsp)だけだと 違和感を感じるかもしれませんが、 SAStrurs は、1 つの Action で複数の実行メソッドを持つことができ、 それぞれ違う JSP に遷移できます。 ですので、 /itiran/itiran.jsp /itiran/kensaku.jsp /itiran/~.jsp など、複数の JSP が紐づいた場合に、 アクション名のディレクトリで管理できます。

superss28
質問者

お礼

返事が送れて申し訳ありません。 こういう管理ができるのですね。 例を挙げて頂き良く理解できました。 ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.1

答えはわからないのでアドバイス程度に、、、 Seasar は「設定より規約(CoC)」のフレームワークのため、 規約を守らないと動作しない部分があります。 (その分、XMLによる設定を記述しなくてよい) 質問の JSP の配置場所ですが、web.xml に <context-param>  <param-name>sastruts.VIEW_PREFIX</param-name>  <param-value>/WEB-INF/view</param-value> </context-param> と、view の場所を記述していますが、 あくまでJSPファイルのルートしか指定していないので、 このルート配下以外に置く場合は、SAStruts(?)からはアクセスできないのではと思います。 http://sastruts.seasar.org/index.html

superss28
質問者

お礼

ご回答ありがとうございます。 web.xmlで置き場所を設定していることは納得なのですが、 viewの下にアクション名のフォルダを切らなければならないのかなぁと。 Action内で相対パス 「../itiran/itiran.jsp」で指定すれば遷移はできるのですが、 こういうやり方が普通なのかどうかがイマイチわかりません…。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • WEB-INF直下のフォルダ

    現在WEB-INFの直下にjsp格納用のフォルダを作成しています。 eclipseでプロジェクトを作成した場合、プロジェクト名がコンテキストルートになると認識していますが合ってますでしょうか? eclipse上で動的プロジェクトを作成し、tomcatを起動後、WEB-INF直下のjspフォルダ内のaaa.jspを見に行く際のURLは http://localhost:8080/プロジェクト名/WEB-INF/jsp/aaa.jsp ではないようです。404エラーが発生しました。 WEB-INFより下の階層にあるフォルダを見に行く場合はURLに何か変更があるのでしょうか? aaa.jspの内容を表示する際のURLはどうなるでしょうか? WEB-INFと同階層にjspの格納フォルダを置いたときは、 http://localhost:8080/プロジェクト名/jsp/aaa.jsp で見れました。 どうか宜しくおねがいします。

  • tomcat、apacheにてJSPが表示されない

    http://localhost:8080/ と入力したときにtomcatの画面がでるので tomcatの設定はできていると思っているのですが eclipseでJSPを作成し、 \Program Files\apache-tomcat-6.0.13\webapps\bihinkanri\WEB-INF にJSPファイルを置き、 http://localhost:8080/bihinkanri/Itiran.jsp とURLに入力したのですが HTTPステータス404が出てしまいました。 なぜでしょうか・・・。 初心者で原因がわかりません・・。 お願いします。

  • ASP.NET 3.5 アプリのフォルダ構成

    ASP.NET 3.5 アプリを作成する上で、おすすめなフォルダ構成はありますか? 漠然とした質問のため、漠然とした回答で構いません。 例えば │ web.config │ ├─App_Data ├─src │ Default.aspx.cs ・・・csファイルを配置 │ └─test1 └─testa Default.aspx ・・・aspxファイルを配置 なお、フレームワークとMVCは使用しません。

  • Tomcatにおけるサーブレットの呼び出し

    tomcatに関してですが、現在サーブレットからjspを呼び出すようなことをしたいと思い、web.xmlを以下のように設定し、”http:localhost:8080/servlet/Login”としても『HTTP Status 404 - 』が返却されます。jspからサーブレットを呼び出すことはできるのですが・・・(この場合、jspファイルをWEB-INFの直下にディレクトリを作成するとやはりアクセスができませんでした。WEB-INFと同レベルに置けばアクセスは可能でした。)。 どなたかわかる方がいれば教えて下さい! よろしくお願いします。 --------------- 環境 --------------- Windows2000Server eclipse ver2.1.1 tomcat ver4.1 --------------- ディレクトリ構成 --------------- WEB-INF Lclasses | LLogin_serv.java Ljsp LLogin.jsp --------------- web.xml --------------- <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE web-app PUBLIC "-//SUN Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>Login</servlet-name> <servlet-class>serv.Login_serv</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet> <url-pattern>Login</url-pattern> </servlet-mapping> </web-app> 補足:tomcat-confにあるweb.xmlの『invoker』はコメントを外し有効にしてます。

    • ベストアンサー
    • Java
  • ディレクトリ構成と意味不明なエラー…

    いつも参考にさせて頂いています。 JAVA初心者ですのでわかりやすくして頂けると幸いです。 今struts(1.2.4)を利用してEclipse(3.1)での開発を自宅で練習しています。サーバーはTomcat(4.1.31)を使用しています。Eclipse内のディレクトリ構成が +projectフォルダ | +---JREシステムライブラリ | +---servlet.jar | +---runtime.jar | +---WEB-INF/src |    |--- java.resources |    |--- build.xml +---struts.jar | +WEB-INF | +---××.jsp のようになっています。なんとなくめちゃくちゃになってるような気がするのですが…訂正箇所はありますでしょうか?(もしあれば訂正方法も教えて頂けると助かります。) そもそもWEB-INF/srcとWEB-INFはどう違うのかもわかりません…サイトを参考にしている(EclipseにTomcatプラグイン等を入れていると)とこうなってしまいました。 あとWEB-INFに×印がついてエラー表示されています(WEB-INF以下はlibフォルダとxmlファイル.tldファイルのみでクラス等はありません)。なぜコンパイルエラーはありえないのにエラーが出るのでしょうか…わかりにくい説明かもしれませんが宜しくお願いします。

    • ベストアンサー
    • Java
  • getInitParameter と web.xml

    http://www.atmarkit.co.jp/fjava/rensai2/jspservlet06/jspsevlet06_1.html を参考に、jsp を勉強していますが、 「 ■初期化パラメータの活用 」 というところで、 アプリケーションルートの配下に「/WEB-INF/web.xml」を配置するとありますが、 アプリケーションルート とはどこのことでしょうか? (1) [tomcat559 インストールフォルダ] D:\server\tomcat\ (2) http://localhost:8080/jsp/ E:\public_html\jsp\ (3) http://localhost:8080/jsp/folder/ E:\public_html\jsp\folder\ (3) で作業しています。 web.xml はそのままで、読み取るjsp を以下のように変えています。 <%@ page contentType="text/html;charset=Shift_JIS" %> <% String s = application.getInitParameter("driverName"); if (s==null) out.print("読み込めない"); else out.print(s); %> ちなみに、 (3)/WEB-INF/web.xml と置くと、「読み込めない」と表示されます。 (2)/WEB-INF/web.xml と置くと、 「HTTPステータス 404 - /jsp/folder/hoge.jsp」となります。

    • ベストアンサー
    • Java
  • Seasar2環境での画像リンクの作成

    Seasar2環境において、<s:submit property="指定したアクション" value="ログイン">とJSPに記述すると、ログインボタンが作成されますが、ログインボタンを任意の画像に変更したいと考えております。Actionで指定したvalidatorを経由させたいと考えております。実現方法についてご教示頂けますでしょうか。

  • RequestDispatcher.forwardメソッドで遷移する際のURL

    お世話になります。 JSP/サーブレットを使用してwebアプリケーションを作成しています。 タイトルの通りRequestDispatcher.forwardメソッドで遷移する際のURL についてうまくいかず、原因がわからない為質問させて頂きます。 ご教授宜しくお願い致します。 Aproject/jsp/login.jsp Aproject/jsp/top.jsp Aproject/WEB-INF/src/servlet/Login.java という3つのファイルを使用しています。 login.jspにて<form action="../Login" method="post">で Login.javaサーブレットにIDとパスワードを渡し、 サーブレットで認証を行ったあと RequestDispatcher.forwardメソッドにて以下のように 遷移するようになっています。 RequestDispatcher rd = request.getRequestDispatcher("./jsp/top.jsp"); rd.forward(request, response); 遷移はうまくいくのですが、top.jspが表示される時のURLが http://localhost:8080/Aproject/jsp/top.jspとなるはずが、 http://localhost:8080/Aproject/Login となってしまいます。 web.xmlの記述は <servlet> <servlet-name>Login</servlet-name> <servlet-class>servlet.Login</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/Login</url-pattern> </servlet-mapping> としています。 forwardメソッドではなく、sendRedirectメソッドを使用した場合 http://localhost:8080/Aproject/jsp/top.jsp とうまくいきます。 どのような原因が考えられますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • SAStrutsのアクションの反映に関して

    お世話になります。 SAStruts環境において、アクションを以下のとおり作成し、そのJSPファイルの出力がレスポンスとなるようにしているのですが、  @Execute(validator=true, input="input.jsp")  public String login(){   return "test_1.jsp";  } アクションのreturnの値を"test_2.jsp"に変更し、新たに/WEB-INF/view/配下に対象のJSPを作成したのですが、うまくファイル変更が認識されず、"test_1.jsp"が実行結果として表示されます。この設定ファイル以外に変更すべき箇所があるのでしょうか。"test_1.jsp"と記載されている箇所はアクションしかないので、困っている状況です。 変更を反映させる方法があればご教示頂きたいと考えております。

  • サーブレットの動かし方が分からないです・・・

    フォームにユーザ名・パスワードを入れてログイン出来たら次のページに進んでメニューを表示させる、というようなWebアプリを作っています。 そのユーザ名・パスワードで先生か生徒か判断し、生徒なら授業を表示する画面、先生なら授業の表示とテストの点の追加やら修正が出来る管理者メニューに行けるといった感じにしたいです。 ログインを判断するサーブレットは出来てコンパイルも通ったのですが、web.xmlやらserver.xmlの編集がイマイチ分かりません… 環境はwindows2000、Tomcat4.1、Apache1.3で連携は出来てます。 ディレクトリは C:WebApp------login        |---add        |---update        |---WEB-INF って感じです。(自分の力ではこの書き方が限界…) loginの中にtop.htmlやらstudent.jsp、loginFailure.jsp、admin.jspをぶち込んでます。 (生徒と管理者の画面を同じとこに入れるのもマズイですかね…?) 長々とすいませんが初心者なので説明足りない部分あるかと思いますがよろしくお願いしますm(__)m

    • ベストアンサー
    • Java