通常情况下,我们和第三方对接数据的时候,需要提供http接口,常用的就是http的get或者post方法, 但是有的时候,需要我们这边主动调用第三方的接口。
这个时候,我们写好代码后,需要测试,怎么测试呢,最简单的方式就是写一个web项目,只需要创建一个servlet,并在doGet或者doPost方法中
写入自己的逻辑即可。
废话不多说,代码先上。
web.xml中的配置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>test</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-class>test.HttpDemo</servlet-class>
<servlet-name>test</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
Java的代码如下
package test;
import java.io.IOException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HttpDemo extends HttpServlet {
/** * 序列化ID */
private static final long serialVersionUID = -1856007750338670441L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Map<String, Object> map = req.getParameterMap();
System.out.println(map.get("data").toString());
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Map<String, Object> map = req.getParameterMap();
System.out.println(map.keySet());
System.out.println(map.values());
super.doPost(req, resp);
}
}
以上程序,就可以接收来自 http://ip:port/test/test的get或者post方法的请求。