2014-01-28 5 views
0

바람둥이로 처리 요청없이 phonegap spring return 403 오류에서 ajax 요청을 보내는 동안 나는 이해할 수 없다. 부두를 사용하는 경우 embeded work cool.봄철 Tomcat 403 금지됨

내 컨트롤러

@Controller 
public class TestController { 
    @RequestMapping(value = "/", method = RequestMethod.POST) 
    public String test() { 
     return "Hello"; 
    } 
} 

내가 어떻게 할 수 바람둥이 방법이나 봄에서 해결의 전체 로그 요청. 간단한 휴식에서 클라이언트는 차갑게 일합니다.

@RequestMapping(value = "/login", method = RequestMethod.GET) 
public @ResponseBody Object loginUser1(HttpServletRequest req , HttpServletResponse httpServletResponse) { 
    Enumeration<String> headerNames = req.getHeaderNames(); 

    while (headerNames.hasMoreElements()) { 

     String headerName = headerNames.nextElement(); 
     System.out.println(headerName); 

     Enumeration<String> headers = req.getHeaders(headerName); 
     while (headers.hasMoreElements()) { 
      String headerValue = headers.nextElement(); 
      System.out.println(headerValue); 
     } 

    } 
    return "Hello"; 
} 

@RequestMapping(value = "/login", method = RequestMethod.POST) 
public @ResponseBody Object loginUser2(HttpServletRequest req , HttpServletResponse httpServletResponse) { 
    Enumeration<String> headerNames = req.getHeaderNames(); 

    while (headerNames.hasMoreElements()) { 

     String headerName = headerNames.nextElement(); 
     System.out.println(headerName); 

     Enumeration<String> headers = req.getHeaders(headerName); 
     while (headers.hasMoreElements()) { 
      String headerValue = headers.nextElement(); 
      System.out.println(headerValue); 
     } 

    } 
    return "Hello"; 
} 

반환하기

호스트 10.0.0.42:8080 연결 유지 (keep-alive) / x가 요청한-와 com.citronium.planReview 사용자 에이전트 모질라/5.0 을 받아 (Linux, U, Android 4.2.1, en-us, e2001v21_v89_gq2008s Build/JOP40D) AppleWebKit/534.30 (Gecko와 같은 KHTML) 버전/4.0 모바일 Safari/534.30 accept-encoding gzip, 수락 허용 언어 en-US accept - 차 등의 UTF-8, UTF-16, *, Q = 아마 @Anders 말했듯이 당신이 필요로 0.7

+0

check catalina.out 로그 파일에 무슨 일이 있었는지 힌트가 있습니다. 스택 트레이스가 있으면 여기에 게시하십시오 – WeMakeSoftware

+0

들어가거나 게시 하시겠습니까? 귀하의 컨트롤러는 POST 할 수 있습니다 - 그건 당신 문제 일 수 있습니다. –

+0

멋진 직장을 만드십시오! Catalina는 403 오류 만 표시합니다. –

답변

1

을 정의합니다. Servlet 3에서 방향은 WebSockets입니다. Tomcat 7은 Servlets 3을 구현하고 websocket listener를 시작합니다. Phonegap < 헤더를 보내지 않음 오리진, 톰캣은 이상한 기원을 "null, file : //"및 기타로 해석하지 않습니다. 다른 서버를 사용하거나 오래된 바람둥이를 사용하십시오. 나는 바람둥이 6.37을 사용하고있다. 내 문제를 해결하고있어.

-2

: 당신이 당신의 웹 응용 프로그램에 로깅을 추가하려면

@RequestMapping(value = "/", method = RequestMethod.GET) 

, 당신은 log4j을 추가 할 수 있습니다 이는 좋은 로깅 프레임 워크입니다. ApplicationContext를-security.xml에서

나는 내 문제를 해결

<intercept-url pattern="/default-page" access="permit all">

+0

이 방법을 시도했습니다. 그리고 모든 좋은 헤더를 잡으십시오. –

+0

또한 web.xml에 기본 페이지를 정의해야합니다. –

+0

이 REST 기반 컨트롤러. 보기가 없습니다. –