스프링 프로젝트 초반 mapping 예제를 시험중에 이런메시지가나왔다.
No mapping found for HTTP request with URI [/.../.....jsp] in DispatcherServlet with name 'dispatcher'
//web.xml
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
//springmvc-servlet.xml
<context:component-scan base-package="com.cho.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="cache" value="true" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
//MainController.java
@Controller
public class MainController {
@RequestMapping("/main.do")
public ModelAndView index(){
System.out.println("/main.jsp");
ModelAndView mav = new ModelAndView();
mav.setViewName("main");
return mav;
}
}
/main.do url로 접근시 서블릿에서 .jsp 로 바꿔서 뿌려주지만 다시 web.xml에서 설정한
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
이부분때문에 /main.jsp로 맵핑된 컨트롤러를 찾는다.
따라서 이 서블릿맵핑을 삭제해주면되겠다.
'프로그래밍 > 웹' 카테고리의 다른 글
무료 호스팅 서버에 wordpress (워드프레스) 설치하기 (0) | 2015.08.12 |
---|---|
localhost:8080 대신 직접 도메인 지정하기 (0) | 2013.03.13 |
이클립스, 톰캣 out of memory 해결/ 메모리 늘리기 (0) | 2013.01.16 |
[jquery] input type text 찾기 (0) | 2012.11.20 |
jquery 현재시간, 오늘날짜 -> string (0) | 2012.11.16 |