使用servlet的方式作为接口服务端,以报文的格式传递数据
【1】首先写一个servlet
package ***;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
public class InvoiceProgressServer extends HttpServlet {
@Autowired(required=false)
@Qualifier("queryProgressServiceImpl")
private QueryProgressService queryProgressService;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置响应编码
response.setCharacterEncoding("GBK");
PrintWriter pw = null;
ServletInputStream is = null;
String requestXmlStr = "";
try {
pw = response.getWriter();
is = request.getInputStream();
requestXmlStr = IOUtils.toString(is, "UTF-8");
queryProgressService = (QueryProgressService) SpringContextHolder.getBean("queryProgressServiceImpl");
Map params = queryProgressService.valiXmlStr(requestXmlStr);
String responseXmlStr = new String(params.get("backXml").toString().getBytes("GBK"), "GBK");
pw.write(responseXmlStr);
} catch (Exception e) {
e.printStackTrace();
}finally{
if(pw != null){
pw.close();
}
if(is != null){
is.close();
}
}
}
}
在web.xml里面进行配置:
<servlet>
<servlet-name>invoiceProgressServer</servlet-name>
<servlet-class>com.tt.InvoiceProgressServer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>invoiceProgressServer</servlet-name>
<url-pattern>/invoiceProgressServer</url-pattern>
</servlet-mapping>
【2】接下来写service,主要对于接受的报文数据进行校验,并调用dao然后进行数据查询。
package *;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.select.Evaluator.IsEmpty;
import org.springframework.beans.factory.annotation.Autowired;
import or