- PR -

strutsのサンプル実行

投稿者投稿内容
ax
常連さん
会議室デビュー日: 2004/04/07
投稿数: 34
お住まい・勤務地: 東京
投稿日時: 2004-05-13 18:05
strutsを初めて使用しています。
雑誌に付いていたサンプルを実行しようと思い、書いてある通りに配置してブラウザから
アクセスしたのですが、以下のようなエラーが出ました

HTTP????? 500 -

--------------------------------------------------------------------------------

type ??????

?????

?? The server encountered an internal error () that prevented it from fulfilling this request.

??

javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.input_jsp._jspService(input_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

雑誌の通りなのになぜだろうと思い、その他のホームページ等で見つけたサンプルでも
実行してみたのですが、やはり上記と同じエラーとなってしまいました。
struts-configなどでの設定がおかしいのかと思っていましたが、struts-configが
ない場合(わざと削除)でも同じエラーが出ていて、何が原因でエラーになっている
のかわかりません。
このようなエラーが発生するのはどのような場合なのでしょうか。疑わしい部分など
ご指摘いただければ調査してみたいと思うのですが。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-05-13 19:54
なんとなく思うことを。

struts のjarファイルを入れ忘れてませんか?
struts-config.xmlのタグはちゃんとなってますか?(閉じ忘れとか、"/"が抜けてるとか)

あとは、

strutsに付いているサンプル(blank.warとか)は動きますか?
たぶんtomcatかと思いますが、そのログにエラーがはかれてませんか?
ax
常連さん
会議室デビュー日: 2004/04/07
投稿数: 34
お住まい・勤務地: 東京
投稿日時: 2004-05-13 22:16
返答ありがとうございます。
タグのミス等は何度も確認しましたし、
struts.jarはjavaソースファイルをコンパイル時にクラスパス
で指定した場所に入れた状態(libの配下)です。
struts-blankなど、最初から付いていたサンプルは問題なく動くの
で・・・原因が分からず困っています。
わんこ
常連さん
会議室デビュー日: 2003/04/30
投稿数: 46
投稿日時: 2004-05-13 22:45
web.xmlの設定に抜けはありませんか?
struts-config.xmlの設定に抜けはありませんか?
ax
常連さん
会議室デビュー日: 2004/04/07
投稿数: 34
お住まい・勤務地: 東京
投稿日時: 2004-05-14 09:59
やはり設定ファイルなんでしょうか・・・
現在の設定として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>
</servlet>
<servlet-mapping>
<servlet-name>Action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

そしてstruts-config.xmlの一部は
<form-beans>
<form-bean name="BeginForm" type="struts.BeginForm" />
</form-beans>
<action-mappings>
<action path="/BeginAction" type="struts.BeginProcess"
name="BeginForm" scope="request">
<forward name="success" path="/output.jsp" />
</action>
</action-mappings>
とし、JSPから
<html:form action="/BeginAction">
のように使用しています。javaのクラスも正しい場所に配置していると思うんですが・・・
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-05-14 21:38
念のため、struts-config.xmlをIEなどで開いてみて確認してみませんか?
あとは、web.xmlで servletタグ に
コード:
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>


とか入れてみて、servletコンテナのログを見てください。
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2004-05-15 12:48
引用:

axさんの書き込み (2004-05-13 22:16) より:
struts.jarはjavaソースファイルをコンパイル時にクラスパス
で指定した場所に入れた状態(libの配下)です。
struts-blankなど、最初から付いていたサンプルは問題なく動くの
で・・・原因が分からず困っています。



その、コンパイル時にクラスパスで指定した場所とは何処なのでしょうか。
Struts を利用するウェブアプリの動作時には、その jar ファイルは、
何処にあるべきだと思いますか。

struts-blank.war が展開されたディレクトリが $CATALINA_BASE/webapps に
ありますよね。その WEB-INF/lib の中と、ax さんが作られたウェブアプリとで
違いはありますか。
わんこ
常連さん
会議室デビュー日: 2003/04/30
投稿数: 46
投稿日時: 2004-05-17 14:31
web.xmlは一部だそうですけど

コード:
    <init-param>
      <param-name>mapping</param-name>
      <param-value>sample.ActionMapping</param-value>
    </init-param>



はありますか?

スキルアップ/キャリアアップ(JOB@IT)