2010-05-14 4 views
1

나는이 오류가스프링 MVC와 웹 로직 통합

경고 : URI [/HelloWorld.Web] 이름의 DispatcherServlet에 '와 HTTP 요청을 찾을 수 없습니다 매핑 디스패처 '

이는 요청이 디스패처 서블릿에 의해 수신되고 있지만 제어기로 전달할 수 없다는 것을 의미합니다.

하지만 문제가 어디 있는지 알 수 없습니다. 내가 올바르게 매핑했다고 생각 :

<bean id="urlMapping" 
    class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="/HelloWorld.Web">indexController</prop> 
     </props> 
    </property>  
</bean> 

<bean id="indexController" class="com.helloworld.controller.IndexController"> 
    <property name="artistDao" ref="artistDao"/>  
    <property name="methodNameResolver"> 
     <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> 
      <property name="alwaysUseFullPath" value="true"/> 
      <property name="mappings"> 
       <props> 
        <prop key="/HelloWorld.Web">getAllArtists</prop> 
       </props> 
      </property> 
     </bean> 
    </property> 
</bean> 

나는 봄 2.5.6 및 베아 웹 로직 서버를 사용하고 9.2

여기 여기 내 web.xml을

<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>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
    </servlet> 

    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app> 

년대 인 IndexController

입니다
public class IndexController extends MultiActionController { 

    private ArtistDao artistsDao; 
    public ModelAndView getAllArtists(HttpServletRequest request, HttpServletResponse response) throws SQLException{ 
     ModelAndView mav = new ModelAndView(); 
     mav.setViewName("index"); 
     List<Artist> artists = artistsDao.getAll(); 
     mav.addObject("artists", artists); 
     return mav; 
    } 
    public void setArtistsDao(ArtistDao artistsDao) { 
     this.artistsDao = artistsDao; 
    } 

} 
+0

"dispatcher"서블릿과 관련하여 web.xml 구성 및 기타 스프링 구성을 게시 할 수 있습니까? – anger

+0

이미 web.xml이 추가되었습니다. 다른 것을 넣어야하는지 알려주세요. 동일한 코드가 GAE (Jetty를 사용)에서는 작동하지만 Oracle Weblogic에서는 작동하지 않는 것이 재미 있습니다. – Jeune

+0

'IndexController'의 소스도 볼 수 있습니까? – skaffman

답변

0

저는 이것에 대해서는 잘 모르겠지만 문제는 web.xml의 다음 항목에 있다고 생각합니다.

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

서블릿 2.4 사양 매핑 서블릿에 대한 요청 및 상기 선언 서블릿 경로 요청 URI 마이너스 상황 인 경우에 응용 프로그램의 "디폴트"서블릿 수단 관련 전체 흐림 (IMO)는 경로 정보는 경로 정보가 null입니다.

위의 내용을 다음으로 바꾸면 아무 것도 변경됩니까?

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/*.Web</url-pattern> 
</servlet-mapping>