實現http接口的方式之一(servlet方式)

在平常開發項目中,總會遇到一些開發接口的工作,像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接口代碼如上,實現過程相對比較簡單,主要就是在項目中實現具體的業務。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章