真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Servlet處理AJAX請(qǐng)求

本文小編為大家詳細(xì)介紹“如何使用Servlet處理AJAX請(qǐng)求”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“如何使用Servlet處理AJAX請(qǐng)求”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了田林免費(fèi)建站歡迎大家使用!

AJAX用于異步更新頁(yè)面的局部?jī)?nèi)容。

ajax常用的請(qǐng)求數(shù)據(jù)類(lèi)型

  • text    純文本字符串

  • json    json數(shù)據(jù)

使用ajax獲取text示例

此種方式常用于前端向后臺(tái)查詢(xún)實(shí)體的一個(gè)屬性(字段),比如查詢(xún)總分。

前端頁(yè)面

  
    學(xué)號(hào):     姓名:     查詢(xún)成績(jī)      

     

這里使用了jq提供的ajax方法,所以要用

后臺(tái)

@WebServlet("/servlet/HandlerServlet")
public class HandlerServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        //獲取ajax傳遞的參數(shù),和獲取表單數(shù)據(jù)的方式一樣
        String no=request.getParameter("no");

        //現(xiàn)在很多持久層框架都是把數(shù)據(jù)庫(kù)返回的記錄轉(zhuǎn)化為JavaBean處理
        //此處省略連接數(shù)據(jù)庫(kù)查詢(xún),得到Student類(lèi)實(shí)例
        Student student = new Student(1, "張三", 20, 100);

        //使用fastjson將java對(duì)象轉(zhuǎn)換為json字符串
        String jsonStr = JSON.toJSONString(student);

        PrintWriter writer = response.getWriter();
        writer.write(jsonStr);
    }
}

 JSON.toJSONString()使用的是阿里的fastjson.jar,需要自己下載添加這個(gè)jar。

使用ajax獲取json數(shù)組

此種方式用于后臺(tái)向前端返回同一實(shí)體類(lèi)的多個(gè)實(shí)例,比如查詢(xún)總分大于600的學(xué)生的信息,可能有多條記錄滿(mǎn)足要求。

前端

  查詢(xún)學(xué)前三個(gè)學(xué)生的信息
  
        

使用  data[下標(biāo)].字段名  的方式獲取屬性值。

后臺(tái)
@WebServlet("/servlet/HandlerServlet")
public class HandlerServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        //獲取ajax傳遞的參數(shù),和獲取表單數(shù)據(jù)的方式一樣
        String no=request.getParameter("no");

        //現(xiàn)在很多持久層框架都是把數(shù)據(jù)庫(kù)返回的記錄轉(zhuǎn)化為JavaBean處理
        //此處省略連接數(shù)據(jù)庫(kù)查詢(xún),得到Student類(lèi)的多個(gè)實(shí)例
        Student student1 = new Student(1, "張三", 20, 100);
        Student student2 = new Student(2, "李四", 19, 80);
        Student student3 = new Student(3, "王五", 20, 90);
        ArrayList list = new ArrayList<>();
        list.add(student1);
        list.add(student2);
        list.add(student3);

        //使用fastjson將java對(duì)象轉(zhuǎn)換為json字符串
        String jsonStr = JSON.toJSONString(list);

        PrintWriter writer = response.getWriter();
        writer.write(jsonStr);
    }
}

使用ajax獲取map類(lèi)型的json數(shù)據(jù)

使用場(chǎng)景:前端向后臺(tái)查詢(xún)多個(gè)信息,這些信息不是同一實(shí)體類(lèi)的實(shí)例。比如要查詢(xún)考生人數(shù)、最高分考生的信息,考生人數(shù)是int型,最高分考生信息是Student類(lèi)的實(shí)例。

前端

  查詢(xún)考生人數(shù)、最高分考生信息
  
        

以  data.key  的方式獲取對(duì)應(yīng)的value。

后臺(tái)
@WebServlet("/servlet/HandlerServlet")
public class HandlerServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        //獲取ajax傳遞的參數(shù),和獲取表單數(shù)據(jù)的方式一樣
        String no=request.getParameter("no");

        //現(xiàn)在很多后臺(tái)框架都是把數(shù)據(jù)庫(kù)返回的記錄轉(zhuǎn)化為JavaBean處理
        //此處省略連接數(shù)據(jù)庫(kù)查詢(xún),得到Student類(lèi)實(shí)例
        HashMap map = new HashMap<>();
        map.put("amount", 3000);
        map.put("student", new Student(1, "張三", 20, 680));


        //使用fastjson將java對(duì)象轉(zhuǎn)換為json字符串
        String jsonStr = JSON.toJSONString(map);

        PrintWriter writer = response.getWriter();
        writer.write(jsonStr);
    }
}

map和json對(duì)象十分相似:都是以鍵值對(duì)的形式保存數(shù)據(jù),key是String,value是Object。

所以后臺(tái)map類(lèi)型的數(shù)據(jù)可以以json的形式傳給前端。

說(shuō)明

async:true    異步,ajax向后臺(tái)請(qǐng)求數(shù)據(jù)時(shí),用戶(hù)仍可以在頁(yè)面上進(jìn)行操作

async:false   同步,ajax向后臺(tái)請(qǐng)求數(shù)據(jù),瀏覽器鎖定頁(yè)面,用戶(hù)不能在頁(yè)面上進(jìn)行操作,直到請(qǐng)求完成

讀到這里,這篇“如何使用Servlet處理AJAX請(qǐng)求”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享標(biāo)題:如何使用Servlet處理AJAX請(qǐng)求
當(dāng)前地址:http://weahome.cn/article/jhhode.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部