• 締切済み

◆Struts サンプルプログラムのURLがわかりません。◆

Struts初心者です。教えて下さい。 http://www.stackasterisk.jp/tech/java/strutsSec01_03.jsp#5 上記サイトで勉強中にいきずまってしまいました。初歩的質問で申し訳御座いませんが教えて下さい。 4.Strutsアプリケーションの作成 で記載されている通りに jspファイル、javaファイルを配置し、struts-configファイルも記載されているようにしました。 画面を表示させたいのですが、どのような URLにアクセスすれば画面が表示されるのでしょうか・・?? web.xmlの中に urlマッピングする情報を追記したり、struts-configに追記したりする必要がありますのでしょうか・・・?? servletだと web.xmlに、<servlet-mapping>要素に<url-pattern>を定義してURLが判断できたのですが・・・・ 以下のようなURLでアクセスしているのですが、TomcatがHTTPステータス 404を表示します。。tomcatの再起動なども行なっております。 http://localhost:8080/struts-blank/jsp/loginForm.jsp 根本的に理解できていないと思うので、参考になるサイト、書籍などもあったら教えて下さい。 環境 WinXP,JDK1.5,Eclipse3.2,Struts1.2,Tomcat5.x 宜しくお願いします。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

noname#94983
noname#94983
回答No.1

​>http://localhost:8080/struts-blank/jsp/loginForm.jsp このloginForm.jspというのがStrutsを使って書いたJSPのページなんだろうか。そして、このJSPファイルの名前と配置場所は間違っていないだろうか。 ならば、Strutsを使っていたとしても、このURLでJSPのページにアクセスすればちゃんと表示されるはず。Strutsならば、(どう書いてあるかわからないが)たとえば、loginForm.doといった形でアクセスすることもあるが、その場合もloginForm.jspでアクセスできない、ということはない。 404ということは、単純にファイルが見つからないということだから、ただ単に「そんなファイルはないよ」といわれているだけ。だからファイルが本当にそこにあるかがまず最初に確認すべきこと。また、たとえばEclipse WTPなんかを使っている場合、そのプロジェクトが本当に公開されているかの確認も必要。

Humi_Sap
質問者

補足

logger_manさん回答有難う御座います。 web.xml に<url-pattern>みたいに定義してURLを特定Pathに変更したりも可能なのでしょうか?? もしくは struts-config に記載するのですか?? ご存知でしたら教えて下さい。

