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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章