view 를 어디로 해야 할지 모르거나 URL 로 mapping 된 view 가 없는 경우임
applicationContext.xml 에서 아래와 같이 view 를 자동으로 분기 되도록 설정 하였다면
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="xml" value="application/xml" />
<entry key="html" value="text/html" />
</map>
</property>
<!-- JAXB XML View (Controller 에서 view 이름을 bean 이름으로 지정하면 결과가 넘어와서 View 화면에 XML 로 뿌려짐) -->
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
<!-- property name="ignoreAcceptHeader" value="true" / -->
</bean>
위의 설정은 http request 의 header 의 accept 부분을 기준으로 view 형태를
결정 하는 것입니다.
그래서 브라우저로 접근 하면
accept 가 채워져서 올라오지만 그렇지 않을 경우 (java 로 직접 socket 방식으로
http 접근을 할 경우 등)는 위의 방식으로 하면 위와 같이 view 를 어디로 가야
할지 못찾아서 에러가 납니다.
그래서 결국 applicationContext.xml에서 위의 설정을 지우고
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="1" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
<property name="cache" value="false" />
<property name="order" value="2" />
</bean>
이런 방식으로 설정을 바꿔줘야 합니다.
applicationContext.xml 에서 아래와 같이 view 를 자동으로 분기 되도록 설정 하였다면
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="xml" value="application/xml" />
<entry key="html" value="text/html" />
</map>
</property>
<!-- JAXB XML View (Controller 에서 view 이름을 bean 이름으로 지정하면 결과가 넘어와서 View 화면에 XML 로 뿌려짐) -->
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
<!-- property name="ignoreAcceptHeader" value="true" / -->
</bean>
위의 설정은 http request 의 header 의 accept 부분을 기준으로 view 형태를
결정 하는 것입니다.
그래서 브라우저로 접근 하면
accept 가 채워져서 올라오지만 그렇지 않을 경우 (java 로 직접 socket 방식으로
http 접근을 할 경우 등)는 위의 방식으로 하면 위와 같이 view 를 어디로 가야
할지 못찾아서 에러가 납니다.
그래서 결국 applicationContext.xml에서 위의 설정을 지우고
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="1" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
<property name="cache" value="false" />
<property name="order" value="2" />
</bean>
이런 방식으로 설정을 바꿔줘야 합니다.
댓글