関連するQ&A

  • struts関連 web.xmlに複数の<servlet-mappin

    struts関連 web.xmlに複数の<servlet-mapping>を記述する方法について 初歩的なことなのかもしれませんが質問させてください。 Struts1.3.5での質問なのですが、web.xmlにURLパターンを複数記述している場合に servlet-mapping の記載位置が後の方のURLパターンが、 JSPのFormタグで生成されるパスに設定されてしまい、原因が分からず困っています。 現象としては、 例えば、web.xmlの<servlet-mapping>にそれぞれ異なる URLパターンを[/abc/*]→[/xyz/*]の順で記述している場合、 web.xml(抜粋)---------------------------------------------- <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/abc/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/xyz/*</url-pattern> </servlet-mapping> ---------------------------------------------------------- URLパターンが[/abc/*]となる以下のURLをブラウザで表示した所、 [https:/localhost/{コンテキストルート}/abc/LoginAction] 表示されたJSP内で指定しているformタグのアクションパスが web.xmlで記載したURLパターンのパスではなく、 web.xmlで後の方に記載した別のURLパターンのパス(/xyz/)が設定されてしまいます。 ・表示されるJSP内で指定しているアクションパス <html:form action="/LoginAction"> 上記で生成されるHTML <form name="LoginForm" method="post" action="/コンテキスト名/xyz/LoginAction">       web.xmlでURLパターンを[/xyz/*]→[/abc/*]の順で記述した場合は、 正しくURLパターンで記述したパスが設定されます。 <form name="LoginForm" method="post" action="/コンテキスト名/abc/LoginAction"> ただし、この場合はURLパターンが[/xyz/*]のURLを表示した場合に <form ~ action="/{コンテキストルート}/abc/LoginAction">となってしまいます。 どなたかこうした現象について回避策をご存知の方はいらっしゃらないでしょうか?

    • ベストアンサー
    • Java
  • Strutsのtaglibについて

    Strutsを最近学習し始めた超初心者ですが... taglibを使えるようにするweb.xmlの設定なんですが。 なぜかエラーが出てしまいます。 環境はeclipse3.1.1 Struts1.2.9 apache-tomcat-5.5.25です。 web.xmlの記述は以下の通りです。 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <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>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <display-name> test01</display-name> <filter> <filter-name>CharacterEncoding</filter-name> <filter-class>filters.CharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>CharacterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/lib/struts-html.tld</taglib-location> </taglib> </web-app> <taglib>のところにエラーの×が出てしまうのですが。 何か間違ってますか?? とても困ってますので是非、わかる人お願いします!!

    • ベストアンサー
    • Java
  • strutsに関連したxmlのサーブレットマッピング

    失礼致します。 初歩的なことですが質問させてください。 strutsにおける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> ここで、新しいサーブレット(download)を追加しようと次のように記述を加えました。 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <servlet-name>download</servlet-name> <servlet-class>Download</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-patte <servlet-name>download</servlet-name> <url-pattern>/download</url-pattern>rn> </servlet-mapping> すると、入り口のファイルに対し、「The requested resource (/プロジェクト名/ファイル名.jsp) is not available.」と警告されました。 strutsではサーブレットの追加は出来ないのでしょうか?ご指摘お願いします。

    • ベストアンサー
    • Java
  • Tomcatでプログラムが動きません

    開発環境: Windows Vista SP2 Home java 2 SDK 1.6.0_24 Tomcat 6.0 です。 現在javaのservletとJSPをtomcatで勉強している者です。 http://journal.mycom.co.jp/special/2007/struts2/menu.html http://codezine.jp/article/detail/2296 を参考にしてTomcatを使い自分で作成したservletやJSPを動作させようとしたのですが 404エラー(存在しないファイル)が排出されるだけで実行できません。 上記のページが提供しているプログラムやweb.xml及びservlet.xml(javaroad.xml)を 配備しましたが404エラーが排出されるだけで動作しません。(編集するたびにTomcatを再起動させています) http://localhost:8080/のトップページは表示されますのでtomcatは動作していると思いますが、残念ながらどこが間違っているのか検討がつきません。 Tomcat Webアプリケーションマネージャで表示はされ、起動しようとするとアプリケーションが起動できませんと表示されます どのようにすれば宜しいのでしょうか、どうかご教授願います。

  • 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
  • ☆Struts ActionServletの内部動作について

    Struts勉強中のものです。教えて下さい♪ struts-config.xmlより抜粋... <form-bean name="loginForm" type="jp.co.struts.LoginForm"/> <!----> <action-mappings> <!--Add action --> <action path="/login" name="loginForm" type="jp.co.struts.LoginAction"> <forward name="success" path="/jsp/loginSuccess.jsp"/> <forward name="error" path="/jsp/loginError.jsp"/> </action> </action-mappings> 以下URL画面の中段の画像の説明であるのですが、 (http://www.itmedia.co.jp/enterprise/0310/06/epn03_4.html) ActionServletは、struts-config.xmlを参照して、ActionFormクラスを処理した後にActionクラスを実行する内容の記載がありますが、内部的にはまず、Actionクラスを判別してから、nameで紐付けてActionFormクラスを判別しているのでしょうか?? 上記のstruts-config.xmlを例に具体的に言いますと。 まず、login.doが実行された場合、 <form-bean name="loginForm" type="jp.co.struts.LoginForm"/> には、path="/login" の属性がないので、まず、 <action path="/login" name="loginForm" type="jp.co.struts.LoginAction">を読み込んで、name属性とひもづく、form-beanのtype(type="jp.co.struts.LoginForm")に設定されたクラスを処理しているのでしょうか?? なぜ form-bean にpath属性を作って、login.doが実行された際に適切なform-beanを判別するようになっていないのかが疑問です・・・・ わかりずらい説明で申し訳ないですが。ご教授下さい。 また、このへんの説明が詳しく書いている本、サイト教えて下さい。 頑張ってStrutsを深く理解していきたいです♪

  • Strutsを使用している環境で

    Strutsを使用している環境で、 web.xmlに<servlet>タグと<servlet-mapping>タグを 追加した場合、正しく認識するものなのでしょうか。 ご存知のかた、いらっしゃいましたら よろしくおねがいします。

    • ベストアンサー
    • Java
  • strutsのサンプル画面について

    初めてstruts開発に携わる初心者です。 下記環境で、strutsのインストール確認を行おうと思うのですが 「The requested resource (/struts-examples/) is not available.」とエラーが発生してしまい大変困っています。 <環境> struts-1.3.8 Tomcat 6.0 jdk1.6.0_06 windowsXP <手順> (1)それぞれをダウンロード&インストール (2)JAVA_HOME、CATALINA_HOMEを設定 (3)struts-1.3.8\apps下のwarファイルをTomcat 6.0\webappsにコピー (4)http://localhost:8080/struts-blank-1.3.8で動作確認 <出力されたログ> 情報: Coyote HTTP/1.1を http-8080 で初期化します 2008/07/26 22:07:38 org.apache.catalina.startup.Catalina load 情報: Initialization processed in 1148 ms 2008/07/26 22:07:38 org.apache.catalina.core.StandardService start 情報: サービス Catalina を起動します 2008/07/26 22:07:38 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/6.0.16 2008/07/26 22:07:38 org.apache.catalina.startup.HostConfig deployWAR 情報: Webアプリケーションアーカイブ struts-examples-1.3.8.war を配備します 2008/07/26 22:07:41 org.apache.struts.action.ActionServlet initChain 情報: Loading chain catalog from jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/struts-examples-1.3.8/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml 2008/07/26 22:07:42 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/org/apache/struts/validator/validator-rules.xml' 2008/07/26 22:07:42 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/upload/validation.xml' 2008/07/26 22:07:43 org.apache.struts.config.impl.ModuleConfigImpl addFormBeanConfig 警告: Overriding ActionForm of name localeForm 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/org/apache/struts/validator/validator-rules-compressed.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-bundles.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-i18nVariables.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-type.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-validwhen.xml' 2008/07/26 22:07:44 org.apache.coyote.http11.Http11Protocol start 情報: Coyote HTTP/1.1を http-8080 で起動します 2008/07/26 22:07:44 org.apache.jk.common.ChannelSocket init 情報: JK: ajp13 listening on /0.0.0.0:8009 2008/07/26 22:07:44 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/46 config=null 2008/07/26 22:07:44 org.apache.catalina.startup.Catalina start 情報: Server startup in 5831 ms 初歩的な質問ですが何卒よろしくお願いします。

    • ベストアンサー
    • Java
  • struts使用時のソースの位置

    お世話になります。 他で似た質問をしているのですが strutsのソースの格納場所について質問します。 WTP+strutsを使用し画面を作成しているのですが以下のような質問がでました。 致命的: サーブレット jsp のServlet.service()が例外を投げました javax.servlet.jsp.JspException: ActionMappingsまたはActionFormBeansコレクションが見つかりません おそらくstruts.config.xmlフォルダでactionタグに関連した箇所を探しているけれど見つからない・ソースのある箇所がわからない、といってるようには思うのですが。 情報: サーブレット action を利用不可能にマークします 2007/10/11 17:06:04 org.apache.catalina.core.StandardContext loadOnStartup 致命的: サーブレット /struts-blank がload()例外を投げました javax.servlet.UnavailableException: パス /WEB-INF/struts-config.xml に対するリソース読み込みエラー ソースの構成は struts-blank プロジェクト名 配下に Deployment Descriptor Java Resources build -class 実際javaソースをビルド時ここにclassが作成される WebContent 配下に METE-INF pages ここにすでにWelcome.jspソースが作成されている WEB-INF 配下に lib ここにjarファイルがある src 配下にjava ここにMessageResources.properties build.xml README.txt struts-config.xml tldファイル tiles.def.xml validation.xml validator-rules.xml Web.xml index.jsp すでに作成されている という構成なのですがどこが問題なのでしょうか? 実際には WEB-INF/src/配下にフォルダを作りそこにjavaソースを入れている感じなのですが よろしくお願いします

    • ベストアンサー
    • Java
  • Javaサーブレットを読み込んでくれません…

    現在、社内での新プロジェクトの為にJSPの研修を行っています。 開発環境 ・Windows2000 Service Pack 4 ・JDK 1.5.0_06 ・Tomcat 5.5.20 JDKとTomcatのインストールは正常に終了し、http://localhost:8080/は正常に見ることが出来ました。 その後、<Tomcat-Home>/webapps/ROOT/entryフォルダを作成し、 ・entry/WEB-INF/ ・entry/WEB-INF/classes/ 以上二つのフォルダを作成して、WEB-INFフォルダ直下にweb.xmlファイルを作成しています。 classesフォルダの中にHelloServlet.classを置き、web.xmlファイルの中身を書き換えてTomcatを再起動させてみたのですが、http://localhost:8080/entry/HelloServletとURLを打ってみても見ることが出来ません。 何か間違っているのか、設定不足なのか…教えていただければ幸いです、よろしくお願いいたします。 ************<web.xml>************ <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> *********************************

    • ベストアンサー
    • Java

専門家に質問してみよう