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

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中的配置:

Web应用中的URL地址:

访问地址: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协议及请求方式简介

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中的配置:

Web应用中的URL地址:

访问地址: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();
}