java實(shí)現(xiàn)后臺(tái)數(shù)據(jù)顯示在前端

本篇使用servlet +.ajax( )的技術(shù),實(shí)現(xiàn)簡(jiǎn)單的前后臺(tái)的交互問(wèn)題。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比寒亭網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式寒亭網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋寒亭地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

首先來(lái)了解一下AJAX
AJAX是jquery的一個(gè)方法,一種在網(wǎng)頁(yè)上調(diào)用后臺(tái)接口的方式。
示例:$.ajax( { 參數(shù) } ) ;
$.ajax()等同于jQuery.ajax( )
參數(shù)里是一個(gè)JS對(duì)象, 其中的屬性:
type: ' GET' /‘POST'
url: 接口地址
success:服務(wù)器應(yīng)答時(shí),調(diào)用此function處理(回調(diào)方法)

另外說(shuō)一下Servlet
Servlet,服務(wù)小程序,為客戶端提供自定義服務(wù)的機(jī)制。
瀏覽器(客戶端) —請(qǐng)求—》Tomcat(服務(wù)器)
Tomcat(服務(wù)器) —應(yīng)答—》瀏覽器(客戶端)

//創(chuàng)建一個(gè)學(xué)生pojo 類

/**
 * 這是一個(gè)關(guān)于學(xué)生的POJO類
 * 暫時(shí)不引入數(shù)據(jù)庫(kù)
 * 只是一個(gè)假的數(shù)據(jù)庫(kù)
 */

public class Student
{
 public int id;
 public String name;
 public String adress;
 
 public Student()
 {
  
 }
 
 public Student(int id,String name,String adress)
 {
  this.id = id;
  this.name = name;
  this.adress = adress;
 }

 public int getId()
 {
 return id;
 }

 public void setId(int id)
 {
 this.id = id;
 }

 public String getName()
 {
 return name;
 }

 public void setName(String name)
 {
 this.name = name;
 }

 public String getAdress()
 {
 return adress;
 }

 public void setAdress(String adress)
 {
 this.adress = adress;
 }

創(chuàng)建一個(gè)假的學(xué)生類型數(shù)據(jù)庫(kù)并存入數(shù)據(jù)

public class Db
{
 //創(chuàng)建一個(gè)本類的全局對(duì)象
 public static Db i = new Db();
 
 //使用鏈表寫(xiě)入數(shù)據(jù)
 private ArrayList<Student> stu = new ArrayList<>();
 
 private Db()
 {
 stu.add(new Student(20180001,"老王","北京"));
 stu.add(new Student(20180002,"老甄","邢臺(tái)"));
 stu.add(new Student(20180003,"老高","邢臺(tái)"));
 stu.add(new Student(20180004,"老孟","邯鄲"));
 stu.add(new Student(20180005,"老裴","太原"));
 stu.add(new Student(20180006,"老李","東北"));
 stu.add(new Student(20180007,"老張","武漢"));
 stu.add(new Student(20180008,"老苗","重慶"));
 stu.add(new Student(20180009,"老郭","北京"));
 
 }
 
 //獲取全部信息
 public ArrayList<Student> all()
 {
 return stu;
 }
 
 //按照學(xué)號(hào)查詢
 public ArrayList<Student> byId(int from,int to)
 {
 ArrayList<Student> qStu = new ArrayList<>();
 for(int i=0;i<stu.size();i++)
 {
 Student s = stu.get(i);
 if(s.id<=from &&s.id<=to)
 {
 qStu.add(s);
 }
 }
 return qStu;
 }
}

創(chuàng)建一個(gè)servlet

將數(shù)據(jù)返回

/**
*只需要更改doGet方法
*/
@WebServlet("/QueryAll")
public class QueryAll extends HttpServlet {

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
 ArrayList<Student> rows = Db.i.all();
 
 //轉(zhuǎn)換成JSON格式
 JSONArray result = new JSONArray(rows);
 
 //返回?cái)?shù)據(jù)
 response.setCharacterEncoding("UTF-8");
 response.setContentType("text/plain");
 Writer writer = response.getWriter();
 writer.write(result.toString(2));
 writer.close();
 }
 }

下面是前端的代碼 將html+css+js結(jié)合到了一起

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title></title>
 <script src="js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
 <style>
 body{
 background-color: #EEEEEE;
 margin: 0px;
 padding: 0px;
 }
 table{
 border-collapse: collapse;
 table-layout: fixed;
 }
 table,td,th{
 border: 1px solid #888;
 text-align: center;
 }
 .main{
 width: 600px;
 height: 300px;
 background-color: #FFFFFF;
 padding: 10px;
 margin: 10px auto;
 position: relative;
 }
 .main .content{
  width: 300px; 
 }
 .empty{
 text-align: center;
 padding: 4px;
 display: block;
 border: 0px solid #888;
 border-width: 0px 1px 1px 1px;
 }
 
 .main .id{ width: 100px;}
 .main .name{width: 100px;}
 .main .adress{width: 100px;}
 </style>
 </head>
 
 <body>
 <div class="main">
 <button onclick="query()">查詢</button>
 <div class="content">
 <table>
 <thead>
 <tr>
  <th class="id">學(xué)號(hào)</th>
  <th class="name">姓名</th>
  <th class="adress">住址</th>
 </tr>
 </thead>
 <tbody>
 
 </tbody>
 </table>
 <div class="empty">
 現(xiàn)在沒(méi)有數(shù)據(jù)
 </div>
 </div>
 </div>
 </body>
 <script>
 //查詢
 function query()
 {
 $.ajax({
 type:"GET";
 url:"QueryAll";
 dataType:"json";
 success:function(resp)
 {
  show(resp);
 } 
 });
 }
 
 //格式化數(shù)據(jù)并顯示
 function show(result)
 {
 var cont = $(".main tbody");
 cont.html(""); //清空
 for(var row of result)
 {
 var str = "<tr>"
  +"<td>"+row.id+"</td>"
  +"<td>"+row.name+"</td>"
  +"<td>"+row.adress+"</td>"
  +"</tr>";
 cont.append(str); 
 } 
 //沒(méi)有數(shù)據(jù)把空的內(nèi)容顯示出來(lái)
 if(result.length>0)
  $(".empty").hide();
  else
  $(".empty").show();
 }
 
 </script>
</html>

最后實(shí)現(xiàn)的內(nèi)容

java實(shí)現(xiàn)后臺(tái)數(shù)據(jù)顯示在前端

當(dāng)點(diǎn)擊這個(gè)查詢的時(shí)候 ,將學(xué)生信息打印出來(lái)

java實(shí)現(xiàn)后臺(tái)數(shù)據(jù)顯示在前端

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站名稱:java實(shí)現(xiàn)后臺(tái)數(shù)據(jù)顯示在前端
本文URL:http://bm7419.com/article20/jdgcjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)、虛擬主機(jī)、品牌網(wǎng)站制作、網(wǎng)站營(yíng)銷靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站