[RESTful] Java Servlet API Server ~3 (JSON format 與 library)
在上一篇文章中, 我們介紹了 Servlet 架構下的編譯環境,
並以範例說明如何產生一個網頁回應.
然而, 對於 RESTful API 而言, 另一個主要的需求即是作為 API 介面,
API 的全稱為: Application Programming Interface,
主要的用途就是提供一個介面, 讓不同應用程式透過網路溝通,
簡單來說, 像是一個服務的窗口, 並定義該窗口對應的功能與服務.
另一方面, JSON 則是一種資料封裝格式,
可以把資料以 key-value 的方式, 組成 JSON 物件, 進行傳送.
為了利用 Servlet 提供 JSON 的解析與回應,
我們需要章中, 我們介紹了 Servlet 架構下的編譯環境,
並以範例說明如何產生一個網頁回應.
然而, 對於 RESTful API 而言, 另一個主要的需求即是作為 API 介面,
API 的全稱為: Application Programming Interface,
主要的用途就是提供一個介面, 讓不同應用程式透過網路溝通,
簡單來說, 像是一個服務的窗口, 並定義該窗口對應的功能與服務.
另一方面, JSON 則是一種資料封裝格式,
可以把資料以 key-value 的方式, 組成 JSON 物件, 進行傳送.
為了利用 Servlet 提供 JSON 的解析與回應,
我們需要 import org.json.*; 做為參考的 library,
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestsServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
/*** 接收json
***/
BufferedReader reader = request.getReader();
String json = reader.readLine();
System.out.println(json);
reader.close();
/*** 返回json
***/
PrintWriter out = response.getWriter();
out.write("{\"name\":\"TEST\"}");
out.close();
}
}
考慮到我們加入了一個新的 library,
因此, 在編譯目錄 (/var/lib/tomcat8/webapps/ROOT/WEB-INF) 下多建一個 lib 的資料夾,
並下載 json-20200518.jar 作為編譯用的 library,
完成後, 以下列指令編譯:
sudo javac -classpath %JAVA_HOME%\lib\j2ee.jar -classpath /usr/share/tomcat8/lib/servlet-api.jar:./lib/* TestsServlet.java
至此, 就可以在 Servlet 中加入不同的 library, 豐富程式的編寫.
留言
張貼留言