前後臺數據交互(ajax、json、ssm、跨域訪問)

415、500錯誤都報過,看了很多解決辦法,請教了很多人,花了半個周的時間,最終解決,在此展示我認爲對我幫助的資料和心得體會

查考資料:http://blog.csdn.net/u012441222/article/details/56494931

                  http://blog.csdn.net/yixiaoping/article/details/45281721

在網上找了兩種方式,第一種是利用ssm框架自帶的io流,加了三個包,然後在spring.xml中配置

但是,我運行還不不能成功,老是報錯:

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#1' defined in class path resource [conf/springmvc.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonGenerationException
老師一眼看到關鍵字:java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonGenerationException,說是少包了,
然後我查看確實和報錯的類不在同一個包下,然後老師給我發了一個包,就沒問題了。


第二種是用gson包,這樣就不用配置,用起來簡單方便粗暴,我在controller類裏面這樣寫:

因爲缺包的問題我弄了很久,有時候管他三七二十一就把所有的包弄進去,會產生衝突而且有時候缺包也不知道該下哪一個包也很痛苦,本來以爲就解決了,但是通過頁面提交的時候因爲各種原因,也弄了很久。因爲我的頁面在hbuild編輯器裏面編寫,而後臺在myeclipse內編寫

我很白癡的用外部瀏覽器訪問結果訪問出錯,總是error,500錯誤,後臺也不報錯,這其實是跨域訪問的問題,如果搞測試,最好聯網用模擬器弄,或者在url後面加上要傳遞的數據,比如這樣:

或者,直接一個包就能解決問題,粘貼到web下面的lib,用url就能訪問。

最後的問題:就是頁面傳過來的值該是post+字符串,還是該用post+對象;嗯兩種都試過,都成功了,主要看後臺controller方法裏面接收的方式,只要把實體類定義好,傳參沒有問題。代碼如下:

post+對象:


post+字符串:


最後的最後我還是喜歡用post+對象這種方式,更簡單明瞭省事。

謝謝大家的瀏覽,如果有錯誤的地方,請留下寶貴的意見。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章