2011-11-13 17 views
1

私はSpring MVCを学び始めています。私は同じ問題について多くの同様の質問を閲覧しましたが、まだこのエラーを解決することはできません。誰かが私のコードを調べて、何が紛失しているのか教えてください。Spring MVC Dispatcherサーブレットでマッピングが見つかりません

のweb.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> 
    <servlet> 
    <servlet-name>myphotosharingapp</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>myphotosharingapp</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
    </servlet-mapping> 

    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/myphotosharingapp-service.xml</param-value> 
    </context-param> 

    <welcome-file-list> 
    <welcome-file> 
     jsp/index.jsp 
    </welcome-file> 
    </welcome-file-list> 
</web-app> 

myphotosharingapp-servlet.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"> 

    <!-- mapping --> 
    <bean id="urlMapping" 
     class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
     <property name="mappings"> 
      <props> 
       <prop key="browsefiles.htm">browseFilesController</prop> 
      </props> 
     </property> 
    </bean> 

    <!-- The view resolver --> 
    <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="browseFilesController" class="springmvc.controller.BrowseFilesController"> 
     <property name="browseAlbumsService" ref="browseAlbumsService"></property> 
     <property name="methodNameResolver"> 
      <bean 
       class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> 
       <property name="mappings"> 
        <props> 
         <prop key="/browsefiles.htm">browse</prop> 
        </props> 
       </property> 
      </bean> 
     </property> 
    </bean> 

</beans> 

myphotosharingapp-service.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 name="browseAlbumsService" class="springmvc.service.BrowseAlbumsService"> 
    </bean> 
</beans> 

home.jspを

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Share Photos</title> 
</head> 
<%-- <% 
     String sourcePath = ("${sourceAlbumPath}" == null)? "" : "${sourceAlbumPath}"; 
%> --%> 

<body> 
    <h1> 
     Welcome   
    </h1> 
    <form name="frmHome" method="Post" action="browsefiles.htm"> 
     <a href=".">View Albums</a> 
     <br> 
     <br> 
     <input type="text" name="sourceAlbumPath" value=""> 
     </input> 
     <button name="Browse" > 
      Browse  
     </button>   
    </form> 
</body> 
</html> 

のindex.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Share Photos</title> 
</head> 
<body> 
    <h1> 
     Welcome!!   
     <a href="jsp/home.jsp">home</a> 
    </h1> 

</body> 
</html> 

インデックスページがきれいに表示され、ホームページも読み込まれます。しかし、home.jspのBrowseボタンをクリックするだけで、 "HTTP STATUS 404"エラーが表示されます。

Tomcatは「名前myphotosharingappとディスパッチャサーブレットで[/springmvc/jsp/browsefiles.htm]のためのマッピング」を言わない

誰かが助けてくださいことはできますか?

答えて

1

ホームページのパスは相対パスで、xmlのマッピングが/browsefiles.htmの場合は/jsp/browsefiles.htmを指します。

解決策は、JSPのrequest.getContextPath()またはSpring MVCの<spring:url> JSPタグを使用して、URLをベースに対して相対的にすることです。

+0

大丈夫..ありがとう.. – meenakshi

1

あなたの構成は/browsefiles.htmをマッピングすることですが、あなたは/springmvc/jsp/browsefiles.htm

を介してアクセスしようとしているあなたが本当にSimpleUrlHandlerMappingを使用する必要がありますか?そうでなければ、Spring MVCと注釈によるマッピングを試してください。それはずっと簡単です。基本アプリケーションを構成するには、2つのxml beanが必要です。ここで最高のチュートリアルです:私はこれが答えではないことを理解し

http://blog.springsource.org/2011/01/04/green-beans-getting-started-with-spring-mvc/

が、私は春のアノテーションを使用する方法を学ぶ方が良いと思います。あなたが新しいので、わからない場合に備えてこのアドバイスを提供することが最善だと思います。

+0

ありがとうgigadot。私は注釈の使い方を学びます。 – meenakshi