在平常開發項目中,總會遇到一些開發接口的工作,像http接口、webService接口等等,這些在工作中經常遇到。實現一個http接口可以通過servlet的方式,可以使用springmvc的註解去實現http接口服務,今天,主要講一下通過servlet的方式實現http接口服務。
1:在web.xml中添加如下配置:
<servlet>
<servlet-name>DemoServlet</servlet-name>
<servlet-class>util.httpUtil.DemoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DemoServlet</servlet-name>
<url-pattern>/DemoServlet</url-pattern>
</servlet-mapping>
2:具體DemoServlet類的實現如下,重寫doPost或者doGet方法,以下爲重寫doPost方法:
public class DemoServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
BufferedReader bufferedReader;
PrintWriter out;
String respString = "";
String reqString = "";
String inputStr = "";
try {
//1:接受入參,以下接受兩種入參的方式二選一
bufferedReader = request.getReader();
bufferedReader = new BufferedReader( new InputStreamReader(req.getInputStream(), "UTF-8"));
StringBuilder requestStrBuilder = new StringBuilder();
while ((inputStr = bufferedReader.readLine()) != null) {
requestStrBuilder.append(inputStr);
}
reqString = requestStrBuilder.toString();
System.out.println("入參數據爲:"+reqString);
//2:邏輯處理
respString = "200";
//3:返回數據
response.setContentType("text/plain;charset=UTF-8");
out = response.getWriter();
out.write(respString);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
PrintWriter out;
//1:接受入參
String id = request.getParameter("id");
String name = request.getParameter("nme");
System.out.println("入參id:"+id+",name:"+name);
//2:邏輯處理
String returnCode = "200";
//3:返回數據
response.setContentType("text/plain;charset=UTF-8");
out = response.getWriter();
out.write(returnCode);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上爲通過servlet的方式實現,重寫post和get方法,兩個獲取參數的方法不用。get請求是將參數直接拼在鏈接後面,所以不能用get請求能傳遞敏感的信息,安全性不好;post請求參數是隱藏的,用戶不可見,所以post請求是相對比較安全的;get提交的數據大小有限制,post對提交數據大小沒有限制。
servlet方式實現一個http接口代碼如上,實現過程相對比較簡單,主要就是在項目中實現具體的業務。