Spring MVC Ajax Json交互配置

Ajax Json交互分為兩個方向:

  1. 前端到后臺:前端ajax發(fā)送json格式字符串萨惑,后臺直接接收為pojo參數(shù),后臺使用@RequstBody写穴;
  2. 后臺到前端:后臺直接返回pojo對象,前端接收未json對象或者字符串,后臺使用注解@ResponseBody伤为;

@ResponseBody注解

@ResponseBody注解的作用是將controller的方法返回的對象通過適當?shù)霓D(zhuǎn)換器轉(zhuǎn)換成指定格式后,寫入到response對象的body區(qū)据途,通常用來返回JSON數(shù)據(jù)或者XML數(shù)據(jù)绞愚。注意:在使用此注解之后不會在走視圖解析器,而是直接將數(shù)據(jù)寫入到輸入流中颖医,它的效果等同于通過response對象輸出指定格式的數(shù)據(jù)位衩。

Spring MVC 使用JSON交互

引入json相關(guān)jar包

Spring MVC想要使用JSON進行數(shù)據(jù)交互,需要引入基礎的JSON依賴包

    <!--json數(shù)據(jù)交互所需jar熔萧,start-->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
    </dependency>
    <!--json數(shù)據(jù)交互所需jar蚂四,end-->

代碼事例

  • 前端頁面及js代碼
  1. 引入jquery.min.js
    將ajax需要使用到的jquery.min.js放置到WEB-INF目錄中


    jquery.min.js
  2. Spring MVC 處理靜態(tài)資源
    修改springmvc.xml文件光戈,添加 mvc:resources 標簽,讓SpringMVC框架自己處理靜態(tài)資源遂赠,否則前端ajax的js無法使用jquery.min.js
        <!--靜態(tài)資源配置久妆,方案二,SpringMVC框架自己處理靜態(tài)資源
        mapping:約定的靜態(tài)資源的url規(guī)則
        location:指定的靜態(tài)資源的存放位置-->
        <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
  1. jsp頁面代碼
    <div>
        <h2>Ajax json交互</h2>
        <fieldset>
            <input type="button" id="ajaxBtn" value="ajax提交"/>
        </fieldset>
    </div>
  1. ajax js請求代碼
<head>
    <title>SpringMVC 測試頁</title>


    <script type="text/javascript" src="/js/jquery.min.js"></script>

    <script>
        $(function () {
            $("#ajaxBtn").bind("click",function () {
                // 發(fā)送ajax請求
                $.ajax({
                    url: '/demo/handle07',
                    type: 'POST',
                    data: '{"id":"1","name":"李四"}',
                    contentType: 'application/json;charset=utf-8',
                    dataType: 'json',
                    success: function (data) {
                        alert(data.name);
                    }
                })
            })
        })
    </script>


    <style>
        div{
            padding:10px 10px 0 10px;
        }
    </style>
</head>
  • 后臺Handler代碼
    前端通過ajax向后臺發(fā)送請求跷睦,將user對象轉(zhuǎn)換成JSON字符串請求到后臺的Handler筷弦。后臺的Handler收到JSON數(shù)據(jù)后,通過@RequestBody注解將JSON字符串轉(zhuǎn)換成User對象抑诸,后臺Handler修改User對象后烂琴,通過@ResponseBody注解將user對象轉(zhuǎn)換成JSON字符串,響應到頁面蜕乡。
    /**
     * 添加@ResponseBody之后奸绷,不再走視圖解析器那個流程,
     * 而是等同于response直接輸出 數(shù)據(jù)
     */
    @RequestMapping("/handle07")
    public @ResponseBody User handle07(@RequestBody User user) {
        System.out.println(user);
        // 業(yè)務邏輯處理层玲,修改name為張三豐 
        user.setName("張三豐");
        return user;
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末号醉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辛块,更是在濱河造成了極大的恐慌畔派,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件润绵,死亡現(xiàn)場離奇詭異线椰,居然都是意外死亡,警方通過查閱死者的電腦和手機尘盼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門憨愉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卿捎,你說我怎么就攤上這事莱衩。” “怎么了娇澎?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵笨蚁,是天一觀的道長。 經(jīng)常有香客問我趟庄,道長括细,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任戚啥,我火速辦了婚禮奋单,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猫十。我一直安慰自己览濒,他們只是感情好呆盖,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贷笛,像睡著了一般应又。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乏苦,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天株扛,我揣著相機與錄音,去河邊找鬼汇荐。 笑死洞就,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的掀淘。 我是一名探鬼主播旬蟋,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼革娄!你這毒婦竟也來了倾贰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤稠腊,失蹤者是張志新(化名)和其女友劉穎躁染,沒想到半個月后鸣哀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體架忌,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年我衬,在試婚紗的時候發(fā)現(xiàn)自己被綠了叹放。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡挠羔,死狀恐怖井仰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情破加,我是刑警寧澤俱恶,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站范舀,受9級特大地震影響合是,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锭环,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一聪全、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辅辩,春花似錦难礼、人聲如沸娃圆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽讼呢。三九已至,卻和暖如春臀稚,著一層夾襖步出監(jiān)牢的瞬間吝岭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工吧寺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留窜管,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓稚机,卻偏偏與公主長得像幕帆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赖条,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容