2014-01-28 151 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的控制器。沒有看法。 –