2014-10-28 3 views
0

저는 Spring mvc 4와 glassfish 4를 사용하고 있습니다. @ResponseBody를 사용하여 json으로 객체를 반환하는 ajax 호출에 몇 가지 문제가있었습니다. 그런 다음 적절한 해결책을 찾았습니다 HTTP Status 406. Spring MVC 4.0, jQuery, JSON 내 서블릿 매핑 때문에 내 프로젝트에서 완전히 작동하지 않았다고 생각합니다.스프링 mvc 서블릿 매핑 및 406 http 코어

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

그러나 나는 * 내가이 시도한 406 HTTP 코드에 문제가되지 않도록/같은 요청을 처리하는데 또한 원하는 :

내 서블릿 매핑이었다

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

그러나 다음을

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

B : 발송자 또한 내가이 시도 한 끝에 *의 .jsp로 및 휴식 매핑 그런 다음 디스패처는 * .js와 * .css를 부트 스트랩, jquery 등과 같이 매핑합니다.

이제 아이디어가 떨어졌습니다.

답변

0

결국 나는 그것을 고쳤다. 한 쪽에서 406 HTTP 코드 문제를 해결하려면 아약스의 콘텐츠 유형을 지정하고 컨트롤러에서 * .htm을 제거합니다.

그리고 다른 측면에서 나는 서블릿 매핑을 수정하고 더 많은 문제를 피하기 위해 리소스 태그를 추가해야했습니다.

지금 내 서블릿 매핑은 다음과 같이이다 :

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

그리고 발송자 - 서블릿이 줄을 추가 :

<bean id="viewResolver" 
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
      p:prefix="/WEB-INF/jsp/" 
      p:suffix=".jsp" /> 

<mvc:resources mapping="/resources/**" location="/resources/" />