http get post_HTTP的get和post接口开发

1. 理论简介

1.1. 概要

车险行业平台以及一些政府的项目接口大多使用HTTP的get和post请求方式进行接口的实时交互,为了方便后期的书写方便,文章简要介绍HTTP的get和post接口的开发流程。

1.2. HTTP协议及请求方式简介

26df8cfa9c196c2a8cf4479a0d2a0169.png

HTTP协议.xmind

1.3. 开发实践

1.3.1. 在web.xml中配置servlet标签

web.xml配置:

<servlet>

<description>接口名</description>

<display-name>接口名</display-name>

<servlet-name>servlet名</servlet-name>

<servlet-class>servlet全路径</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>servlet名</servlet-name>

<url-pattern>/services/servlet名</url-pattern>

</servlet-mapping>

访问地址:http://IP:端口号/Web应用的URL入口/services/servlet名

例如:

Web.xml中的配置:

81f71bb620d338e59ba0fa98934e3a79.png

Web应用中的URL地址:

1175e45cbc8de39521f01914265d646b.png

访问地址:http://127.0.0.1:8080/channel/services/testServlet

1.3.2. Servlet的创建

创建servlet,继承HttpServlet,重写无参构造方法、doGet和doPost方法、destroy和init方法。

例如:

import java.io.IOException;

import java.io.InputStream;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.IOUtils;

/**

* @Description servlet接口

*/

public class TestServlet extends HttpServlet{

/**

* Constructor of the object.

*/

public TestServlet() {

super();

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {

ServletOutputStream servletout = response.getOutputStream();

InputStream servletin = request.getInputStream();

try{

DaoFactoryMod.bindSession();

DaoFactoryMod.beginTransaction();

// 解析报文,业务处理,返回报文

}catch(Exception ex){

DaoFactoryMod.rollbackTransaction();// 事务回滚

ex.printStackTrace();

}finally{

byte buf[] = result.getBytes("UTF-8");

servletout.write(buf);

servletout.flush();

servletout.close();

// 解除当前线程的session绑定,并关闭session

DaoFactoryMod.unbindSession();

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doGet(request, response);

}

public void init() throws ServletException {

}

public void destroy() {

super.destroy();

}

2. HTTP的get和post接口开发

2.1. 理论简介

2.1.1. 概要

车险行业平台以及一些政府的项目接口大多使用HTTP的get和post请求方式进行接口的实时交互,为了方便后期的书写方便,文章简要介绍HTTP的get和post接口的开发流程。

2.1.2. HTTP协议及请求方式简介

9314bb05a1790bedc115af93f07e64b2.png

2.2. 开发实践

2.2.1. 在web.xml中配置servlet标签

web.xml配置:

<servlet>

<description>接口名</description>

<display-name>接口名</display-name>

<servlet-name>servlet名</servlet-name>

<servlet-class>servlet全路径</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>servlet名</servlet-name>

<url-pattern>/services/servlet名</url-pattern>

</servlet-mapping>

访问地址:http://IP:端口号/Web应用的URL入口/services/servlet名

例如:

Web.xml中的配置:

9314bb05a1790bedc115af93f07e64b2.png

Web应用中的URL地址:

9314bb05a1790bedc115af93f07e64b2.png

访问地址:http://127.0.0.1:8080/channel/services/testServlet

2.2.2. Servlet的创建

创建servlet,继承HttpServlet,重写无参构造方法、doGet和doPost方法、destroy和init方法。

例如:

import java.io.IOException;

import java.io.InputStream;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.IOUtils;

/**

* @Description servlet接口

*/

public class TestServlet extends HttpServlet{

/**

* Constructor of the object.

*/

public TestServlet() {

super();

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {

ServletOutputStream servletout = response.getOutputStream();

InputStream servletin = request.getInputStream();

try{

DaoFactoryMod.bindSession();

DaoFactoryMod.beginTransaction();

// 解析报文,业务处理,返回报文

}catch(Exception ex){

DaoFactoryMod.rollbackTransaction();// 事务回滚

ex.printStackTrace();

}finally{

byte buf[] = result.getBytes("UTF-8");

servletout.write(buf);

servletout.flush();

servletout.close();

// 解除当前线程的session绑定,并关闭session

DaoFactoryMod.unbindSession();

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doGet(request, response);

}

public void init() throws ServletException {

}

public void destroy() {

super.destroy();

}