Eclipse 接口开发(二)

来源:互联网 发布:装修立体效果图软件 编辑:程序博客网 时间:2024/06/05 10:55

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
会看到查询的数据信息
这里写图片描述

三、我们在手机上写一个请求,调用该接口.
这里写图片描述

注意:只能在模拟器上运行,你的接口没有发布到外网上去,真机调试不了的