2011-12-24 14 views
1

私のシステムでスプリングを設定するには、このチュートリアルに従います。http://www.roseindia.net/spring/spring-mvc-hello-world.shtml単純なスプリングアプリケーションの実行中にエラーが発生しました。

<?xml version="1.0" encoding="UTF-8"?> 

<web-app version="2.5" 
    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_5.xsd" > 
    <servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

ディスパッチャ-servlet.xml:ここ

は私のweb.xmlファイルである

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 
    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"> 
     <value>/WEB-INF/jsp/</value> 
    </property> 
    <property name="suffix"> 
    <value>.jsp</value> 
    </property> 
    </bean> 
    <bean id="urlMapping" 
     class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="interceptors"> 
     <list> 
     <ref local="localeChangeInterceptor"/> 
     </list> 
    </property> 
    <property name="urlMap"> 
     <map> 
     <entry key="/hello.html"> 
      <ref bean="helloController"/> 
     </entry> 
     </map> 
    </property> 
    </bean> 
    <bean id="helloController" class="net.roseindia.web.HelloWorldController"> </bean> 
    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
    <property name="paramName" value="hl"/> 
    </bean> 
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/> 
</beans> 

私はこのエラーを取得しています:

HTTP Status 404 - Servlet dispatcher is not available 

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

type Status report 

message Servlet dispatcher is not available 

description The requested resource (Servlet dispatcher is not available) is not available. 

問題がある可能性がありますどのような?私はプロジェクトビルドのパスとweb-infのlibフォルダにもライブラリを追加しました。

+5

私はローズ・インディアで見つけたものには非常に注意します。私はあなたがすでに知っているように、それが良いサイトであるとは思わない。なぜあなたは春の自分のサイトに行って、自分のものを勉強しないのですか?また、Spring 3を使っている間はSpring 3を使用してください。彼らは今バージョン3.1までです。 – duffymo

答えて

2

webappのログレベルをDEBUGに設定し、Springが生成したログメッセージを調べて、Webアプリケーションを配線してリクエストをディスパッチします。これは何がうまくいかないかについての手がかりを与えるはずです。

Springのマニュアル、チュートリアル、サンプルを使用することをお勧めしますか?ローズ・インディアのものは、適切なチュートリアルではなくレシピのように見えます。それは何が起こっているのか説明していません。

+0

井戸..私は以前もそれをインストールしました。しかし、新しいシステムは今、私は同じ手順を踏んでいますが、何がうまくいかないのか理解できません...あなたはデバッグの良い提案をしました。あなたに知らせる。 – Maverick

+0

URLClassLoader.class – Maverick

+0

@mad_programmerでデバッガが私に 'これを投げて新しいClassNotFoundException(name);を表示しています - この場合、これはある種のクラスパスの問題です。 Aravindの答えを参照してください。 WARファイルを適切に構築した場合、WebコンテナがWARファイルを展開するときに、依存するすべてのJARが 'WEB-INF/lib'ディレクトリにインストールされます。 –

0

これはクラスパスの問題です。あなたが作成したWARの中にSpring-web jarがあるかどうか確認できますか?それはweb-inf libの中になければなりません。そこにある場合は、それを開き、必要なDispatcherServletファイルがその中に入っているかどうかを確認してください。そうでない場合は、依存関係を正しく追加していません。

+0

ビルドパスを使って、spring distフォルダ内にあるライブラリを追加しました。また、web-inf/lib内のすべてのjarファイルもコピーしました。 – Maverick

+1

作成したWARをチェックしましたか?そうでない場合は、私はあなたがlibファイルを開いたかどうかを確認することをお勧めします。 –

関連する問題