web.xml (공존)에 정의 된 일반 서블릿과 Spring MVC dispatcherServlet이 있습니다. web.xml의 Spring MVC DispatcherServlet에 대한 매핑은 "/ admin/*"이다. request.getDispatcher()를 만드는 정규 서블릿을 "/ admin/..."폴더 구조 아래 jsp로 전달했습니다. 이것은 내부 포워드이기 때문에 봄 디스패처 인 Servlet이 주목을받지 못할 것으로 기대합니다. Spring의 DispatcherServlet이이 사실을 알았고이 JSP 로의 매핑을 찾지 못했다는 사실을 알게되었습니다.Spring MVC의 비정상적인 동작
아무도 여기에서 실제로 무엇이 일어나고 있는지 아십니까?
업데이트 : 질문이 명확하지 않았다 미안 해요 :
우리는 스프링 MVC를 사용하지 않고 기존 응용 프로그램이 있습니다. 우리는 기존의 기능을 그대로 유지하고 다른 새로운 기능을 위해 Spring MVC를 추가하기로 결정했습니다. . 그래서 여기
은 web.xml에 매핑입니다 :
<servlet>
<servlet-name>springRouted</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/mvc-config.xml</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springRouted</servlet-name>
<url-pattern>/admin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>existingServlet</servlet-name>
<url-pattern>existing.do</url-pattern>
</servlet-mapping>
ExistingServelt이 request.getRequestDispatcher을 (호출하면) 앞으로 ("/ 관리/... JSP"), 다음 봄이 오류를보고 할 것 "/admin/...jsp"에 대한 매핑을 찾을 수 없습니다. request.getRequestDispatcher() .forward ("/ admin/... jsp")를 호출하면 서블릿 컨테이너가 web.xml을 다시 검사하고 Spring의 DispatchServlet을 통해 경로를 재 지정합니다.