Eclipse 接口開發(二)

Eclipse 接口開發(一)

一、生成一個響應請求的處理類ResponseUtils

package com.json;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

public class ResponseUtils {

    /**
     * 發送文本。使用UTF-8編碼。
     * 
     * @param response
     *            HttpServletResponse
     * @param text
     *            發送的字符串
     */
    public static void renderText(HttpServletResponse response, String text) {
//      render(response, "text/plain;charset=UTF-8", text);
        render(response, "application/json;charset=UTF-8", text);
    }

    public static void renderJson(HttpServletResponse response, String text) {
        // System.out.print(text);
//      render(response,  "text/plain;charset=UTF-8", text);
        render(response, "application/json;charset=UTF-8", text);

    }

    /**
     * 發送內容。使用UTF-8編碼。
     * 
     * @param response
     * @param contentType
     * @param text
     */
    public static void render(HttpServletResponse response, String contentType, String text) {
        response.setContentType(contentType);
        response.setCharacterEncoding("utf-8");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        System.out.println("test-->"+text);
            try {
                response.getWriter().write(text);
                response.getWriter().flush();
            } catch (IOException e) {
                e.printStackTrace();
            }

//      
    }


    /**
     * @Title: outputJson
     * @Description: TODO(頁面異步回調返回Json)
     */
    public static void outputJson(HttpServletResponse response, Object obj) {
        String s = JackJsonUtils.toJson(obj);
//      response.setContentType("text/plain;charset=UTF-8"); 
        response.setContentType("application/json;charset=UTF-8");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        try {
            response.getWriter().write(s);
            response.getWriter().flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

二、開發接口代碼使用的是servlet
1、創建一個繼承HttpServlet的BookServlet,右擊新建–選擇servlet
這裏寫圖片描述

這裏寫圖片描述

package com.service;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.json.JackJsonUtils;
import com.json.ListObject;
import com.json.ResponseUtils;
import com.json.StatusHouse;
import com.model.BookModel;
import com.yuna.BookServiceImplement;


/**
 * Servlet implementation class BookServlet
 */
@WebServlet("/BookServlet")
public class BookServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public BookServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        List<BookModel> list = new BookServiceImplement().getAllBooks();
        System.out.println("list<BookModel> -->" + list);
        ListObject listObject = new ListObject();
        listObject.setItems(list);
        listObject.setStatusObject(StatusHouse.COMMON_STATUS_OK);

        System.out.println("listObject -->" + listObject);

        String responseText = JackJsonUtils.toJson(listObject);

        System.out.println("responseText -->" + responseText);

        ResponseUtils.renderJson(response, responseText);

//      response.getWriter().append("Served at: ").append(request.getContextPath());//加這句話的話 在返回的數據中會有
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

2、接口實現,新建接口BookService

package com.yuna;

import java.util.List;

import com.model.BookModel;

public interface BookService {
    public List<BookModel> getAllBooks();
}

3、實現BookService接口,新建BookServiceImplement類

package com.yuna;

import java.util.List;

import com.database.BookBusiness;
import com.model.BookModel;

public class BookServiceImplement implements BookService {
        @Override
        public List<BookModel> getAllBooks() {

            return BookBusiness.getAllBooks();
        }
}

4、我們在首頁,index.jsp中寫一些數據,來測試

<body>
    <h1>hello world</h1>
    <h2>This is my test page</h2>
    <h3>Welcome to my page!</h3>

</body>

至此相關代碼已寫完,下面來測試下
1、先啓動MySQL數據庫
2、右擊項目—Run as —Run on server,看到我們index.jsp設置的相關信息

這裏寫圖片描述

3、我們調用下我們寫的get請求接口:http://localhost:8080/DynamicWebDemo/BookServlet
會看到查詢的數據信息
這裏寫圖片描述

三、我們在手機上寫一個請求,調用該接口.
這裏寫圖片描述

注意:只能在模擬器上運行,你的接口沒有發佈到外網上去,真機調試不了的

發佈了78 篇原創文章 · 獲贊 11 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章