Google Prettify

2019-03-24

如何使用 Struts 1.3如何接收json資料

Struts是一個很舊的framework。不過在一些系統中,總會看到一些殘留的痕跡,硬是還在用這種framework。而新的技術仍在發展。一個例子就是web service。而當web service遇到Struts 1.3時,就很尷尬了。

目前的solution就是…自己parse。在這樣的solution下,基本上,不論那一個framework都可以使用這樣的解法。好吧,這完全跟struts沒有任何關係。這完全是標題殺手。換另一種標題就是:如何使用servlet解析json資料。不過以下要展示的重點,也不在json解析上,而是在如何處理httpRequest傳來的資料。注意,是資料,不是參數。也就是說,當web service即使以xml來傳遞資訊時,稍稍變化也依然可以應用。正確的標題應該是:如何使用servlet接收message body資料。至於什麼是message body,請參閱HTTP規格書

以下是解析message body(外加轉為json)的範例程式碼:

public ActionForward applyResult(ActionMapping mapping,
 ActionForm form, HttpServletRequest req, HttpServletResponse res) {
        try {
            StringBuffer sb = new StringBuffer();
            String line = null;
            BufferedReader reader = req.getReader();
            while ((line = reader.readLine()) != null) {
                sb.append(line);
            }
            String sbStr = sb.toString();
            logger.debug("JSONStr:" + sbStr);
            JSONObject jsonObject = JSONObject.fromObject(sbStr);
            YOURBEAN resp = (YOURBEAN) JSONObject.toBean(jsonObject, YOURBEAN.class);
            logger.debug("JsonBean:"+resp);
            return mapping.findForward("result");
        } catch (Exception ex) {
    }

參考: java - HttpServletRequest get JSON POST data - Stack Overflow

沒有留言 :

您或許對這些有興趣

Related Posts with Thumbnails

最後

謝謝您的閱讀,希望您可以有豐富的收獲。