2014-01-28 147 views
0

我发送ajax请求,从phonegap spring返回403错误,但没有与tomcat的处理请求,我不明白。如果使用码头嵌入工作酷。Spring Tomcat 403禁止

我控制器

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

我怎样才能在Tomcat或如何从春天修复完整的日志请求。在简单的休息客户端工作很酷。

@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连接保持接受 / X-要求,与com.citronium.planReview用户代理的Mozilla/5.0 ( Linux/U; Android 4.2.1; en-us; e2001v21_v89_gq2008s Build/JOP40D) AppleWebKit/534.30(KHTML,与Gecko一样)Version/4.0 Mobile Safari/534.30 accept-encoding gzip,deflate accept-language en-US accept -chars等UTF-8,UTF-16,*; Q = 0.7

+0

检查catalina.out日志文件以了解发生了什么。如果您在那里看到任何堆栈跟踪,请将它们发布在这里 – WeMakeSoftware

+0

您正在GET或正在发布?你的控制器只允许POST'ing - 这可能是你的问题。 –

+0

让工作变得更酷!卡塔利娜只显示403错误。 –

回答

1

我解决我的问题。在Servlet 3中,方向是WebSockets。 Tomcat 7尝试实现Servlet 3并启动websocket监听器。 Phonegap <不发送头文件来源,tomcat不能解析任何奇怪的起源为:“null,file://”等。使用其他服务器或使用旧的Tomcat。我使用的是tomcat 6.37。这是解决我的问题。

-2

也许你需要为@Anders说:

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

如果你想记录添加到您的Web应用程序,你可以添加log4j ,这是一个很好的日志框架。

在的applicationContext-security.xml文件定义

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

+0

我尝试了这种方法。并抓住所有好头。 –

+0

您还需要为web.xml定义默认页面。 –

+0

这个基于REST的控制器。没有看法。 –